mirror of https://github.com/xemu-project/xemu.git
i386: Enable TOPOEXT feature on AMD EPYC CPU
Enable TOPOEXT feature on EPYC CPU. This is required to support hyperthreading on VM guests. Also extend xlevel to 0x8000001E. Disable topoext on PC_COMPAT_2_12 and keep xlevel 0x8000000a. Signed-off-by: Babu Moger <babu.moger@amd.com> Message-Id: <1529443919-67509-3-git-send-email-babu.moger@amd.com> [ehabkost: Added EPYC-IBPB.xlevel to PC_COMPAT_2_12] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
631be32155
commit
e00516475c
|
@ -303,6 +303,18 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
|
|||
.driver = TYPE_X86_CPU,\
|
||||
.property = "legacy-cache",\
|
||||
.value = "on",\
|
||||
},{\
|
||||
.driver = TYPE_X86_CPU,\
|
||||
.property = "topoext",\
|
||||
.value = "off",\
|
||||
},{\
|
||||
.driver = "EPYC-" TYPE_X86_CPU,\
|
||||
.property = "xlevel",\
|
||||
.value = stringify(0x8000000a),\
|
||||
},{\
|
||||
.driver = "EPYC-IBPB" TYPE_X86_CPU,\
|
||||
.property = "xlevel",\
|
||||
.value = stringify(0x8000000a),\
|
||||
},
|
||||
|
||||
#define PC_COMPAT_2_11 \
|
||||
|
|
|
@ -2579,7 +2579,8 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
.features[FEAT_8000_0001_ECX] =
|
||||
CPUID_EXT3_OSVW | CPUID_EXT3_3DNOWPREFETCH |
|
||||
CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | CPUID_EXT3_ABM |
|
||||
CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM,
|
||||
CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM |
|
||||
CPUID_EXT3_TOPOEXT,
|
||||
.features[FEAT_7_0_EBX] =
|
||||
CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | CPUID_7_0_EBX_AVX2 |
|
||||
CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_RDSEED |
|
||||
|
@ -2594,7 +2595,7 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
CPUID_XSAVE_XGETBV1,
|
||||
.features[FEAT_6_EAX] =
|
||||
CPUID_6_EAX_ARAT,
|
||||
.xlevel = 0x8000000A,
|
||||
.xlevel = 0x8000001E,
|
||||
.model_id = "AMD EPYC Processor",
|
||||
.cache_info = &epyc_cache_info,
|
||||
},
|
||||
|
@ -2624,7 +2625,8 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
.features[FEAT_8000_0001_ECX] =
|
||||
CPUID_EXT3_OSVW | CPUID_EXT3_3DNOWPREFETCH |
|
||||
CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | CPUID_EXT3_ABM |
|
||||
CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM,
|
||||
CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM |
|
||||
CPUID_EXT3_TOPOEXT,
|
||||
.features[FEAT_8000_0008_EBX] =
|
||||
CPUID_8000_0008_EBX_IBPB,
|
||||
.features[FEAT_7_0_EBX] =
|
||||
|
@ -2641,7 +2643,7 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
|||
CPUID_XSAVE_XGETBV1,
|
||||
.features[FEAT_6_EAX] =
|
||||
CPUID_6_EAX_ARAT,
|
||||
.xlevel = 0x8000000A,
|
||||
.xlevel = 0x8000001E,
|
||||
.model_id = "AMD EPYC Processor (with IBPB)",
|
||||
.cache_info = &epyc_cache_info,
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue