xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: Tim Deegan <tim@xen.org>
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [RFC PATCH 10/16]: PVH xen: introduce vmx_pvh.c
Date: Wed, 20 Feb 2013 19:05:19 -0800	[thread overview]
Message-ID: <20130220190519.5fb537b1@mantra.us.oracle.com> (raw)
In-Reply-To: <20130220095828.GA12083@ocelot.phlegethon.org>

On Wed, 20 Feb 2013 09:58:28 +0000
Tim Deegan <tim@xen.org> wrote:

> At 16:05 -0800 on 19 Feb (1361289934), Mukesh Rathor wrote:
> > On Thu, 24 Jan 2013 16:31:22 +0000
> > Tim Deegan <tim@xen.org> wrote:
> > 
> > > At 18:01 -0800 on 11 Jan (1357927270), Mukesh Rathor wrote:
> > > > +
> > > > +        case EXIT_REASON_CPUID:              /* 10 */
> > > > +        {
> > > > +            if ( guest_kernel_mode(vp, regs) ) {
> > > > +                pv_cpuid(regs);
> > > > +
> > > > +                /* Because we are setting CR4.OSFXSR to 0, we
> > > > need to disable
> > > > +                 * this because, during boot, user process
> > > > "init" (which doesn't
> > > > +                 * do cpuid), will do 'pxor xmm0,xmm0' and
> > > > cause #UD. For now 
> > > > +                 * disable this. HVM doesn't allow setting of
> > > > CR4.OSFXSR.
> > > > +                 * fixme: this and also look at CR4.OSXSAVE */
> > > > +
> > > > +                __clear_bit(X86_FEATURE_FXSR, &regs->edx);
> > > 
> > > Shouldn't this be gated on which leaf the guest asked for?
> > 
> > Yup, looking at it. X86_FEATURE_FXSR is EAX==1, but it doesn't
> > work. The user process "init" running nash is executing pxor %xmm0,
> > %xmm0 and taking #UD. Strangely, it works with EAX==0, meaning if I
> > clear the bit for EAX==0, changing the intel string "ineI".  This
> > user process doesn't do cpuid, so it must be affected by it some
> > other way.
> > 
> > Pretty hard to debug since it's in nash user code from ramdisk and
> > I am not able to set breakpoint or put printf's easily to figure
> > why clearing bit for EAX==0 makes it work, or what's going on for
> > PV and HVM guest. CR0.EM is 0, so UD is coming from CR4.OSFXSR==0.
> > Reading the SDMs to learn OSFXSR stuff better....
> 
> Perhaps you need to clear the FXSR feature bit in leaf 0x80000001:EDX
> as well?

That appears to be AMD only.

  reply	other threads:[~2013-02-21  3:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-12  2:01 [RFC PATCH 10/16]: PVH xen: introduce vmx_pvh.c Mukesh Rathor
2013-01-14 11:59 ` Jan Beulich
2013-01-15  0:54   ` Mukesh Rathor
2013-01-15  8:46     ` Jan Beulich
2013-01-24  1:59       ` Mukesh Rathor
2013-01-24  9:21         ` Jan Beulich
2013-01-25  2:29           ` Mukesh Rathor
2013-01-24 16:31 ` Tim Deegan
2013-01-25  2:15   ` Mukesh Rathor
2013-01-25  2:18   ` Mukesh Rathor
2013-02-20  0:05   ` Mukesh Rathor
2013-02-20  9:58     ` Tim Deegan
2013-02-21  3:05       ` Mukesh Rathor [this message]
2013-02-21  9:10         ` Tim Deegan
2013-02-21 19:20           ` Mukesh Rathor
2013-02-21 20:33             ` Tim Deegan

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=20130220190519.5fb537b1@mantra.us.oracle.com \
    --to=mukesh.rathor@oracle.com \
    --cc=Xen-devel@lists.xensource.com \
    --cc=tim@xen.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).