Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp172583ybh; Fri, 17 Jul 2020 23:40:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYFZQtg58LxUmZGnkuhlLbtBODPfeypZB8nZY2aq4DIb8nJ2DY9FvyE3j/3W+0aGfQrlZt X-Received: by 2002:a50:e8c9:: with SMTP id l9mr12466095edn.272.1595054413246; Fri, 17 Jul 2020 23:40:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595054413; cv=none; d=google.com; s=arc-20160816; b=hdHPvb3Z999gjnIjkjJkxmvUKTjnKE8ygHH+enfm7Jy2pRGyxNNdBxTcb578MVE//Y wkzm2sHlPk0gmIDqmUP5yAljW0VVNlvUxdp3d4VHiuR+P3EXpn15Lrf5qeWOQKvxnKNs zRQH5pYt2DqTPWJWHfujTlvnMv2RU5X++VakbqSKP4If90xvSy/8t/zrFwWjoNWFB96C L7sUOMIojWBgwzwn/jpfOW4Q+9XINxQtDN8ezRmdkVk/pq+UeAhNaT2WRPJzIuCF7rjV zTol2NbFJiBelEYfOCSvCRp2ZcT2Kp3iKL5+CSToUlZjiWCjRHjFnAjwq5ZnGoVaRIgI 5qLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=MKoVqSru4+fXOx2G/4POHKV5IR3Yqrl75P5U4YVj6Qk=; b=jt9o9Vy3rXnBOCk2cSHcSKrPxPSv0qi3l9Kj/LnuqNqrL57IsRuXPn11yx6s3X8pD1 l1dPzjjHutwXbe6a3yIVRGpeQmxp+WMdjOPRhywKduArUwN8B1gJDVPoi7EqV/1tB8Dq B3wBCUlxeFoz1bMReJTupz9OqMu2vM0TdCBrHh3qy7/8ORqxEzKmcvIZbAP/MVPnwOf2 y5i75SZfbusNDQtqPfElTv/O+uQpKPrqk71ZMHnbZmOOrJXIPvKtFBJDqwa5sSNnKlJb Us26pzoWbwebPQK+EHpadPfLL1Kd3UgF/1ekGOsTqytJjTHAUMGD8Wbqta+A+L25dvmJ tZLg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bc17si5901578edb.392.2020.07.17.23.39.50; Fri, 17 Jul 2020 23:40:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728983AbgGRGjZ (ORCPT + 99 others); Sat, 18 Jul 2020 02:39:25 -0400 Received: from mga09.intel.com ([134.134.136.24]:30319 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728885AbgGRGjC (ORCPT ); Sat, 18 Jul 2020 02:39:02 -0400 IronPort-SDR: HF0OWvTOrsqwQd0hmHtbS+9Y+LJs8S6wPwfe8OSGoehm2F8v6UP2zSgWdfe3AWIx7Bgi/vPzq3 dK18SKwfrOOw== X-IronPort-AV: E=McAfee;i="6000,8403,9685"; a="151079557" X-IronPort-AV: E=Sophos;i="5.75,366,1589266800"; d="scan'208";a="151079557" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2020 23:39:01 -0700 IronPort-SDR: cl9cebjvW17T7Eyzjt7GJZ4C5Wv+xEe263Z3dsxfoqDbrIwuQKqlu0lPV344dm5sC5qQ0hcMX+ R4/zvgr8Mtpw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,366,1589266800"; d="scan'208";a="486690970" Received: from sjchrist-coffee.jf.intel.com ([10.54.74.152]) by fmsmga006.fm.intel.com with ESMTP; 17 Jul 2020 23:39:00 -0700 From: Sean Christopherson To: Paolo Bonzini Cc: Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/7] KVM: x86: Add macro wrapper for defining kvm_exit tracepoint Date: Fri, 17 Jul 2020 23:38:52 -0700 Message-Id: <20200718063854.16017-6-sean.j.christopherson@intel.com> X-Mailer: git-send-email 2.26.0 In-Reply-To: <20200718063854.16017-1-sean.j.christopherson@intel.com> References: <20200718063854.16017-1-sean.j.christopherson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Macrofy the definition of kvm_exit so that the definition can be reused verbatim by kvm_nested_vmexit. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/trace.h | 69 +++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index 4192b72c72fd8..6cb75ba494fcd 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -235,42 +235,45 @@ TRACE_EVENT(kvm_apic, (isa == KVM_ISA_VMX) ? \ __print_flags(exit_reason & ~0xffff, " ", VMX_EXIT_REASON_FLAGS) : "" +#define TRACE_EVENT_KVM_EXIT(name) \ +TRACE_EVENT(name, \ + TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa), \ + TP_ARGS(exit_reason, vcpu, isa), \ + \ + TP_STRUCT__entry( \ + __field( unsigned int, exit_reason ) \ + __field( unsigned long, guest_rip ) \ + __field( u32, isa ) \ + __field( u64, info1 ) \ + __field( u64, info2 ) \ + __field( u32, intr_info ) \ + __field( u32, error_code ) \ + __field( unsigned int, vcpu_id ) \ + ), \ + \ + TP_fast_assign( \ + __entry->exit_reason = exit_reason; \ + __entry->guest_rip = kvm_rip_read(vcpu); \ + __entry->isa = isa; \ + __entry->vcpu_id = vcpu->vcpu_id; \ + kvm_x86_ops.get_exit_info(vcpu, &__entry->info1, \ + &__entry->info2, \ + &__entry->intr_info, \ + &__entry->error_code); \ + ), \ + \ + TP_printk("vcpu %u reason %s%s%s rip 0x%lx info1 0x%016llx " \ + "info2 0x%016llx intr_info 0x%08x error_code 0x%08x", \ + __entry->vcpu_id, \ + kvm_print_exit_reason(__entry->exit_reason, __entry->isa), \ + __entry->guest_rip, __entry->info1, __entry->info2, \ + __entry->intr_info, __entry->error_code) \ +) + /* * Tracepoint for kvm guest exit: */ -TRACE_EVENT(kvm_exit, - TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa), - TP_ARGS(exit_reason, vcpu, isa), - - TP_STRUCT__entry( - __field( unsigned int, exit_reason ) - __field( unsigned long, guest_rip ) - __field( u32, isa ) - __field( u64, info1 ) - __field( u64, info2 ) - __field( u32, intr_info ) - __field( u32, error_code ) - __field( unsigned int, vcpu_id ) - ), - - TP_fast_assign( - __entry->exit_reason = exit_reason; - __entry->guest_rip = kvm_rip_read(vcpu); - __entry->isa = isa; - __entry->vcpu_id = vcpu->vcpu_id; - kvm_x86_ops.get_exit_info(vcpu, &__entry->info1, - &__entry->info2, - &__entry->intr_info, - &__entry->error_code); - ), - - TP_printk("vcpu %u reason %s%s%s rip 0x%lx info1 0x%016llx " - "info2 0x%016llx intr_info 0x%08x error_code 0x%08x", - __entry->vcpu_id, - kvm_print_exit_reason(__entry->exit_reason, __entry->isa), - __entry->guest_rip, __entry->info1, __entry->info2, - __entry->intr_info, __entry->error_code) -); +TRACE_EVENT_KVM_EXIT(kvm_exit); /* * Tracepoint for kvm interrupt injection: -- 2.26.0