All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <aarcange@redhat.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] allow sysenter on 32bit guests running on vmx host
Date: Wed, 24 Jun 2009 23:12:00 +0200	[thread overview]
Message-ID: <20090624211200.GD15263@random.random> (raw)
In-Reply-To: <20090624172934.GG14121@shareable.org>

Hi Jamie,

thanks for review!

On Wed, Jun 24, 2009 at 06:29:34PM +0100, Jamie Lokier wrote:
> So your patch should make no difference to Linux guests.  Did you
> check Linux behaviour?  Does Windows ignore the vendor id?

Maybe I wasn't clear enough, this patch only makes a difference for
KVM. KVM switches the vendor id to Intel when run on vmx host. It
definitely makes a difference to linux guest, without this patch 32bit
linux run as guest on top of KVM has sep disabled in /proc/cpuinfo and
isn't using sysenter (just like windows, hence the skype crash). I
verified 32bit linux guest has sep enabled with this patch applied
when run on KVM on top of intel.

For AMD the change is a noop because it changes the model from Athlon
to Duron.

> Only on 64-bit host, of course.
> 
> I see the "qemu32" version has model=3, stepping =3 already :-)

Yes, problem only happens on 64bit intel host running a 32bit guest
(windows skype crash or linux slowdown) on KVM.

> It makes sense to change the model number for AMD anyway, as AMD
> Athlons don't have the sep feature, even though this isn't a real CPU id.

No I don't think Duron has sep either... this should be noop for qemu
and a noop for KVM run on AMD.

>     /* Intel sep feature is broken before family/model/stepping 6/3/3,
>        and Windows guests wrongly ignore AMD vendor id when checking. */

I think we should specify this makes the cpu a duron on AMD and a PII
on intel and your comment removed that info but sure you're welcome to
change it ;).

Another approach is to switch model to 3 along with vendor_id in KVM
but because qemu is already using 6/3/3 when emulating a 32bit x86
hardware, I don't think this is simpler and more consistent.

  parent reply	other threads:[~2009-06-24 21:12 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-23 16:21 [Qemu-devel] allow sysenter on 32bit guests running on vmx host Andrea Arcangeli
2009-06-24 17:29 ` Jamie Lokier
2009-06-24 17:48   ` Filip Navara
2009-06-24 21:13     ` Andrea Arcangeli
2009-06-24 21:12   ` Andrea Arcangeli [this message]
2009-06-24 21:39     ` Jamie Lokier
2009-06-24 22:32       ` Andrea Arcangeli
2009-06-25  8:11       ` [Qemu-devel] KVMs default CPU type (was: allow sysenter on 32bit guests running on vmx host) Andre Przywara
2009-06-25  8:29         ` [Qemu-devel] KVMs default CPU type Avi Kivity
2009-06-25  8:29           ` Avi Kivity
2009-06-26  0:42         ` [Qemu-devel] KVMs default CPU type (was: allow sysenter on 32bit guests running on vmx host) Andrea Arcangeli
2009-06-26  0:42           ` Andrea Arcangeli
2009-06-26  1:06           ` Andrea Arcangeli
2009-06-26  1:06             ` Andrea Arcangeli
2009-06-25 17:39       ` [Qemu-devel] allow sysenter on 32bit guests running on vmx host Paul Brook
2009-06-25 21:02         ` Andrea Arcangeli
2009-06-25 22:12           ` Paul Brook
2009-06-25 23:27             ` Andrea Arcangeli
2009-06-25 23:49               ` Paul Brook
2009-06-26  0:06                 ` Andrea Arcangeli

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=20090624211200.GD15263@random.random \
    --to=aarcange@redhat.com \
    --cc=jamie@shareable.org \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.