Hallo,
ich habe nun die IDT geladen. Sie enthält die Infos zu 15 Interrupts und einem IRQ (IRQ1).
Auf einem Intel Pentium Rechner klappt alles, solange ich keine Taste drücke (also, solange kein IRQ1 auftritt). Wenn der eintritt, wird plötzlich bevor noch der IRQ1 abgearbeitet wird, Interrupt 8 ausgelöst. Also die Exception für Double Fault (was auch immer das ist).
Wenn ich das ganze auf einem AMD Rechner laufen lasse, wird schon beim Aktivieren der Interrupts die Exception 13 ausgelöst. (General Protection Exception(Triple Fault)) Woher das kommt, kann ich mir nicht erklären. Ich habe nur 2 Segmente (Ring00) in der GDT. Und die Ints in der IDT sind auch alle Privelegelevel 0.
Das kann ich mir einfach nicht erklären. An der IDT kanns eigentlich nicht liegen, da die Exceptionhandler ja auch gelesen werden können.
Gruß Cheebi