1 #ifndef __XEN_X86_VENDORS_H__ 2 #define __XEN_X86_VENDORS_H__ 3 4 /* 5 * CPU vendor IDs 6 * 7 * - X86_VENDOR_* are Xen-internal identifiers. The order is arbitrary, but 8 * values form a bitmap so vendor checks can be made against multiple 9 * vendors at once. 10 * - X86_VENDOR_*_E?X are architectural information from CPUID leaf 0 11 */ 12 #define X86_VENDOR_UNKNOWN 0 13 14 #define X86_VENDOR_INTEL (1 << 0) 15 #define X86_VENDOR_INTEL_EBX _AC(0x756e6547, U) /* "GenuineIntel" */ 16 #define X86_VENDOR_INTEL_ECX _AC(0x6c65746e, U) 17 #define X86_VENDOR_INTEL_EDX _AC(0x49656e69, U) 18 19 #define X86_VENDOR_AMD (1 << 1) 20 #define X86_VENDOR_AMD_EBX _AC(0x68747541, U) /* "AuthenticAMD" */ 21 #define X86_VENDOR_AMD_ECX _AC(0x444d4163, U) 22 #define X86_VENDOR_AMD_EDX _AC(0x69746e65, U) 23 24 #define X86_VENDOR_CENTAUR (1 << 2) 25 #define X86_VENDOR_CENTAUR_EBX _AC(0x746e6543, U) /* "CentaurHauls" */ 26 #define X86_VENDOR_CENTAUR_ECX _AC(0x736c7561, U) 27 #define X86_VENDOR_CENTAUR_EDX _AC(0x48727561, U) 28 29 #define X86_VENDOR_SHANGHAI (1 << 3) 30 #define X86_VENDOR_SHANGHAI_EBX _AC(0x68532020, U) /* " Shanghai " */ 31 #define X86_VENDOR_SHANGHAI_ECX _AC(0x20206961, U) 32 #define X86_VENDOR_SHANGHAI_EDX _AC(0x68676e61, U) 33 34 #define X86_VENDOR_HYGON (1 << 4) 35 #define X86_VENDOR_HYGON_EBX _AC(0x6f677948, U) /* "HygonGenuine" */ 36 #define X86_VENDOR_HYGON_ECX _AC(0x656e6975, U) 37 #define X86_VENDOR_HYGON_EDX _AC(0x6e65476e, U) 38 39 #endif /* __XEN_X86_VENDORS_H__ */ 40