From: Eduardo Habkost Date: Thu, 4 Oct 2012 20:48:59 +0000 (-0300) Subject: i386: kvm: kvm_arch_get_supported_cpuid: replace if+switch with single 'if' X-Git-Tag: v1.3.0-rc0~90^2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c2acb022c83fbaf7fdd7ab9538d44ae6e0e94f94;p=thirdparty%2Fqemu.git i386: kvm: kvm_arch_get_supported_cpuid: replace if+switch with single 'if' Additional fixups will be added, and making them a single 'if/else if' chain makes it clearer than two nested switch statements. Signed-off-by: Eduardo Habkost Signed-off-by: Marcelo Tosatti --- diff --git a/target-i386/kvm.c b/target-i386/kvm.c index d74dbc152cc..1f943c5c5aa 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -193,20 +193,15 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function, /* Fixups for the data returned by KVM, below */ - if (reg == R_EDX) { - switch (function) { - case 1: - /* KVM before 2.6.30 misreports the following features */ - ret |= CPUID_MTRR | CPUID_PAT | CPUID_MCE | CPUID_MCA; - break; - case 0x80000001: - /* On Intel, kvm returns cpuid according to the Intel spec, - * so add missing bits according to the AMD spec: - */ - cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 0, R_EDX); - ret |= cpuid_1_edx & CPUID_EXT2_AMD_ALIASES; - break; - } + if (function == 1 && reg == R_EDX) { + /* KVM before 2.6.30 misreports the following features */ + ret |= CPUID_MTRR | CPUID_PAT | CPUID_MCE | CPUID_MCA; + } else if (function == 0x80000001 && reg == R_EDX) { + /* On Intel, kvm returns cpuid according to the Intel spec, + * so add missing bits according to the AMD spec: + */ + cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 0, R_EDX); + ret |= cpuid_1_edx & CPUID_EXT2_AMD_ALIASES; } g_free(cpuid);