Ulrich Weigand wrote:
> > I remember finding all sorts of amusing ways to reboot a PC when
> > working on my OS - my favourite was forgetting to mark the PTEs in
> > which the page fault handler lived as present. :-)
>
> Yup. I managed nearly the same thing; while I took care to create
> a mapping of the code page where the PDBR reloading takes place
> at the same linear address as in the host, I forgot (due to a
> copy-and-paste error :-/) to mark the PDE pointing to the page
> table spanning that range present --> instant triple fault after
> the PDBR reloading instruction ;-) Took me about five reboots to
> find this :-/
Heh. I've rigged up an old 486 next to my dev box to do testing
on, so I don't need to reboot. An added bonus is that I can now
do remote debugging of OS code over a serial line...
Still, it usually takes pretty long to find these little glitches
even without rebooting. I always envy those lucky guys who have
an ICE :)
> Interestingly enough, after a triple fault my computer doesn't
> even boot properly; it starts to boot, but then crashes somewhere
> inside the BIOS ... No idea how that can happen :-/
Do you have an SMP box ? It might be that the APICs are configured
wrong...
Ramon