Hallo,
ich wollte jetzt endlich mal die Tasks, die nicht dem Kernel angehören, in den Ring 3 verschieben. Das hat so auch funktioniert, allerdings kann ich jetzt keine Interrupts mehr aufrufen. Sobald ich in dem entsprechenden Task versuche, ein int x auszuführen, stürzt das ganze System ab - QEMU schaltet sich einfach ab bzw. bootet neu. Das passiert auch beim Timer-Interrupt, den ich gar nicht selbst aufrufe. In meiner IDT sind bei allen Interrupts, die ich aufrufen will, Aufrufe aus Ring 3 erlaubt (die Flags stehen auf 0xEE). Ich habe mittlerweile auch herausgefunden, dass der Interrupthandler überhaupt nicht aufgerufen wird - nicht mal ein General Protection Fault. Ansonsten entspricht der Code, zumindest der fürs Multitasking, größtenteils dem im Tutorial.
Irgendwelche Ideen?
ich wollte jetzt endlich mal die Tasks, die nicht dem Kernel angehören, in den Ring 3 verschieben. Das hat so auch funktioniert, allerdings kann ich jetzt keine Interrupts mehr aufrufen. Sobald ich in dem entsprechenden Task versuche, ein int x auszuführen, stürzt das ganze System ab - QEMU schaltet sich einfach ab bzw. bootet neu. Das passiert auch beim Timer-Interrupt, den ich gar nicht selbst aufrufe. In meiner IDT sind bei allen Interrupts, die ich aufrufen will, Aufrufe aus Ring 3 erlaubt (die Flags stehen auf 0xEE). Ich habe mittlerweile auch herausgefunden, dass der Interrupthandler überhaupt nicht aufgerufen wird - nicht mal ein General Protection Fault. Ansonsten entspricht der Code, zumindest der fürs Multitasking, größtenteils dem im Tutorial.
Irgendwelche Ideen?

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
