From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53001) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPdaG-0008Vb-4v for qemu-devel@nongnu.org; Mon, 17 Mar 2014 15:52:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WPdaB-0007EC-3X for qemu-devel@nongnu.org; Mon, 17 Mar 2014 15:52:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59131) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPdaA-0007E8-QC for qemu-devel@nongnu.org; Mon, 17 Mar 2014 15:52:23 -0400 From: Eduardo Habkost Date: Mon, 17 Mar 2014 16:51:49 -0300 Message-Id: <1395085914-6229-6-git-send-email-ehabkost@redhat.com> In-Reply-To: <1395085507-5544-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [PATCH qom-cpu v2 05/10] target-i386: Make TCG feature filtering more readable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, =?UTF-8?q?Andreas=20F=C3=A4rber?= Cc: Igor Mammedov , Paolo Bonzini , Aurelien Jarno , Richard Henderson Instead of an #ifdef in the middle of the code, just set TCG_EXT2_FEATURES to a different value depending on TARGET_X86_64. Signed-off-by: Eduardo Habkost Reviewed-by: Richard Henderson --- target-i386/cpu.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 4229e4d..edc328b 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 | \ @@ -2581,11 +2589,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 { -- 1.8.5.3