diff options
author | vangyzen <vangyzen@FreeBSD.org> | 2016-05-11 22:06:28 +0000 |
---|---|---|
committer | vangyzen <vangyzen@FreeBSD.org> | 2016-05-11 22:06:28 +0000 |
commit | 4dc4a1749542ffb3325a4c24d3b96ce61d3e1531 (patch) | |
tree | 03ca1be09347357c938c868328888df195f01f2b | |
parent | 51b64e6621e9e8ea3c0d09de623db018537b7cd5 (diff) | |
download | FreeBSD-src-4dc4a1749542ffb3325a4c24d3b96ce61d3e1531.zip FreeBSD-src-4dc4a1749542ffb3325a4c24d3b96ce61d3e1531.tar.gz |
MFC r299004: Work around (ignore) broken SRAT tables
-rw-r--r-- | sys/x86/acpica/srat.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/x86/acpica/srat.c b/sys/x86/acpica/srat.c index 45f1c3d..952dce9 100644 --- a/sys/x86/acpica/srat.c +++ b/sys/x86/acpica/srat.c @@ -108,8 +108,12 @@ srat_parse_entry(ACPI_SUBTABLE_HEADER *entry, void *arg) "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; |