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.
it boots uo in pmode and calls gpf when i try to use the bios to load my kernel.
i know why it calls the fault; the idt does not exist yet. But why does it boot up in pmode. i've tried rebooting my computer and reinstalling the software but to no avail.
How do you know that it "boots up in pmode"? And if you dont have an IDT installed yet, how do you know that interrupt 0x0d is being triggered?
When you say that it "started" to act oddly, it sounds like it was working fine until recently. Did you change something? Like upgrade the bios, bochs version, change your bootloader, anything like that?
Also, upload a copy of your bochsout.txt, that may have some clues in it.
ed_tait wrote:i know why it calls the fault; the idt does not exist yet. But why does it boot up in pmode. i've tried rebooting my computer and reinstalling the software but to no avail.
Are you sure it boots up in protected mode? It should start with CS_base = 0xFFFFF0000, which does look strange (but is technically correct).
Can you start it with the debugger and see what everything looks like before it executes any instructions? For e.g. check that the BIOS is where it's meant to be (just below 4 GB and just below 1 MB) and if it really does start in protected mode (or if something after the first instruction enables protected mode).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
it's odd, EIP was set to 0x7C02, the int 13h instruction to calibrate the disk and the first bit in cr0 was set but the case of my woes was posibly the oldest in the book...
... I wasn't reading all the sectors my kernel occupied from the floppy disk. :-[