On Thu, 9 Nov 2000, James Mastros wrote:
> > This is a known bug in the mode transition code. It is being worked on.
> Oh, good, it isn't just me. By mode transition, do you mean
> real->protected? Or RAM-to-ROM, or somthing else? Is there anything I can
> do to help narrow the options for where the error is?
It's the real<-->protected transition. The bug is reproducible, so I
don't think there's much you can do :)
> > Not sure about the wbinvd...
> Ahh, Ralph Brown's Interrupt List [1] says this:
> Notes: This instruction not work in Real Mode and in
> Protected mode work only in ring 0 ;
>
> This means that it'd have to be emulated, yes? If so, I think it just isn't
> supported yet. Which begs the question of why it's on that bootdisk in the
> first place. I'm going to play with booting linux a bit more... after I get
> some sleep.
Linux used to work... perhaps you have a weird compiled kernel?
Try to recompile the kernel and set it to 586 (or if you want to be
completely sure, 386).
> Hmm, I just checked somthing out. The only refs to wbinvd in arch/i386/boot
> are for some K6es and MTRR, neither of which applies... Ah, of course! The
> emulator is probably returning some values for the host (which is an Athlon
> 750), instead of the emulated CPU... My machine can wbinvd to high heaven,
> but the plex86 box shouldn't try to.
You probably compiled the kernel for 686, which would enable such
settings. Linux doesn't enable/disable such things at runtime.
Plex86's CPUID returns a stripped pentium!!
-- Ramon