Messages in this thread | | | From | David Sanders <> | Subject | Re: nops in virtual pc x86 | Date | Fri, 12 Sep 2008 19:05:23 -0400 |
| |
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.
| |