Lowlevel

Lowlevel => Softwareentwicklung => Thema gestartet von: OsDevNewbie am 19. June 2012, 23:04

Titel: Triple Fault obwohl Interrupts auschgeschaltet
Beitrag 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?
Titel: Re: Triple Fault obwohl Interrupts auschgeschaltet
Beitrag von: Svenska am 20. June 2012, 02:10
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
Titel: Re: Triple Fault obwohl Interrupts auschgeschaltet
Beitrag von: kevin am 20. June 2012, 08:59
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.
Titel: Re: Triple Fault obwohl Interrupts auschgeschaltet
Beitrag von: OsDevNewbie am 24. June 2012, 22:36
Danke für eure Hilfe. :lol: