Autor Thema: Triple Fault obwohl Interrupts auschgeschaltet  (Gelesen 4277 mal)

OsDevNewbie

  • Beiträge: 282
    • Profil anzeigen
    • YourOS Kernel
Gespeichert
« 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?
Viele Grüsse
OsDevNewbie

Ein Computer ohne Betriebsystem ist nicht mehr wert als ein Haufen Schrott.
Ein Computer ist eine Maschine, die einem Lebewesen das kostbarste klaut, was sie selber nicht hat:
DIE ZEIT DES LEBENS

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #1 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

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #2 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.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

OsDevNewbie

  • Beiträge: 282
    • Profil anzeigen
    • YourOS Kernel
Gespeichert
« Antwort #3 am: 24. June 2012, 22:36 »
Danke für eure Hilfe. :lol:
Viele Grüsse
OsDevNewbie

Ein Computer ohne Betriebsystem ist nicht mehr wert als ein Haufen Schrott.
Ein Computer ist eine Maschine, die einem Lebewesen das kostbarste klaut, was sie selber nicht hat:
DIE ZEIT DES LEBENS

 

Einloggen