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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2DDD1C433FE for ; Sat, 19 Nov 2022 01:36:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Reply-To:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID :References:Mime-Version:In-Reply-To:Date:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=knr5bgLZhArfVPSPGdN1XJL5LDnGjiGKBXFUOwdRlDo=; b=oxxsuybgE+qB/L WfAYU20A2rn4cjGj7QyF1x+qokHrk9CXM0sk4/10LXftulQGGusq0fbYs2b93SwWr6W3189jbzskE dJP4cEjn7+I4lCwmIHM2KJWvf2uyUhQevFQILxlrMPF08nfvYkhRhM4q8p32DgvUFfd2sPrM4x6vK ULiWJEze4LTE4JgWx3vf56jsZJops4Hr3FkH31DO6lSxlIJhaAXjIC1zbM4JoU2ryh7Tsq7de5rJ8 eceiDmDwtZgCndTTCL+7yIgQ6hQqp8wkU/SLwDrNOmyR77VQLDb4TODcog9zz1+Iv4qjYzteSKr1Z BNqOLeeb0zQRkVlZ19WQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1owClC-009w3p-3A; Sat, 19 Nov 2022 01:35:10 +0000 Received: from mail-pl1-x649.google.com ([2607:f8b0:4864:20::649]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1owCkz-009vd7-2z for linux-arm-kernel@lists.infradead.org; Sat, 19 Nov 2022 01:34:58 +0000 Received: by mail-pl1-x649.google.com with SMTP id u6-20020a170903124600b00188cd4769bcso5017266plh.0 for ; Fri, 18 Nov 2022 17:34:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=ainK2RDn+jZipfmA59p8DPXtbCjd5fvmnXnNzM45Lqs=; b=ElbaUsSFUGAHxw9FaGIh9WqW076YqYTniSp+9sLgIbyAZGXc9q18pS+d+PVOfEWLyg Kx/QdBqkeFSoCaN0e1TOjAh4OmvJCcZTfbRkoIs9Pa9Ier3h3eU6dfc5nhMeLRYb7If1 R8gMGaRsYzdOWxgY6umO5g2RAl06ZRzk4tCJFWsOlqsTdFgeOz+FKVhUFHG0gjETIWMB SJsXPpuWt8ijNGjeVGXQ26qTfp0uSqxFA3Tr0kPraQUGqTQxkgiCsPpjq4Ug8UUJokHo 3S2V7A4WGHkj82py+dbabm8Ds9t2svz5QsJ1xSBiuk9loWQwWH1Z8uCRnLa36e7zSQDg hRig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ainK2RDn+jZipfmA59p8DPXtbCjd5fvmnXnNzM45Lqs=; b=eoYL22ApUvSFAxYdH926YfzTnXbDj2fkKaaNwNxzyrfG+SFx+Ps8aO+8hQBxweNzhB 5ROmEyQfigxB0/7Rvvq7inY+y3mLRQiR8NzZfDNViBoBEiWb3n9vgFc5Bjw/EqumfUB8 VF2SwsLTJCO4ISOBTWCmOFzDEzTnZxParhApjVB5xgU8KRsElyKl24gkPe/SKshbEmt+ amFmvebbR6hTn7ljAFIkNls9Hc+911wNdK5MT5A7T7+lCo0f+GaHl4IR8NR2qUcWZMdM 38KKbAsfLXoXtE1c9bfEU2DUcygs8XnWTUr3rI+99DI27B0umyPGadsCtuYOwsVtoq2b f/5g== X-Gm-Message-State: ANoB5pm0XjUlKfDB8P9edZiUDHQgPdbQp5J2IZMV6DraJWkD+ZWtyPEJ qKQPyrIdDmnc8644qGs82LRA0e/Y6S8= X-Google-Smtp-Source: AA0mqf6tFBmKyZhX4sewzWE/FLSMviulSVp5ypejrlokkSGEnAY1MSlwDguv1kCBOyWnNtV82VmzeHcBdl4= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:902:ca14:b0:187:3fc8:986e with SMTP id w20-20020a170902ca1400b001873fc8986emr2206032pld.4.1668821695384; Fri, 18 Nov 2022 17:34:55 -0800 (PST) Date: Sat, 19 Nov 2022 01:34:42 +0000 In-Reply-To: <20221119013450.2643007-1-seanjc@google.com> Mime-Version: 1.0 References: <20221119013450.2643007-1-seanjc@google.com> X-Mailer: git-send-email 2.38.1.584.g0f3c55d4c2-goog Message-ID: <20221119013450.2643007-2-seanjc@google.com> Subject: [PATCH 1/9] KVM: selftests: Add rdmsr_from_l2() implementation in Hyper-V eVMCS test From: Sean Christopherson To: Yury Norov , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Marc Zyngier , Paolo Bonzini Cc: Andy Shevchenko , Rasmus Villemoes , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , James Morse , Alexandru Elisei , Suzuki K Poulose , Oliver Upton , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, Sean Christopherson X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221118_173457_147628_B0BE3A2B X-CRM114-Status: GOOD ( 10.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Sean Christopherson Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add rdmsr_from_l2() in hyperv_evmcs.c, it got left unintentionally omitted when applying code review feeback on the fly. Intentionally duplicate the code that's in hyperv_svm_test.c, the helper really should not exist (L1 shouldn't clobber GPRs) and will hopefully be removed sooner than later. Until that happens, deter other tests from using the somewhat misleading helper (it doesn't actually read L2's MSR value). Link: https://lore.kernel.org/all/Y2FFNO3Bu9Z3LtCW@google.com Fixes: 860e80157068 ("KVM: selftests: Introduce rdmsr_from_l2() and use it for MSR-Bitmap tests") Signed-off-by: Sean Christopherson --- tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c b/tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c index d418954590b1..ea58e5b436e8 100644 --- a/tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c +++ b/tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c @@ -31,6 +31,15 @@ static void guest_nmi_handler(struct ex_regs *regs) { } +/* Exit to L1 from L2 with RDMSR instruction */ +static inline void rdmsr_from_l2(uint32_t msr) +{ + /* Currently, L1 doesn't preserve GPRs during vmexits. */ + __asm__ __volatile__ ("rdmsr" : : "c"(msr) : + "rax", "rbx", "rdx", "rsi", "rdi", "r8", "r9", + "r10", "r11", "r12", "r13", "r14", "r15"); +} + void l2_guest_code(void) { u64 unused; -- 2.38.1.584.g0f3c55d4c2-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel