Complete commit message for r235024:

Use MADT to match ACPI Processor objects to CPUs.  MADT and DSDT/SSDTs may
list CPUs in different orders, especially for disabled logical cores.  Now
we match ACPI IDs from the MADT with Processor objects, strictly order CPUs
accordingly, and ignore disabled cores.  This prevents us from executing
methods for other CPUs, e. g., _PSS for disabled logical core, which may not
exist.  Unfortunately, it is known that there are a few systems with buggy
BIOSes that do not have unique ACPI IDs for MADT and Processor objects.  To
work around these problems, 'debug.acpi.cpu_unordered' tunable is added.
Set this to a non-zero value to restore the old behavior.
Many thanks to jhb for pointing me to the right direction and the manual
page change.

Reported by:	Harris, James R (james dot r dot harris at intel dot com)
Tested by:	Harris, James R (james dot r dot harris at intel dot com)
Reviewed by:	jhb
MFC after:	1 month
This commit is contained in:
Jung-uk Kim 2012-05-04 18:54:51 +00:00
parent e5751426ad
commit 92fa7e24cb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=235029
2 changed files with 2 additions and 2 deletions

View File

@ -199,7 +199,7 @@ Enables loading of a custom ACPI DSDT.
.It Va acpi_dsdt_name
Name of the DSDT table to load, if loading is enabled.
.It Va debug.acpi.cpu_unordered
Do not use the MADT to match ACPI processor objects to CPUs.
Do not use the MADT to match ACPI Processor objects to CPUs.
This is needed on a few systems with a buggy BIOS that does not use
consistent processor IDs.
Default is 0 (disabled).

View File

@ -294,7 +294,7 @@ static int acpi_cpu_unordered;
TUNABLE_INT("debug.acpi.cpu_unordered", &acpi_cpu_unordered);
SYSCTL_INT(_debug_acpi, OID_AUTO, cpu_unordered, CTLFLAG_RDTUN,
&acpi_cpu_unordered, 0,
"Do not use the MADT to match ACPI processor objects to CPUs.");
"Do not use the MADT to match ACPI Processor objects to CPUs.");
/* Allow users to override quirks. */
TUNABLE_INT("debug.acpi.quirks", &acpi_quirks);