freebsd-skq/sys/x86/acpica
Konstantin Belousov 36596c2a29 Detect x2APIC mode on boot and obey it.
If BIOS performed hand-off to OS with BSP LAPIC in the x2APIC mode,
system usually consumes such configuration without a notice, since
x2APIC is turned on by OS if possible (nop).  But if BIOS
simultaneously requested OS to not use x2APIC, code assumption that
that xAPIC is active breaks.

In my opinion, we cannot safely turn off x2APIC if control is passed
in this mode.  Make madt.c ignore user or BIOS requests to turn x2APIC
off, and do not check the x2APIC black list.  Just trust the config
and try to continue, giving a warning in dmesg.

Reported and tested by:	Slawa Olhovchenkov <slw@zxy.spb.ru> (previous version)
Diagnosed by and discussed with:	avg
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2016-09-19 15:58:45 +00:00
..
acpi_apm.c
acpi_wakeup.c Allow ACPI wakeup code and page tables to be stored in non-contiguous pages. 2016-07-14 00:38:04 +00:00
madt.c Detect x2APIC mode on boot and obey it. 2016-09-19 15:58:45 +00:00
OsdEnvironment.c Revert bus_get_cpus() for now. 2016-05-03 01:17:40 +00:00
srat.c Work around (ignore) broken SRAT tables 2016-05-03 20:14:04 +00:00