From 83ead086a18e27d392094cdccc19412000cb0630 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Thu, 18 Jul 2019 10:54:46 +0200 Subject: [PATCH] acpica: enable interpreter-slack mode This mode is used on Linux (if acpi=strict is not set on boot cmdline) and Windows. The mode ignores certain errors and/or bad AML constructs. 1) Allow "implicit return" of last value in a control method 2) Allow access beyond the end of an operation region 3) Allow access to uninitialized locals/args (auto-init to integer 0) 4) Allow ANY object type to be a source operand for the Store() operator 5) Allow unresolved references (invalid target name) in package objects 6) Enable warning messages for behavior that is not ACPI spec compliant --- repos/libports/ports/acpica.hash | 2 +- repos/libports/src/lib/acpica/acpica.patch | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/repos/libports/ports/acpica.hash b/repos/libports/ports/acpica.hash index e2a72369e..5d5fc35d5 100644 --- a/repos/libports/ports/acpica.hash +++ b/repos/libports/ports/acpica.hash @@ -1 +1 @@ -eeabeb0dc87258ecfc57e24d54b036c84b5fcf26 +5c1c548586f9a754f192a04b7931acabeb4c7239 diff --git a/repos/libports/src/lib/acpica/acpica.patch b/repos/libports/src/lib/acpica/acpica.patch index f0c8564d3..5de2eb995 100644 --- a/repos/libports/src/lib/acpica/acpica.patch +++ b/repos/libports/src/lib/acpica/acpica.patch @@ -58,6 +58,19 @@ index cec39cb..2a8e3a6 100644 /* * Make sure that a handler exists. If not, report an error +diff --git src/lib/acpica/source/include/acpixf.h src/lib/acpica/source/include/acpixf.h +index 3a823a3..abc2900 100644 +--- src/lib/acpica/source/include/acpixf.h ++++ src/lib/acpica/source/include/acpixf.h +@@ -137,7 +137,7 @@ + * 5) Allow unresolved references (invalid target name) in package objects + * 6) Enable warning messages for behavior that is not ACPI spec compliant + */ +-ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, FALSE); ++ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, TRUE); + + /* + * Automatically serialize all methods that create named objects? Default diff --git src/lib/acpica/source/include/platform/acenv.h src/lib/acpica/source/include/platform/acenv.h index 1ab311d..514b144 100644 --- src/lib/acpica/source/include/platform/acenv.h