Damien Zammit, le dim. 22 févr. 2026 07:17:54 +0000, a ecrit: > 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.
Thanks, that's why we need to keep both i386 and x86_64 similar, to make sure we don't miss updating one or the other. Samuel > 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 > > > -- Samuel Battery 1: charging, 90%, charging at zero rate - will never fully charge. -+- acpi - et pourtant, ca monte -+-
