Wenn du dir das Log mal anschaust, fällt dir sicherlich auf, dass sich die Blöcke darin immer wiederholen. Ein Block beginnt mit eine oder zwei Zeilen, die ein paar Informationen über den Interrupt liefert, und dann mehrere Zeilen Registerdump. Die ersten beiden Interrupts (SMM: enter und SMM: after RSM) treten in qemu immer auf, und haben nichts mit deinem OS zu tun. Der darauf folgende Interrupt (Zeile 39) ist interessant. In der Zeile steht v=21, was heißt, dass Interrupt 21h (der Keyboard IRQ) ausgelöst wurde. In Zeile 58 wird ein weiterer Interrupt ausgelöst und zwar Exception 13 (v=0d), was der General Protection Fault ist. Der Error Code e=010a besagt, dass es ein Problem mit dem IDT-Eintrag 21h gibt. (Wie man den Error Code interpretiert steht im Intel Manual, 6.13 Error Code). Du solltest also den Code prüfen, der die IDT einrichtet. Dass ein Double Fault und schließlich ein Triple Fault (Reboot) auftritt, lässt darauf schließen, dass alle Einträge in der IDT falsch sind.