qemu-devel.nongnu.org archive mirror
 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: 17+ 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-26  0:42         ` [Qemu-devel] KVMs default CPU type (was: allow sysenter on 32bit guests running on vmx host) 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).