This was overlooked for APIC. It fixes a bug where the handler addresses were being loaded as garbage values into the IDT, therefore, when BSP sends a CALL_PMAP_UPDATE_IPI to an AP, the AP jumps to a garbage address, eg 0x4000000036.
Reported by Brent Baccala --- x86_64/locore.S | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/x86_64/locore.S b/x86_64/locore.S index e44f0087..28e7d21c 100644 --- a/x86_64/locore.S +++ b/x86_64/locore.S @@ -847,6 +847,49 @@ INTERRUPT(20) INTERRUPT(21) INTERRUPT(22) INTERRUPT(23) +/* Possibly 8 more GSIs */ +INTERRUPT(24) +INTERRUPT(25) +INTERRUPT(26) +INTERRUPT(27) +INTERRUPT(28) +INTERRUPT(29) +INTERRUPT(30) +INTERRUPT(31) +/* ... APIC IOAPIC #2 */ +INTERRUPT(32) +INTERRUPT(33) +INTERRUPT(34) +INTERRUPT(35) +INTERRUPT(36) +INTERRUPT(37) +INTERRUPT(38) +INTERRUPT(39) +INTERRUPT(40) +INTERRUPT(41) +INTERRUPT(42) +INTERRUPT(43) +INTERRUPT(44) +INTERRUPT(45) +INTERRUPT(46) +INTERRUPT(47) +INTERRUPT(48) +INTERRUPT(49) +INTERRUPT(50) +INTERRUPT(51) +INTERRUPT(52) +INTERRUPT(53) +INTERRUPT(54) +INTERRUPT(55) +/* Possibly 8 more GSIs */ +INTERRUPT(56) +INTERRUPT(57) +INTERRUPT(58) +INTERRUPT(59) +INTERRUPT(60) +INTERRUPT(61) +INTERRUPT(62) +INTERRUPT(63) #endif #if NCPUS > 1 INTERRUPT(CALL_AST_CHECK) -- 2.51.0
