From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35323) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WketU-0008Vy-5w for qemu-devel@nongnu.org; Wed, 14 May 2014 15:31:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WketP-0001Ah-0h for qemu-devel@nongnu.org; Wed, 14 May 2014 15:31:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18191) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WketO-0001AX-PU for qemu-devel@nongnu.org; Wed, 14 May 2014 15:31:06 -0400 From: Eduardo Habkost Date: Wed, 14 May 2014 16:29:58 -0300 Message-Id: <1400095810-27684-7-git-send-email-ehabkost@redhat.com> In-Reply-To: <1400095810-27684-1-git-send-email-ehabkost@redhat.com> References: <1400095810-27684-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [PATCH RESEND v4 06/18] 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?= 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 --- Changes v1 -> v2: * Trivial rebase to latest qom-cpu (commit 90c5d39c) (Reviewed-by line kept) Changes v2 -> v3: * Trivial rebase after QEMU 2.0 (onto commit 2d03b49) (Reviewed-by line kept) --- 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 4dd522a..1a1e390 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -572,9 +572,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 | \ @@ -2596,11 +2604,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.9.0