]> xenbits.xensource.com Git - xen.git/commit
x86: annotate special features
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 24 Mar 2016 15:06:22 +0000 (16:06 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 24 Mar 2016 15:06:22 +0000 (16:06 +0100)
commitec4ce7c38810e336f7dcc209e6f203cd604881a9
treea06a1b108cddac2f53b9f86bb2296d4f21ff7694
parent54d346e5de4cb838cff6f3b2697311efd75a6f99
x86: annotate special features

Some bits in a featureset are not simple a indication of new functionality,
and require special handling.

APIC, OSXSAVE and OSPKE are fast-forwards of other pieces of state;
IA32_APIC_BASE.EN, CR4.OSXSAVE and CR4.OSPKE.  Xen will take care of filling
these appropriately at runtime.

FDP_EXCP_ONLY and NO_FPU_SEL are bits indicating reduced functionality in the
x87 pipeline.  The effects of these cannot be hidden from the guest, so the
host values will always be provided.

HTT, X2APIC and CMP_LEGACY indicate how to interpret other cpuid leaves.  In
most cases, the toolstack value will be used (with the expectation that these
flags will match the other provided topology information).  However with cpuid
masking, the host values are presented as masking cannot influence what the
guest sees in the dependent leaves.

HYPERVISOR is unconditionally set in the PV ABI, but follows the toolstack
setting for HVM guests.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
xen/arch/x86/cpuid.c
xen/include/asm-x86/cpuid.h
xen/include/public/arch-x86/cpufeatureset.h
xen/tools/gen-cpuid.py