First post, by vladstamate
- Rank
- Oldbie
So I have this situation in Protected Mode (286) when SS=0 and the BIOS executes "PUSH 8". The descriptor in GDT at entry 0 is all 0s so I am generating a Stack-Segment Fault (or a GPF but I think the stack segment fault is more correct).
However when I deal with the fault I also try to push on the stack the error code (and the return address) and that also faults because well, the SS is still 0.
Now what do I do, is that a double fault or yet another Stack-segment fault?
Even in the case of double fault, I will still need to push something on the stack (0) so that will also fault. So now I am tripple faulting.
I have a good GDT and IDT setup. Yet it seems a tripple fault can happen simply because SS is pointing to a bad descriptor. Does that make sense?
YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/