Turns out the weird problems with the bootcode were caused by my overwriting the GDT. I was under the mistaken impression that once LGDT was executed, the contents were cached in the processor and the space could be reused. Wrong.

Still having problems with it, because that meant I had to make room for all those variables I was attempting to store in the GDT. That meant a major overhaul of the code, so I'm chasing down bugs again.

Back to blog or home page

last updated 2011-12-14 16:22:08. served from tektonic.jcomeau.com