]> git.baikalelectronics.ru Git - kernel.git/commit
xen/pvh: Early bootup changes in PV code (v4).
authorMukesh Rathor <mukesh.rathor@oracle.com>
Fri, 13 Dec 2013 17:45:31 +0000 (12:45 -0500)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 6 Jan 2014 15:43:59 +0000 (10:43 -0500)
commit9a848762323c9c6b504e10772739786c8dda9097
treeb189dbf02b54ee5688ca5d985c69e955ca99d534
parente3a79453724a02160d53bf599e57e29f1d3a4a1a
xen/pvh: Early bootup changes in PV code (v4).

We don't use the filtering that 'xen_cpuid' is doing
because the hypervisor treats 'XEN_EMULATE_PREFIX' as
an invalid instruction. This means that all of the filtering
will have to be done in the hypervisor/toolstack.

Without the filtering we expose to the guest the:

 - cpu topology (sockets, cores, etc);
 - the APERF (which the generic scheduler likes to
    use), see  6f0464da1ecb83c0a8854e74732baeff8cfac5ec
    "xen/setup: filter APERFMPERF cpuid feature out"
 - and the inability to figure out whether MWAIT_LEAF
   should be exposed or not. See
   b1fe1e41dc5d44f83616a5258a375eccc13c8c57
   "xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded."
 - x2apic, see  6ccae2b85f3d8fd7033c667fdd71ab38995d3c22
   "xen: mask x2APIC feature in PV"

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.

Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
arch/x86/xen/enlighten.c
arch/x86/xen/setup.c