git: f952f27731ee - stable/13 - Increase IOAPIC_MAX_ID to 255 (from 254)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 May 2024 15:41:29 UTC
The branch stable/13 has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=f952f27731eea10bfa621bf8d19a1264a3244203
commit f952f27731eea10bfa621bf8d19a1264a3244203
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2024-05-10 17:40:59 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2024-05-27 15:25:28 +0000
Increase IOAPIC_MAX_ID to 255 (from 254)
A test system provided by AMD panicked with "madt_parse_apics:
I/O APIC ID 255 too high". I/O APIC ID 255 is acceptable, so increase
the limit.
Reviewed by: jhb, kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45157
(cherry picked from commit 4e3286818327453efd8e4c133928ba26a169567a)
(cherry picked from commit 18119e711f1c844bd6eacf5afc8d4cdec3ac8085)
---
sys/x86/include/apicvar.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sys/x86/include/apicvar.h b/sys/x86/include/apicvar.h
index 0165d432be80..4d1bd4cc9cb0 100644
--- a/sys/x86/include/apicvar.h
+++ b/sys/x86/include/apicvar.h
@@ -78,7 +78,12 @@
#define MAX_APIC_ID 0x800
#define APIC_ID_ALL 0xffffffff
-#define IOAPIC_MAX_ID xAPIC_MAX_APIC_ID
+/*
+ * The 0xff ID is used for broadcast IPIs for local APICs when not using
+ * x2APIC. IPIs are not sent to I/O APICs so it's acceptable for an I/O APIC
+ * to use that ID.
+ */
+#define IOAPIC_MAX_ID 0xff
/* I/O Interrupts are used for external devices such as ISA, PCI, etc. */
#define APIC_IO_INTS (IDT_IO_INTS + 16)