[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200809121905.23724.linux@sandersweb.net>
Date: Fri, 12 Sep 2008 19:05:23 -0400
From: David Sanders <linux@...dersweb.net>
To: linux-kernel@...r.kernel.org
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
the arch/x86 maintainers <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: nops in virtual pc x86
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists