Index: sys/dev/acpica/acpi.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi.c,v retrieving revision 1.222 diff -u -r1.222 acpi.c --- sys/dev/acpica/acpi.c 20 Apr 2006 04:21:27 -0000 1.222 +++ sys/dev/acpica/acpi.c 2 May 2006 21:58:52 -0000 @@ -293,7 +293,11 @@ * uses UINT8 for some values and we have no tunable_byte. */ AcpiGbl_AllMethodsSerialized = acpi_serialize_methods; - AcpiGbl_EnableInterpreterSlack = TRUE; + error = resource_int_value("acpi", 0, "slack_mode", &val); + if (error != 0 || (error == 0 && val != 0)) { + printf("ACPI: Interpreter slack mode is on.\n"); + AcpiGbl_EnableInterpreterSlack = TRUE; + } /* Start up the ACPI CA subsystem. */ if (ACPI_FAILURE(error = AcpiInitializeSubsystem())) { Index: usr.sbin/acpi/acpidb/acpidb.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/acpi/acpidb/acpidb.c,v retrieving revision 1.5 diff -u -r1.5 acpidb.c --- usr.sbin/acpi/acpidb/acpidb.c 1 Nov 2005 22:44:08 -0000 1.5 +++ usr.sbin/acpi/acpidb/acpidb.c 2 May 2006 22:10:39 -0000 @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -475,7 +476,8 @@ int main(int argc, char *argv[]) { - char *progname; + char *progname, val[8]; + int len; progname = argv[0]; @@ -489,7 +491,10 @@ * Match kernel options for the interpreter. Global variable names * can be found in acglobal.h. */ - AcpiGbl_EnableInterpreterSlack = TRUE; + val[7] = '\0'; + len = kenv(KENV_GET, "hint.acpi.0.slack_mode", val, 7); + if (len <= 0 || (len > 0 && strtol(val, NULL, 0) != 0)) + AcpiGbl_EnableInterpreterSlack = TRUE; aml_simulation_regload("region.ini"); if (load_dsdt(argv[1]) == 0) {