1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00

Add tunables for disabling serialized method execution and disabling the

new _OSI method.  These can be used if these new features end up causing
regression for users.
This commit is contained in:
Nate Lawson 2004-03-18 18:42:22 +00:00
parent 6ac6f11643
commit 413081d79d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=127184

View File

@ -185,6 +185,18 @@ static char acpi_ca_version[12];
SYSCTL_STRING(_debug_acpi, OID_AUTO, acpi_ca_version, CTLFLAG_RD,
acpi_ca_version, 0, "Version of Intel ACPI-CA");
/*
* Allow override of whether methods execute in parallel or not.
* Default to serial behavior as this fixes some AE_ALREADY_EXISTS errors
* and matches the MS interpreter.
*/
static int acpi_serialize_methods = 1;
TUNABLE_INT("hw.acpi.serialize_methods", &acpi_serialize_methods);
/* Allow override of whether to support the _OSI method. */
static int acpi_osi_method;
TUNABLE_INT("hw.acpi.osi_method", &acpi_osi_method);
/*
* ACPI can only be loaded as a module by the loader; activating it after
* system bootstrap time is not useful, and can be fatal to the system.
@ -233,6 +245,13 @@ acpi_Startup(void)
mtx_init(&acpi_mutex, "ACPI global lock", NULL, MTX_DEF);
#endif
/*
* Set the globals from our tunables. This is needed because ACPI-CA
* uses UINT8 for some values and we have no tunable_uint8.
*/
AcpiGbl_AllMethodsSerialized = acpi_serialize_methods;
AcpiGbl_CreateOsiMethod = acpi_osi_method;
/* Start up the ACPI CA subsystem. */
#ifdef ACPI_DEBUGGER
debugpoint = getenv("debug.acpi.debugger");