Clean up vendor identification v3
PATCH 1/3 Clean up vendor identification v3
Right now CPU vendor identification contains a lot of magic numbers. The patch cleans them up to defines, so we can identify the CPU later on without copying magic numbers.
Signed-off-by Alexander Graf <[email protected]>
target-i386/cpu.h +8 -0
@@ -333,6 +333,14 @@#define CPUID_EXT3_IBS (1 << 10)#define CPUID_EXT3_SKINIT (1 << 12) +#define CPUID_VENDOR_INTEL_1 0x756e6547/* "Genu" */ +#define CPUID_VENDOR_INTEL_2 0x49656e69/* "ineI" */ +#define CPUID_VENDOR_INTEL_3 0x6c65746e/* "ntel" */ + +#define CPUID_VENDOR_AMD_1 0x68747541/* "Auth" */ +#define CPUID_VENDOR_AMD_2 0x69746e65/* "enti" */ +#define CPUID_VENDOR_AMD_3 0x444d4163/* "cAMD" */ +#define EXCP00_DIVZ 0#define EXCP01_SSTP 1#define EXCP02_NMI 2
target-i386/helper.c +6 -6
@@ -146,9 +146,9 @@ static x86_def_t x86_defs[] = { { .name = "qemu64", .level = 2, - .vendor1 = 0x68747541, /* "Auth" */ - .vendor2 = 0x69746e65, /* "enti" */ - .vendor3 = 0x444d4163, /* "cAMD" */ + .vendor1 = CPUID_VENDOR_AMD_1, + .vendor2 = CPUID_VENDOR_AMD_2, + .vendor3 = CPUID_VENDOR_AMD_3, .family = 6, .model = 2, .stepping = 3,
@@ -347,9 +347,9 @@ static int cpu_x86_register (CPUX86State env->cpuid_vendor2 = def->vendor2; env->cpuid_vendor3 = def->vendor3; }else { - env->cpuid_vendor1 =0x756e6547 ;/* "Genu" */ - env->cpuid_vendor2 =0x49656e69 ;/* "ineI" */ - env->cpuid_vendor3 =0x6c65746e ;/* "ntel" */ + env->cpuid_vendor1 =CPUID_VENDOR_INTEL_1 ; + env->cpuid_vendor2 =CPUID_VENDOR_INTEL_2 ; + env->cpuid_vendor3 =CPUID_VENDOR_INTEL_3 ; } env->cpuid_level = def->level; env->cpuid_version = (def->family <<8 ) | (def->model <<4 ) | def->stepping;