Xen Test Framework
cpuid.h
Go to the documentation of this file.
1 /*
2  * Xen x86 public cpuid interface
3  */
4 
5 #ifndef XEN_PUBLIC_ARCH_X86_CPUID_H
6 #define XEN_PUBLIC_ARCH_X86_CPUID_H
7 
8 /*
9  * For compatibility with other hypervisor interfaces, the Xen cpuid leaves
10  * can be found at the first otherwise unused 0x100 aligned boundary starting
11  * from 0x40000000.
12  *
13  * e.g If viridian extensions are enabled for an HVM domain, the Xen cpuid
14  * leaves will start at 0x40000100
15  */
16 
17 #define XEN_CPUID_FIRST_LEAF 0x40000000
18 
19 /*
20  * Leaf 1 (0x40000x00)
21  * EAX: Largest Xen-information leaf. All leaves up to an including @EAX
22  * are supported by the Xen host.
23  * EBX-EDX: "XenVMMXenVMM" signature, allowing positive identification
24  * of a Xen host.
25  */
26 #define XEN_CPUID_SIGNATURE_EBX 0x566e6558 /* "XenV" */
27 #define XEN_CPUID_SIGNATURE_ECX 0x65584d4d /* "MMXe" */
28 #define XEN_CPUID_SIGNATURE_EDX 0x4d4d566e /* "nVMM" */
29 
30 /*
31  * Leaf 3 (0x40000x02)
32  * EAX: Number of hypercall transfer pages. This register is always guaranteed
33  * to specify one hypercall page.
34  * EBX: Base address of Xen-specific MSRs.
35  * ECX: Features 1. Unused bits are set to zero.
36  * EDX: Features 2. Unused bits are set to zero.
37  */
38 
39 #endif /* XEN_PUBLIC_ARCH_X86_CPUID_H */
40 
41 /*
42  * Local variables:
43  * mode: C
44  * c-file-style: "BSD"
45  * c-basic-offset: 4
46  * tab-width: 4
47  * indent-tabs-mode: nil
48  * End:
49  */