From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
boris.ostrovsky@oracle.com, stefano.stabellini@eu.citrix.com
Subject: Re: [PATCH v12 03/18] xen/pvh: Early bootup changes in PV code (v2).
Date: Fri, 3 Jan 2014 12:35:55 -0500 [thread overview]
Message-ID: <20140103173555.GF27019@phenom.dumpdata.com> (raw)
In-Reply-To: <20140102173438.40612127@mantra.us.oracle.com>
On Thu, Jan 02, 2014 at 05:34:38PM -0800, Mukesh Rathor wrote:
> On Thu, 2 Jan 2014 13:32:21 -0500
> Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>
> > On Thu, Jan 02, 2014 at 03:32:33PM +0000, David Vrabel wrote:
> > > On 01/01/14 04:35, Konrad Rzeszutek Wilk wrote:
> > > > From: Mukesh Rathor <mukesh.rathor@oracle.com>
> > > >
> > > > In the bootup code for PVH we can trap cpuid via vmexit, so don't
> > > > need to use emulated prefix call. We also check for vector
> > > > callback early on, as it is a required feature. PVH also runs at
> > > > default kernel IOPL.
> > > >
> > > > Finally, pure PV settings are moved to a separate function that
> > > > are only called for pure PV, ie, pv with pvmmu. They are also
> > > > #ifdef with CONFIG_XEN_PVMMU.
> > > [...]
> > > > @@ -331,12 +333,15 @@ static void xen_cpuid(unsigned int *ax,
> > > > unsigned int *bx, break;
> > > > }
> > > >
> > > > - asm(XEN_EMULATE_PREFIX "cpuid"
> > > > - : "=a" (*ax),
> > > > - "=b" (*bx),
> > > > - "=c" (*cx),
> > > > - "=d" (*dx)
> > > > - : "0" (*ax), "2" (*cx));
> > > > + if (xen_pvh_domain())
> > > > + native_cpuid(ax, bx, cx, dx);
> > > > + else
> > > > + asm(XEN_EMULATE_PREFIX "cpuid"
> > > > + : "=a" (*ax),
> > > > + "=b" (*bx),
> > > > + "=c" (*cx),
> > > > + "=d" (*dx)
> > > > + : "0" (*ax), "2" (*cx));
> > >
> > > For this one off cpuid call it seems preferrable to me to use the
> > > emulate prefix rather than diverge from PV.
> >
> > This was before the PV cpuid was deemed OK to be used on PVH.
> > Will rip this out to use the same version.
>
> Whats wrong with using native cpuid? That is one of the benefits that
> cpuid can be trapped via vmexit, and also there is talk of making PV
> cpuid trap obsolete in the future. I suggest leaving it native.
I chatted with David, Andrew and Roger on IRC about this. I like the
idea of using xen_cpuid because:
1) It filters some of the CPUID flags that guests should not use. There is
the 'aperfmperf,'x2apic', 'xsave', and whether the MWAIT_LEAF
should be exposed (so that the ACPI AML code can call the right
initialization code to use the extended C3 states instead of the
legacy IOPORT ones). All of that is in xen_cpuid.
2) It works, while we can concentrate on making 1) work in the
hypervisor/toolstack.
Meaning that the future way would be to use the native cpuid and have
the hypervisor/toolstack setup the proper cpuid. In other words - use
the xen_cpuid as is until that code for filtering is in the hypervisor.
Except that PVH does not work the PV cpuid at all. I get a triple fault.
The instruction it fails at is at the 'XEN_EMULATE_PREFIX'.
Mukesh, can you point me to the patch where the PV cpuid functionality
is enabled?
Anyhow, as it stands, I will just use the native cpuid.
>
> Mukesh
>
next prev parent reply other threads:[~2014-01-03 17:37 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-01 4:35 [PATCH v12] Linux Xen PVH support Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 01/18] xen/p2m: Check for auto-xlat when doing mfn_to_local_pfn Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 02/18] xen/pvh/x86: Define what an PVH guest is (v2) Konrad Rzeszutek Wilk
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-02 11:13 ` David Vrabel
2014-01-02 11:13 ` David Vrabel
2014-01-03 15:33 ` Stefano Stabellini
2014-01-03 15:33 ` Stefano Stabellini
2014-01-01 4:35 ` [PATCH v12 03/18] xen/pvh: Early bootup changes in PV code (v2) Konrad Rzeszutek Wilk
2014-01-02 15:32 ` David Vrabel
2014-01-02 18:32 ` Konrad Rzeszutek Wilk
2014-01-02 18:32 ` Konrad Rzeszutek Wilk
2014-01-03 1:34 ` Mukesh Rathor
2014-01-03 11:29 ` David Vrabel
2014-01-03 15:37 ` Stefano Stabellini
2014-01-03 15:37 ` Stefano Stabellini
2014-01-03 11:29 ` David Vrabel
2014-01-03 17:35 ` Konrad Rzeszutek Wilk
2014-01-03 17:35 ` Konrad Rzeszutek Wilk [this message]
2014-01-04 1:13 ` Mukesh Rathor
2014-01-04 1:13 ` Mukesh Rathor
2014-01-03 1:34 ` Mukesh Rathor
2014-01-03 11:25 ` David Vrabel
2014-01-03 11:25 ` David Vrabel
2014-01-02 15:32 ` David Vrabel
2014-01-01 4:35 ` [PATCH v12 04/18] xen/pvh: Don't setup P2M tree Konrad Rzeszutek Wilk
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-02 11:17 ` David Vrabel
2014-01-02 11:17 ` David Vrabel
2014-01-03 15:41 ` Stefano Stabellini
2014-01-03 15:41 ` Stefano Stabellini
2014-01-01 4:35 ` [PATCH v12 05/18] xen/mmu/p2m: Refactor the xen_pagetable_init code Konrad Rzeszutek Wilk
2014-01-02 11:21 ` David Vrabel
2014-01-02 11:21 ` David Vrabel
2014-01-03 15:47 ` Stefano Stabellini
2014-01-03 15:47 ` Stefano Stabellini
2014-01-03 16:02 ` Konrad Rzeszutek Wilk
2014-01-03 16:02 ` Konrad Rzeszutek Wilk
2014-01-03 16:23 ` Stefano Stabellini
2014-01-03 16:23 ` Stefano Stabellini
2014-01-01 4:35 ` [PATCH v12 06/18] xen/pvh: MMU changes for PVH (v2) Konrad Rzeszutek Wilk
2014-01-02 11:24 ` David Vrabel
2014-01-03 1:36 ` Mukesh Rathor
2014-01-03 1:36 ` Mukesh Rathor
2014-01-03 10:14 ` David Vrabel
2014-01-03 10:14 ` David Vrabel
2014-01-03 15:50 ` Stefano Stabellini
2014-01-03 15:50 ` Stefano Stabellini
2014-01-02 11:24 ` David Vrabel
2014-01-01 4:35 ` [PATCH v12 07/18] xen/pvh: Setup up shared_info Konrad Rzeszutek Wilk
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-02 11:27 ` David Vrabel
2014-01-02 11:27 ` David Vrabel
2014-01-02 18:23 ` Konrad Rzeszutek Wilk
2014-01-02 18:23 ` Konrad Rzeszutek Wilk
2014-01-03 14:39 ` Konrad Rzeszutek Wilk
2014-01-03 15:18 ` David Vrabel
2014-01-03 15:18 ` David Vrabel
2014-01-03 14:39 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 08/18] xen/pvh: Load GDT/GS in early PV bootup code for BSP Konrad Rzeszutek Wilk
2014-01-02 11:31 ` David Vrabel
2014-01-02 11:31 ` David Vrabel
2014-01-02 18:24 ` Konrad Rzeszutek Wilk
2014-01-02 18:24 ` Konrad Rzeszutek Wilk
2014-01-03 11:27 ` David Vrabel
2014-01-03 11:27 ` David Vrabel
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 09/18] xen/pvh: Secondary VCPU bringup (non-bootup CPUs) Konrad Rzeszutek Wilk
2014-01-02 16:07 ` David Vrabel
2014-01-02 16:07 ` David Vrabel
2014-01-01 4:35 ` [PATCH v12 10/18] xen/pvh: Update E820 to work with PVH (v2) Konrad Rzeszutek Wilk
2014-01-02 16:14 ` David Vrabel
2014-01-02 18:41 ` Konrad Rzeszutek Wilk
2014-01-04 1:23 ` Mukesh Rathor
2014-01-04 2:25 ` Konrad Rzeszutek Wilk
2014-01-04 2:25 ` Konrad Rzeszutek Wilk
2014-01-04 1:23 ` Mukesh Rathor
2014-01-02 18:41 ` Konrad Rzeszutek Wilk
2014-01-02 16:14 ` David Vrabel
2014-01-03 16:30 ` Stefano Stabellini
2014-01-03 16:30 ` Stefano Stabellini
2014-01-01 4:35 ` [PATCH v12 11/18] xen/pvh: Piggyback on PVHVM for event channels (v2) Konrad Rzeszutek Wilk
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-02 15:43 ` David Vrabel
2014-01-02 15:43 ` David Vrabel
2014-01-03 16:34 ` Stefano Stabellini
2014-01-03 16:34 ` Stefano Stabellini
2014-01-03 18:10 ` Konrad Rzeszutek Wilk
2014-01-03 18:10 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 12/18] xen/grants: Remove gnttab_max_grant_frames dependency on gnttab_init Konrad Rzeszutek Wilk
2014-01-02 11:38 ` David Vrabel
2014-01-02 11:38 ` David Vrabel
2014-01-03 16:40 ` Stefano Stabellini
2014-01-03 16:40 ` Stefano Stabellini
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 13/18] xen/grant-table: Refactor gnttab_init Konrad Rzeszutek Wilk
2014-01-02 11:39 ` David Vrabel
2014-01-02 11:39 ` David Vrabel
2014-01-03 16:43 ` Stefano Stabellini
2014-01-03 16:43 ` Stefano Stabellini
2014-01-01 4:35 ` [PATCH v12 14/18] xen/grant: Implement an grant frame array struct Konrad Rzeszutek Wilk
2014-01-02 16:27 ` David Vrabel
2014-01-02 18:47 ` Konrad Rzeszutek Wilk
2014-01-03 12:11 ` David Vrabel
2014-01-03 12:11 ` [Xen-devel] " David Vrabel
2014-01-03 15:09 ` Konrad Rzeszutek Wilk
2014-01-03 15:09 ` Konrad Rzeszutek Wilk
2014-01-02 18:47 ` Konrad Rzeszutek Wilk
2014-01-02 16:27 ` David Vrabel
2014-01-03 16:53 ` Stefano Stabellini
2014-01-03 16:53 ` Stefano Stabellini
2014-01-03 19:18 ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-01-03 19:18 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 15/18] xen/pvh: Piggyback on PVHVM for grant driver (v2) Konrad Rzeszutek Wilk
2014-01-02 16:32 ` David Vrabel
2014-01-02 16:32 ` David Vrabel
2014-01-02 18:50 ` Konrad Rzeszutek Wilk
2014-01-03 11:54 ` David Vrabel
2014-01-03 11:54 ` David Vrabel
2014-01-03 14:44 ` Konrad Rzeszutek Wilk
2014-01-03 15:41 ` David Vrabel
2014-01-03 15:41 ` David Vrabel
2014-01-03 15:48 ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-01-03 15:48 ` Konrad Rzeszutek Wilk
2014-01-03 17:20 ` [Xen-devel] " Stefano Stabellini
2014-01-03 18:14 ` Konrad Rzeszutek Wilk
2014-01-03 18:14 ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-01-03 18:29 ` Stefano Stabellini
2014-01-03 18:29 ` [Xen-devel] " Stefano Stabellini
2014-01-03 18:39 ` Konrad Rzeszutek Wilk
2014-01-03 18:39 ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-01-03 19:02 ` Stefano Stabellini
2014-01-03 19:02 ` Stefano Stabellini
2014-01-03 17:20 ` Stefano Stabellini
2014-01-03 14:44 ` Konrad Rzeszutek Wilk
2014-01-02 18:50 ` Konrad Rzeszutek Wilk
2014-01-03 17:26 ` Stefano Stabellini
2014-01-03 17:26 ` Stefano Stabellini
2014-01-03 18:20 ` Konrad Rzeszutek Wilk
2014-01-03 18:20 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 16/18] xen/pvh: Piggyback on PVHVM XenBus Konrad Rzeszutek Wilk
2014-01-02 11:43 ` David Vrabel
2014-01-02 11:43 ` David Vrabel
2014-01-03 17:22 ` Stefano Stabellini
2014-01-03 17:22 ` Stefano Stabellini
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 17/18] xen/pvh/arm/arm64: Disable PV code that does not work with PVH (v2) Konrad Rzeszutek Wilk
2014-01-02 11:44 ` David Vrabel
2014-01-02 11:44 ` David Vrabel
2014-01-03 16:22 ` Stefano Stabellini
2014-01-03 16:22 ` Stefano Stabellini
2014-01-03 17:59 ` Konrad Rzeszutek Wilk
2014-01-03 17:59 ` Konrad Rzeszutek Wilk
2014-01-01 4:35 ` [PATCH v12 18/18] xen/pvh: Support ParaVirtualized Hardware extensions (v2) Konrad Rzeszutek Wilk
2014-01-02 11:48 ` David Vrabel
2014-01-02 18:27 ` Konrad Rzeszutek Wilk
2014-01-02 18:27 ` Konrad Rzeszutek Wilk
2014-01-02 11:48 ` David Vrabel
2014-01-01 4:35 ` Konrad Rzeszutek Wilk
2014-01-02 16:50 ` [PATCH v12] Linux Xen PVH support David Vrabel
2014-01-02 16:50 ` David Vrabel
2014-01-02 19:02 ` Konrad Rzeszutek Wilk
2014-01-03 13:37 ` David Vrabel
2014-01-03 13:37 ` David Vrabel
2014-01-02 19:02 ` Konrad Rzeszutek Wilk
2014-01-02 18:39 ` H. Peter Anvin
2014-01-02 19:12 ` Konrad Rzeszutek Wilk
2014-01-02 19:12 ` Konrad Rzeszutek Wilk
2014-01-02 18:39 ` 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=20140103173555.GF27019@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mukesh.rathor@oracle.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xenproject.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.