git: 147c7e4dde23 - releng/14.1 - Increase IOAPIC_MAX_ID to 255 (from 254)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 16 May 2024 12:23:21 UTC
The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=147c7e4dde23b3b787b4fb8b754f043f64ab7adb commit 147c7e4dde23b3b787b4fb8b754f043f64ab7adb Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2024-05-10 17:40:59 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2024-05-16 12:23:05 +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) Approved by: re (cperciva) --- 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 10016e291b9b..ac6a82659e34 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)