Lowlevel
Lowlevel => Softwareentwicklung => Thema gestartet von: OsDevNewbie am 19. June 2012, 23:04
-
Hallo,
bei meinem Kernel gibt es einen Triple Fault, obwohl ich die Interrupts per cli ausgeschaltet habe :?. Ist das überhaupt möglich oder wurden die Interrupts doch nicht ausgeschaltet?
-
Exceptions sind zwar Interrupts, aber nicht per CLI abschaltbar, d.h. wenn du einen #GP oder ein #PF oder auch eine Division durch Null produzierst, wird die Exception trotzdem ausgelöst (die CPU muss ja irgendwas tun).
Wenn dann der Interrupt-Handler nicht aufgerufen werden kann, gibt es einen Double Fault und anschließend einen Triple Fault = Reset.
Gruß,
Svenska
-
Um das zu präzisieren: cli schaltet nur die IRQs, also (maskierbare) Hardware-Interrupts, ab. Exceptions gehen genauso wie die int-Instruktion oder ähnliches auch danach noch.
-
Danke für eure Hilfe. :lol: