Message ID | 20210707183616.5620-32-brijesh.singh@amd.com |
---|---|
State | Superseded |
Headers | show |
Series | [Part2,RFC,v4,01/40] KVM: SVM: Add support to handle AP reset MSR protocol | expand |
On Wed, Jul 07, 2021, Brijesh Singh wrote: > The page-fault error code is a 64-bit value, but the trace prints only It's worth clarifying that #NPT has a 64-bit error code, and so KVM also passes around a 64-bit PFEC. E.g. the above statement is wrong for legacy #PF. > the lower 32-bits. Some of the SEV-SNP RMP fault error codes are > available in the upper 32-bits. Can you send this separately with Cc: stable@? And I guess tweak the changelog to replace "SEV-SNP RMP" with a reference to e.g. PFERR_GUEST_FINAL_MASK. KVM already has error codes that can set the upper bits.
On 7/16/21 3:25 PM, Sean Christopherson wrote: > On Wed, Jul 07, 2021, Brijesh Singh wrote: >> The page-fault error code is a 64-bit value, but the trace prints only > It's worth clarifying that #NPT has a 64-bit error code, and so KVM also passes > around a 64-bit PFEC. E.g. the above statement is wrong for legacy #PF. > >> the lower 32-bits. Some of the SEV-SNP RMP fault error codes are >> available in the upper 32-bits. > Can you send this separately with Cc: stable@? And I guess tweak the changelog > to replace "SEV-SNP RMP" with a reference to e.g. PFERR_GUEST_FINAL_MASK. KVM > already has error codes that can set the upper bits. Will do.
diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index a61c015870e3..78cbf53bf412 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -365,12 +365,12 @@ TRACE_EVENT(kvm_inj_exception, * Tracepoint for page fault. */ TRACE_EVENT(kvm_page_fault, - TP_PROTO(unsigned long fault_address, unsigned int error_code), + TP_PROTO(unsigned long fault_address, u64 error_code), TP_ARGS(fault_address, error_code), TP_STRUCT__entry( __field( unsigned long, fault_address ) - __field( unsigned int, error_code ) + __field( u64, error_code ) ), TP_fast_assign( @@ -378,7 +378,7 @@ TRACE_EVENT(kvm_page_fault, __entry->error_code = error_code; ), - TP_printk("address %lx error_code %x", + TP_printk("address %lx error_code %llx", __entry->fault_address, __entry->error_code) );
The page-fault error code is a 64-bit value, but the trace prints only the lower 32-bits. Some of the SEV-SNP RMP fault error codes are available in the upper 32-bits. Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> --- arch/x86/kvm/trace.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)