Invalid Gate Descriptor: Long Mode Code
Posted: Mon Nov 27, 2006 3:55 pm
I haven't solved my problem with the externals quite yet, but I think I've found the problem. I initially discounted these errors, thinking that Bochs was just emulating slightly improperly, but the more I think about it, the more it makes sense that those errors would occur. See, Bochs is reporting this error to me:
So, to my understanding something is wrong with the long mode code section in my GDT. I'm not really sure why this is happening, but I guess something is just a drop off (or maybe a lot off). My whole GDT looks like:
So, does anyone see whats causing the error?
EDIT: Turns out, I found a workaround for the external things, nothing permanent but it'll do for now. But still, is there a reason Bochs is giving me this error (maybe its not actually an error)?
Code: Select all
interrupt(long mode): gate descriptor is not valid sys seg
Code: Select all
GDT:
.GDTNull:
DD 0
DD 0
.GDTData:
DW 0FFFFh
DW 0
DB 0
DB 10010010b
DB 10001111b
DB 0
.GDTCode:
DW 0FFFFh
DW 0
DB 0
DB 10011010b
DB 11001111b
DB 0
.GDTLong:
DW 0FFFFh
DW 0
DB 0
DB 10011010b
DB 10101111b
DB 0
GDTEnd:
EDIT: Turns out, I found a workaround for the external things, nothing permanent but it'll do for now. But still, is there a reason Bochs is giving me this error (maybe its not actually an error)?