Spurious interrupts possible when the PIT is disabled?
Posted: Sun Oct 04, 2020 10:40 pm
I ran into an article that claims that "false interrupts" can still happen after masking all PIC interrupts. And that because of that, one still need to remap the PIC interrupts to offset 32 and not use these interrupts for other purposes.
This doesn't seem to make any sense to me. Have anyone heard of this behaviour?
Perhaps they don't mean spurious interrupts but rather that there might be some pending interrupts that will fire once you enable CPU interrupts (STI)?
This doesn't seem to make any sense to me. Have anyone heard of this behaviour?
Reference: https://sudonull.com/post/9813-CPU-core ... eaten-withDisable the 8259 pic correctly. This is almost as important as setting up an APIC. You do this in two steps: masking all interrupts and reassigning the IRQ. Masking all interrupts disables them in the PIC. Trapping interrupts is what you probably already did when you used the PIC: you want interrupt requests to start at 32 instead of 0 to avoid conflicts with exceptions (in protected and long (Long) processor modes, because . The first 32 interrupts are exceptions). Then you should avoid using these interrupt vectors for other purposes. This is necessary because, despite the fact that you masked all PIC interrupts, it could still produce false interrupts, which would then be incorrectly handled as exceptions in your kernel.
Perhaps they don't mean spurious interrupts but rather that there might be some pending interrupts that will fire once you enable CPU interrupts (STI)?