3 ms·
As others have already noted: yes, software could disable interrupts temporarily while changing the stack segment and pointer, but on these processors, there's
by cesarb 4y ago
As others have already noted: yes, software could disable interrupts temporarily while changing the stack segment and pointer, but on these processors, there's a second kind of interrupt ("non-maskable interrupt" aka NMI) which cannot be disabled.
(Some machines using these processors have hardware to externally gate the NMI input to the processor, but disabling the NMI through these methods defeats the whole purpose of the NMI, which is being able to interrupt the processor even when it has disabled interrupts.)
- munch117 4y agoI saw those other 8087+NMI comments, but the 8087 is from 1980, and I thought this fix was older than that.
- anyfoo 4y agoThe 8087 just happened to be one particular source of NMIs because IBM decided to connect it to the 8086’s NMI line. NMIs can be used for many things. Without this fix, they’re breaking stuff, at least without another hideous hardware workaround.