i386: Allow TOPOEXT to be enabled on older kernels
Enabling TOPOEXT feature might cause compatibility issues if older kernels does not set this feature. Lets set this feature unconditionally. Signed-off-by: Babu Moger <babu.moger@amd.com> Message-Id: <1528939107-17193-2-git-send-email-babu.moger@amd.com> [ehabkost: rewrite comment and commit message] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
254790a909
commit
f98bbd8304
|
@ -372,6 +372,13 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
|
||||||
if (host_tsx_blacklisted()) {
|
if (host_tsx_blacklisted()) {
|
||||||
ret &= ~(CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_HLE);
|
ret &= ~(CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_HLE);
|
||||||
}
|
}
|
||||||
|
} else if (function == 0x80000001 && reg == R_ECX) {
|
||||||
|
/*
|
||||||
|
* It's safe to enable TOPOEXT even if it's not returned by
|
||||||
|
* GET_SUPPORTED_CPUID. Unconditionally enabling TOPOEXT here allows
|
||||||
|
* us to keep CPU models including TOPOEXT runnable on older kernels.
|
||||||
|
*/
|
||||||
|
ret |= CPUID_EXT3_TOPOEXT;
|
||||||
} else if (function == 0x80000001 && reg == R_EDX) {
|
} else if (function == 0x80000001 && reg == R_EDX) {
|
||||||
/* On Intel, kvm returns cpuid according to the Intel spec,
|
/* On Intel, kvm returns cpuid according to the Intel spec,
|
||||||
* so add missing bits according to the AMD spec:
|
* so add missing bits according to the AMD spec:
|
||||||
|
|
Loading…
Reference in a new issue