• Mukesh Rathor's avatar
    xen/pvh: Early bootup changes in PV code (v4). · d285d683
    Mukesh Rathor authored
    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  5e626254
        "xen/setup: filter APERFMPERF cpuid feature out"
     - and the inability to figure out whether MWAIT_LEAF
       should be exposed or not. See
       df88b2d9
       "xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded."
     - x2apic, see  4ea9b9ac
       "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: default avatarMukesh Rathor <mukesh.rathor@oracle.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
    d285d683
enlighten.c 42.4 KB