Chris Emerson <[EMAIL PROTECTED]> wrote:

> I've just tested it with Linux 2.0.36, gcc 2.7.2.3, GNU ld 2.9.1, the
> stock Debian 2.0 stuff, so nothing out of the ordinary except for
> running under VMWare.  Works fine.

Hmmm.  I'm *really* wondering what exactly happens when you reload
the PDBR in Linux running under VMWare :-/

> 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 :-/

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 :-/

Bye,
Ulrich

Reply via email to