svn commit: r299004 - head/sys/x86/acpica
Eric van Gyzen
vangyzen at FreeBSD.org
Tue May 3 20:14:06 UTC 2016
Author: vangyzen
Date: Tue May 3 20:14:04 2016
New Revision: 299004
URL: https://svnweb.freebsd.org/changeset/base/299004
Log:
Work around (ignore) broken SRAT tables
Instead of panicking when parsing an invalid ACPI SRAT table,
just ignore it, effectively disabling NUMA.
https://lists.freebsd.org/pipermail/freebsd-current/2016-May/060984.html
Reported and tested by: Bill O'Hanlon (bill.ohanlon at gmail.com)
Reviewed by: jhb
MFC after: 1 week
Relnotes: If dmesg shows "SRAT: Duplicate local APIC ID",
try updating your BIOS to fix NUMA support.
Sponsored by: Dell Inc.
Modified:
head/sys/x86/acpica/srat.c
Modified: head/sys/x86/acpica/srat.c
==============================================================================
--- head/sys/x86/acpica/srat.c Tue May 3 20:08:05 2016 (r299003)
+++ head/sys/x86/acpica/srat.c Tue May 3 20:14:04 2016 (r299004)
@@ -201,8 +201,12 @@ srat_parse_entry(ACPI_SUBTABLE_HEADER *e
"enabled" : "disabled");
if (!(cpu->Flags & ACPI_SRAT_CPU_ENABLED))
break;
- KASSERT(!cpus[cpu->ApicId].enabled,
- ("Duplicate local APIC ID %u", cpu->ApicId));
+ if (cpus[cpu->ApicId].enabled) {
+ printf("SRAT: Duplicate local APIC ID %u\n",
+ cpu->ApicId);
+ *(int *)arg = ENXIO;
+ break;
+ }
cpus[cpu->ApicId].domain = domain;
cpus[cpu->ApicId].enabled = 1;
break;
More information about the svn-src-head
mailing list