Re: nops in virtual pc x86
From: David Sanders
Date: Fri Sep 12 2008 - 19:05:41 EST
On Friday 12 September 2008 18:04, Linus Torvalds wrote:
> On Fri, 12 Sep 2008, David Sanders wrote:
> > Well, I thought we determined that multibyte nops were causing virtual pc
> > to die and removing them made it work fine. Then why do I see this $ cat
> > /proc/cpuinfo | grep nopl
> >
> > flags : fpu vme pse tsc msr pae cx8 sep pge cmov acpi mmx fxsr
> > sse sse2 constant_tsc up nopl lahf_lm
> >
> > It seems the detection code in common.c is saying nops are supported.
> > Huh?
>
> Because the _native_ CPU handles them quite well.
>
> > SO I ran this code:
>
> .. in user space.
>
> The thing is, afaik, Virtual PC will happily let the CPU execute all the
> user-space instructions, and thus they all work as well as if they were
> running on real hardware - since they _do_ run on real hardware.
>
> But it is probably the case that Virtual PC will then do some "security
> checking" of any system code, possibly by JIT'ing it or just interpreting
> it, since it can't let the kernel run natively with privileges. That's
> what VMware does too, since older CPU's don't have virtualization support
> for ring0 programs.
>
> And _that_ is presumably buggy, and never learnt about the "new"
> instructions in the PPro.
>
> Linus
And even stranger, the same program won't run on the host OS because of data
execution prevention.
I reported the problem to Microsoft, they say they are aware of it and working
on a resolution.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/