From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B04DCCA481 for ; Fri, 8 Jul 2022 23:23:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239440AbiGHXXS (ORCPT ); Fri, 8 Jul 2022 19:23:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239335AbiGHXXM (ORCPT ); Fri, 8 Jul 2022 19:23:12 -0400 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2CF3419B8 for ; Fri, 8 Jul 2022 16:23:11 -0700 (PDT) Received: by mail-pl1-x64a.google.com with SMTP id b2-20020a170903228200b0016bf00c3360so11787plh.19 for ; Fri, 08 Jul 2022 16:23:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=YCs/Ozya1DEi/lgLzfirR8Zlh6X4WyJYUDH8smOVNLc=; b=fM2FZMwhOjn0XFbozuKXIQ0p7ngjA3tLHPA2/jJN2AHxscipUW7ePQzlBV2U0kvScb iqESxrCm7SSafg3O8a2jO1SjtJTLTEOSV1JmCyytwFlnLV6zhlumK6L2vQeYtZXL+VyO eR8e7rTCxPhOrjQt1+WgOiy2zspv0q/eEOkultnrK0vaS61gW85M74cIM89MNqPYlsEC fwjutTQwOaMHXPbw6RuYIvcO3hgTyMLH8AfTyiHWySbq0FC2sj5JOSJyylNSri5SLan8 9qDsa360ZbB8p/7Jr0xcHtJ0TvCME3qU3TaE3EUG5POX7xWdTfOBsgGawl3UujCG+wlX m3iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=YCs/Ozya1DEi/lgLzfirR8Zlh6X4WyJYUDH8smOVNLc=; b=WULHYDhJRA43WH1+FwOl82nUOPdaqwfSsa55BEIiNNWRn/r2FOXeO8QWnzu6MBzAse h6yBoeLZ92VOjSxkyrqw9J0iEc+VvAEzxUA+Hb7CcFLDtVMxnQl2sfOlBjeliDOkUUar gjisfCHd5UaYpfuW7pDjXs1ZY0X41JK67G4xWjjo2rIyzMCJbObc1mihc8Dpv/pdLbCo B1ptVZEOcNEveKcyX4KBDJHvE7dKISWTGzfySIy3dzf4/sRZfv8pbYseipsvY9D5HWGd r99jd52tMXvVKwYsBv62VK5URqaXCpUrj9Z/y2Epe71lu2rVXRgCFmI2oihsS6GgrcoO cS+w== X-Gm-Message-State: AJIora/Uf2phGG05Drc3jqCFGtkuivIr8rHts1jN2DHtKZJ4OeiUuEtw n5zbGbQh7/ZhrY9YUWE0vDhBA/fa1vbF X-Google-Smtp-Source: AGRyM1vZxxcWg4+gD+2pS+oyj5Bm5xDUty77kz3mw24tt8ks5Tmjt8Oo9+IVWAjz/X5uQnH5fqqez+UZtR4Y X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a05:6a00:2384:b0:52a:b75b:1123 with SMTP id f4-20020a056a00238400b0052ab75b1123mr2170901pfc.8.1657322591304; Fri, 08 Jul 2022 16:23:11 -0700 (PDT) Reply-To: Mingwei Zhang Date: Fri, 8 Jul 2022 23:23:04 +0000 In-Reply-To: <20220708232304.1001099-1-mizhang@google.com> Message-Id: <20220708232304.1001099-3-mizhang@google.com> Mime-Version: 1.0 References: <20220708232304.1001099-1-mizhang@google.com> X-Mailer: git-send-email 2.37.0.144.g8ac04bfd2-goog Subject: [PATCH 2/2] kvm: nVMX: add tracepoint for kvm:kvm_nested_vmrun From: Mingwei Zhang To: Paolo Bonzini Cc: Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , David Matlack Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: David Matlack This tracepoint is called by nested SVM during emulated VMRUN. Call also during emulated VMLAUNCH and VMRESUME in nested VMX. Attempt to use analagous VMCS fields to the VMCB fields that are reported in the SVM case: "int_ctl": 32-bit field of the VMCB that the CPU uses to deliver virtual interrupts. The analagous VMCS field is the 16-bit "guest interrupt status". "event_inj": 32-bit field of VMCB that is used to inject events (exceptions and interrupts) into the guest. The analagous VMCS field is the "VM-entry interruption-information field". "npt_enabled": 1 when the VCPU has enabled nested paging. The analagous VMCS field is the enable-EPT execution control. "npt_addr": 64-bit field when the VCPU has enabled nested paging. The analagous VMCS field is the ept_pointer. Signed-off-by: David Matlack [Add several parameters and move the code into the nested_vmx_enter_non_root_mode().] Signed-off-by: Mingwei Zhang --- arch/x86/kvm/vmx/nested.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index f5cb18e00e78..7289187b020a 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -3367,6 +3367,16 @@ enum nvmx_vmentry_status nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, }; u32 failed_index; + trace_kvm_nested_vmrun( + kvm_rip_read(vcpu), + vmx->nested.current_vmptr, + vmcs12->guest_rip, + vmcs12->guest_intr_status, + vmcs12->vm_entry_intr_info_field, + vmcs12->secondary_vm_exec_control & SECONDARY_EXEC_ENABLE_EPT, + vmcs12->ept_pointer, + KVM_ISA_VMX); + kvm_service_local_tlb_flush_requests(vcpu); evaluate_pending_interrupts = exec_controls_get(vmx) & -- 2.37.0.144.g8ac04bfd2-goog