All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Maxim Levitsky <mlevitsk@redhat.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 08/12] KVM: x86: Print error code in exception injection tracepoint iff valid
Date: Mon,  2 May 2022 00:07:32 +0200	[thread overview]
Message-ID: <e8f0511733ed2a0410cbee8a0a7388eac2ee5bac.1651440202.git.maciej.szmigiero@oracle.com> (raw)
In-Reply-To: <cover.1651440202.git.maciej.szmigiero@oracle.com>

From: Sean Christopherson <seanjc@google.com>

Print the error code in the exception injection tracepoint if and only if
the exception has an error code.  Define the entire error code sequence
as a set of formatted strings, print empty strings if there's no error
code, and abuse __print_symbolic() by passing it an empty array to coerce
it into printing the error code as a hex string.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
---
 arch/x86/kvm/trace.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h
index d07428e660e3..385436d12024 100644
--- a/arch/x86/kvm/trace.h
+++ b/arch/x86/kvm/trace.h
@@ -376,10 +376,11 @@ TRACE_EVENT(kvm_inj_exception,
 		__entry->reinjected	= reinjected;
 	),
 
-	TP_printk("%s (0x%x)%s",
+	TP_printk("%s%s%s%s%s",
 		  __print_symbolic(__entry->exception, kvm_trace_sym_exc),
-		  /* FIXME: don't print error_code if not present */
-		  __entry->has_error ? __entry->error_code : 0,
+		  !__entry->has_error ? "" : " (",
+		  !__entry->has_error ? "" : __print_symbolic(__entry->error_code, { }),
+		  !__entry->has_error ? "" : ")",
 		  __entry->reinjected ? " [reinjected]" : "")
 );
 

  parent reply	other threads:[~2022-05-01 22:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-01 22:07 [PATCH v3 00/12] KVM: SVM: Fix soft int/ex re-injection Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 01/12] KVM: nSVM: Sync next_rip field from vmcb12 to vmcb02 Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 02/12] KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0 Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 03/12] KVM: SVM: Unwind "speculative" RIP advancement if INTn injection "fails" Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 04/12] KVM: SVM: Stuff next_rip on emulated INT3 injection if NRIPS is supported Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 05/12] KVM: SVM: Re-inject INT3/INTO instead of retrying the instruction Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 06/12] KVM: SVM: Re-inject INTn instead of retrying the insn on "failure" Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 07/12] KVM: x86: Trace re-injected exceptions Maciej S. Szmigiero
2022-05-01 22:07 ` Maciej S. Szmigiero [this message]
2022-05-01 22:07 ` [PATCH v3 09/12] KVM: x86: Differentiate Soft vs. Hard IRQs vs. reinjected in tracepoint Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 10/12] KVM: nSVM: Transparently handle L1 -> L2 NMI re-injection Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 11/12] KVM: selftests: nSVM: Add svm_nested_soft_inject_test Maciej S. Szmigiero
2022-05-01 22:07 ` [PATCH v3 12/12] KVM: nSVM: Drop support for CPUs without NRIPS (NextRIP Save) support Maciej S. Szmigiero
2022-05-03 18:48 ` [PATCH v3 00/12] KVM: SVM: Fix soft int/ex re-injection Sean Christopherson
2022-05-04 12:40   ` Maxim Levitsky
2022-05-17 12:28 ` Maciej S. Szmigiero
2022-05-17 16:46   ` Paolo Bonzini
2022-05-17 21:17     ` Maciej S. Szmigiero

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e8f0511733ed2a0410cbee8a0a7388eac2ee5bac.1651440202.git.maciej.szmigiero@oracle.com \
    --to=mail@maciej.szmigiero.name \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mlevitsk@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    --cc=vkuznets@redhat.com \
    --cc=wanpengli@tencent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.