Message ID | 20230607212111.1579831-1-seanjc@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [kvm-unit-tests] x86/pmu: Truncate reserved bits for emulated test of full width writes | expand |
On Wed, Jun 07, 2023, Sean Christopherson wrote: > Mask off reserved bits when stuffing PMCs with full-width writes in the > forced emulation subtest, otherwise the test may fail due to attempting > to set reserved bits. > > Cc: Like Xu <like.xu.linux@gmail.com> > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- Gah, Like already posted a fix, I just misread his patch at first glance. https://lore.kernel.org/all/20221226075412.61167-3-likexu@tencent.com
diff --git a/x86/pmu.c b/x86/pmu.c index 72c2c9cf..d92bd8ad 100644 --- a/x86/pmu.c +++ b/x86/pmu.c @@ -498,6 +498,11 @@ static void check_emulated_instr(void) brnch_start = -EXPECTED_BRNCH; instr_start = -EXPECTED_INSTR; + + if (pmu_use_full_writes()) { + brnch_start &= (1ull << pmu.gp_counter_width) - 1; + instr_start &= (1ull << pmu.gp_counter_width) - 1; + } wrmsr(MSR_GP_COUNTERx(0), brnch_start); wrmsr(MSR_GP_COUNTERx(1), instr_start); // KVM_FEP is a magic prefix that forces emulation so
Mask off reserved bits when stuffing PMCs with full-width writes in the forced emulation subtest, otherwise the test may fail due to attempting to set reserved bits. Cc: Like Xu <like.xu.linux@gmail.com> Signed-off-by: Sean Christopherson <seanjc@google.com> --- x86/pmu.c | 5 +++++ 1 file changed, 5 insertions(+) base-commit: 02d8befe99f8205d4caea402d8b0800354255681