mirror of https://github.com/proxmox/mirror_qemu
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 <ehabkost@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>master
parent
dd87f8a690
commit
c2acb022c8
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue