Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
I've picked up the OS kernel again and I've gotten to the point that the kernel is being loaded. The first thing I do though - "int 0x30" - triple faults it immediately. Thing is, I have no idea why.
I've disabled the TSS and set the IST selector to 0, double-checked all fields and I think it is correctly formatted. IDTR has valid and sensible contents... The actual contents:
Since you seem to be using Bochs, do you happen to have the actual crashlog?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
No, but I do now have the bug. The CS descriptor referenced wasn't properly marked as being long-mode only code (in part because nothing ever uses it - well, this does!). As a reminder for future visitors, L flag must be set and D flag may not be set.
Hmm, not sure if this could help but check this out: http://bochs.sourceforge.net/cgi-bin/lx ... ception.cc -- Line 125. That should probably give the reason why you get that message, and it exits with a #GP as given by the lines: