mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: David Sanders <linux@sandersweb.net>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: nops in virtual pc x86
Date: Fri, 12 Sep 2008 15:04:56 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0809121501390.3337@nehalem.linux-foundation.org> (raw)
In-Reply-To: <200809121711.48558.linux@sandersweb.net>



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

  parent reply	other threads:[~2008-09-12 22:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-12 21:11 David Sanders
2008-09-12 21:20 ` H. Peter Anvin
2008-09-12 22:04 ` Linus Torvalds [this message]
2008-09-12 22:20   ` H. Peter Anvin
2008-09-12 23:05   ` David Sanders
2008-09-12 23:15     ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.1.10.0809121501390.3337@nehalem.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@sandersweb.net \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome