- 64-bit DS Area (CPUID.01H:ECX[2]) depends on DS (CPUID.01H:EDX[21]). - When PMU is disabled, Debug Store must not be exposed to the guest, which implicitly disables legacy DS-based PEBS. Signed-off-by: Zide Chen --- V3: - Update title to be more accurate. - Make DTES64 depend on DS. - Mark MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL in previous patch. - Clean up the commit message. V2: New patch. --- target/i386/cpu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 2e1dea65d708..3ff9f76cf7da 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1899,6 +1899,10 @@ static FeatureDep feature_dependencies[] = { .from = { FEAT_1_ECX, CPUID_EXT_PDCM }, .to = { FEAT_PERF_CAPABILITIES, ~0ull }, }, + { + .from = { FEAT_1_EDX, CPUID_DTS}, + .to = { FEAT_1_ECX, CPUID_EXT_DTES64}, + }, { .from = { FEAT_1_ECX, CPUID_EXT_VMX }, .to = { FEAT_VMX_PROCBASED_CTLS, ~0ull }, @@ -9471,6 +9475,7 @@ void x86_cpu_expand_features(X86CPU *cpu, Error **errp) env->features[FEAT_1_ECX] &= ~CPUID_EXT_PDCM; } + env->features[FEAT_1_EDX] &= ~CPUID_DTS; env->features[FEAT_7_0_EDX] &= ~CPUID_7_0_EDX_ARCH_LBR; } -- 2.53.0