Closed stsp closed 1 year ago
Bisect: 785ee04d
@ecm-pushbx This is caused by your ISR detection trick. I think prehistoric chains to the previous IRQ5 handler after doing EOI. :( Can you work out the solution?
And in fact this is a very reasonable thing to do, because bios is not supposed to know that IRQ5 is from SB16. So bios only does IRET. As such, chaining to prev irq5 handler after doing EOI, is not a bug! Which means, we added a bug. Such detection can not be used.
In dosemu2 we do this:
case 8 ... 0x0f:
SETIVEC(i, BIOSSEG, EOI_OFF);
break;
I don't think this is correct. We only need to set some ints to EOI_OFF, namely those for which we have the handlers. Which would then be 8, 9, 11, 12, 14, 15.
OK, so I removed SS handler and changed GPF handler to only use IMR.
Just exits after the initial intro. It used to work in the past.