Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: rizor am 23. October 2011, 14:45

Titel: Call auf 0x500 erzeugt GPF
Beitrag von: rizor am 23. October 2011, 14:45
Hi zusammen,

ich habe mir gerade mal Code geschrieben, der zurück in den RM springt, dort BIOS-Interrupts verwenden soll und dann zurück in den PM springen muss. Der Code wird ordentlich gebaut und als Flat-Binary gelinkt. Der Linker nutzt 0x500 als Basisadresse.
Wenn ich nun den Code mit .incbin in meinen Kernel einbinde und dann auf 0x500 kopiere, sollte ja alles soweit funktionieren.
Leider gibt es beim Call auf 0x500 einen GPF und der Error-Code ist 0x5b4.

Woran kann das liegen?
Kann es sein, dass was mit der GDT von GRUB nicht passt oder so?

Gruß,
rizor
Titel: Re: Call auf 0x500 erzeugt GPF
Beitrag von: Jidder am 23. October 2011, 15:31
Du solltest bevor du so etwas tust, auf jeden Fall deine eigene GDT laden, und nicht die von GRUB benutzen. Ansonsten ist die Problembeschreibung zu unspezifisch, um da was genaueres sagen zu können.