aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/xen/cpuid.h42
1 files changed, 32 insertions, 10 deletions
diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
index 3bdd10d71223..a9630104f1c4 100644
--- a/arch/x86/include/asm/xen/cpuid.h
+++ b/arch/x86/include/asm/xen/cpuid.h
@@ -74,21 +74,43 @@
74#define XEN_CPUID_FEAT1_MMU_PT_UPDATE_PRESERVE_AD (1u<<0) 74#define XEN_CPUID_FEAT1_MMU_PT_UPDATE_PRESERVE_AD (1u<<0)
75 75
76/* 76/*
77 * Leaf 4 (0x40000x03)
78 * Sub-leaf 0: EAX: bit 0: emulated tsc
79 * bit 1: host tsc is known to be reliable
80 * bit 2: RDTSCP instruction available
81 * EBX: tsc_mode: 0=default (emulate if necessary), 1=emulate,
82 * 2=no emulation, 3=no emulation + TSC_AUX support
83 * ECX: guest tsc frequency in kHz
84 * EDX: guest tsc incarnation (migration count)
85 * Sub-leaf 1: EAX: tsc offset low part
86 * EBX: tsc offset high part
87 * ECX: multiplicator for tsc->ns conversion
88 * EDX: shift amount for tsc->ns conversion
89 * Sub-leaf 2: EAX: host tsc frequency in kHz
90 */
91
92/*
77 * Leaf 5 (0x40000x04) 93 * Leaf 5 (0x40000x04)
78 * HVM-specific features 94 * HVM-specific features
79 * EAX: Features 95 * Sub-leaf 0: EAX: Features
80 * EBX: vcpu id (iff EAX has XEN_HVM_CPUID_VCPU_ID_PRESENT flag) 96 * Sub-leaf 0: EBX: vcpu id (iff EAX has XEN_HVM_CPUID_VCPU_ID_PRESENT flag)
81 */ 97 */
82 98#define XEN_HVM_CPUID_APIC_ACCESS_VIRT (1u << 0) /* Virtualized APIC registers */
83/* Virtualized APIC registers */ 99#define XEN_HVM_CPUID_X2APIC_VIRT (1u << 1) /* Virtualized x2APIC accesses */
84#define XEN_HVM_CPUID_APIC_ACCESS_VIRT (1u << 0)
85/* Virtualized x2APIC accesses */
86#define XEN_HVM_CPUID_X2APIC_VIRT (1u << 1)
87/* Memory mapped from other domains has valid IOMMU entries */ 100/* Memory mapped from other domains has valid IOMMU entries */
88#define XEN_HVM_CPUID_IOMMU_MAPPINGS (1u << 2) 101#define XEN_HVM_CPUID_IOMMU_MAPPINGS (1u << 2)
89/* vcpu id is present in EBX */ 102#define XEN_HVM_CPUID_VCPU_ID_PRESENT (1u << 3) /* vcpu id is present in EBX */
90#define XEN_HVM_CPUID_VCPU_ID_PRESENT (1u << 3) 103
104/*
105 * Leaf 6 (0x40000x05)
106 * PV-specific parameters
107 * Sub-leaf 0: EAX: max available sub-leaf
108 * Sub-leaf 0: EBX: bits 0-7: max machine address width
109 */
110
111/* Max. address width in bits taking memory hotplug into account. */
112#define XEN_CPUID_MACHINE_ADDRESS_WIDTH_MASK (0xffu << 0)
91 113
92#define XEN_CPUID_MAX_NUM_LEAVES 4 114#define XEN_CPUID_MAX_NUM_LEAVES 5
93 115
94#endif /* __XEN_PUBLIC_ARCH_X86_CPUID_H__ */ 116#endif /* __XEN_PUBLIC_ARCH_X86_CPUID_H__ */