KVM: x86: Add missing trace points for RDMSR/WRMSR in emulator path
authorHou Wenlong <houwenlong.hwl@antgroup.com>
Fri, 2 Sep 2022 02:47:01 +0000 (10:47 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 26 Sep 2022 16:03:03 +0000 (12:03 -0400)
Since the RDMSR/WRMSR emulation uses a sepearte emualtor interface,
the trace points for RDMSR/WRMSR can be added in emulator path like
normal path.

Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com>
Link: https://lore.kernel.org/r/39181a9f777a72d61a4d0bb9f6984ccbd1de2ea3.1661930557.git.houwenlong.hwl@antgroup.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c

index f5ee1ac..63caa1f 100644 (file)
@@ -7927,9 +7927,12 @@ static int emulator_get_msr_with_filter(struct x86_emulate_ctxt *ctxt,
                if (kvm_msr_user_space(vcpu, msr_index, KVM_EXIT_X86_RDMSR, 0,
                                       complete_emulated_rdmsr, r))
                        return X86EMUL_IO_NEEDED;
+
+               trace_kvm_msr_read_ex(msr_index);
                return X86EMUL_PROPAGATE_FAULT;
        }
 
+       trace_kvm_msr_read(msr_index, *pdata);
        return X86EMUL_CONTINUE;
 }
 
@@ -7947,9 +7950,12 @@ static int emulator_set_msr_with_filter(struct x86_emulate_ctxt *ctxt,
                if (kvm_msr_user_space(vcpu, msr_index, KVM_EXIT_X86_WRMSR, data,
                                       complete_emulated_msr_access, r))
                        return X86EMUL_IO_NEEDED;
+
+               trace_kvm_msr_write_ex(msr_index, data);
                return X86EMUL_PROPAGATE_FAULT;
        }
 
+       trace_kvm_msr_write(msr_index, data);
        return X86EMUL_CONTINUE;
 }