From: Eduardo Habkost Date: Wed, 30 Apr 2014 16:48:33 +0000 (-0300) Subject: target-i386: Make TCG feature filtering more readable X-Git-Tag: qemu-xen-4.5.0-rc1^2~34 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f9ac1dc507696c9b3b6fde7f6293811ac2cb299c;p=qemu-upstream-4.5-testing.git target-i386: Make TCG feature filtering more readable Instead of an #ifdef in the middle of the code, just set TCG_EXT2_FEATURES to a different value depending on TARGET_X86_64. Reviewed-by: Richard Henderson Signed-off-by: Eduardo Habkost Signed-off-by: Andreas Färber (cherry picked from commit a42d9938a162c3e3c9e441d1927dca5bd59167d9) Conflicts: target-i386/cpu.c *removed dependency on 77549a78 Signed-off-by: Michael Roth --- diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 553d0b8d2..d386592de 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -566,9 +566,17 @@ struct X86CPUDefinition { CPUID_EXT_X2APIC, CPUID_EXT_TSC_DEADLINE_TIMER, CPUID_EXT_XSAVE, CPUID_EXT_OSXSAVE, CPUID_EXT_AVX, CPUID_EXT_F16C, CPUID_EXT_RDRAND */ + +#ifdef TARGET_X86_64 +#define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM) +#else +#define TCG_EXT2_X86_64_FEATURES 0 +#endif + #define TCG_EXT2_FEATURES ((TCG_FEATURES & CPUID_EXT2_AMD_ALIASES) | \ CPUID_EXT2_NX | CPUID_EXT2_MMXEXT | CPUID_EXT2_RDTSCP | \ - CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT) + CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT | \ + TCG_EXT2_X86_64_FEATURES) /* missing: CPUID_EXT2_PDPE1GB */ #define TCG_EXT3_FEATURES (CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM | \ @@ -2590,11 +2598,7 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp) if (!kvm_enabled()) { env->features[FEAT_1_EDX] &= TCG_FEATURES; env->features[FEAT_1_ECX] &= TCG_EXT_FEATURES; - env->features[FEAT_8000_0001_EDX] &= (TCG_EXT2_FEATURES -#ifdef TARGET_X86_64 - | CPUID_EXT2_SYSCALL | CPUID_EXT2_LM -#endif - ); + env->features[FEAT_8000_0001_EDX] &= TCG_EXT2_FEATURES; env->features[FEAT_8000_0001_ECX] &= TCG_EXT3_FEATURES; env->features[FEAT_SVM] &= TCG_SVM_FEATURES; } else {