From patchwork Sat Nov 19 01:34:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Christopherson X-Patchwork-Id: 23173 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp510963wrr; Fri, 18 Nov 2022 17:55:19 -0800 (PST) X-Google-Smtp-Source: AA0mqf4yJYrtDSt5wm2jCmD7REnbkaWMRduEa3OboQ8bp5My0ExALpIGELmuahr00zX3xhizrXCM X-Received: by 2002:a17:902:bf06:b0:188:d3b1:dbfc with SMTP id bi6-20020a170902bf0600b00188d3b1dbfcmr2063895plb.127.1668822919094; Fri, 18 Nov 2022 17:55:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668822919; cv=none; d=google.com; s=arc-20160816; b=hww2Ow43lEef4MOmxNl5XsMaw20hnnei/019XOCEhlUQfGha8F9xHihlXf34cOsqj0 Sl1bKWPyPsKvamQbr1zZ0okVS8a0aRZGtjbdyR+C0n3PEHhlmizPF39D+IF7TvkJl/IB pXRRqiGYA1Ey2wHxi0EMaTRsba9ppBqEe3Dw6nqaopBy2eNpoZyW8EYD2L6QLQXQbpX0 QQ6/L2MQMmOjqBhoDLdkpUvR0MrHkH4Ve9yYUHBluqMCu9BSAfvkRMwtMGgzWWUFe1X7 ti9WAYq4R6hj8U1ooxxwiCZhC4I0yeCPh6X0rmrZ+GkD9b76rc+hdOzy8N6zVtj3s2/V 21Gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=ainK2RDn+jZipfmA59p8DPXtbCjd5fvmnXnNzM45Lqs=; b=m8RHfC0aOUMNzVeIwlpOM1jV+VW5LUBlbvDPT1q25Q9ohKl1fEyEart24XHIp1PePg V1p7oY/50VrXKlSIJJuxFvQx6oF6WL9YcJ1rROqP1XteYbZP/KcmEkM/WpCMsMlAHb7n nK0k3SQ1E6Qe6KGoFDlj754rYq2jjo+JU6lqLZEg6Fs/dmoTNSLxQqGxWNte2dacrXgA L3r2OH8fTO2F1zPgOtf2mKci1itFqNW0U3B6RAKT9zW48mQMzOOARIpiMIRJrCVIUUYF JP3tEO2QsrV7aNar3X2ktDL4BMm3wpGwVY3Gm5dJVzu+V5lvlGqjB6+NF45Cg/gMQOUI 5JmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=ElbaUsSF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c19-20020a17090abf1300b0020d9f618c4asi7854127pjs.17.2022.11.18.17.55.06; Fri, 18 Nov 2022 17:55:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=ElbaUsSF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234073AbiKSBxE (ORCPT + 99 others); Fri, 18 Nov 2022 20:53:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232994AbiKSBwm (ORCPT ); Fri, 18 Nov 2022 20:52:42 -0500 Received: from mail-pj1-x104a.google.com (mail-pj1-x104a.google.com [IPv6:2607:f8b0:4864:20::104a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 11D32C4B63 for ; Fri, 18 Nov 2022 17:34:55 -0800 (PST) Received: by mail-pj1-x104a.google.com with SMTP id my9-20020a17090b4c8900b002130d29fd7cso7638361pjb.7 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=W/QB5Lerbme1hi+vCgI83I/dxj63cNwkYJdcTZUWSkWqknb7k7vLyoeNvg7+nuOvhS E9OEPYSd7sIPQ4RWOuUu1G5eG0T2zKUOE7+PnG1gPmCOdzPxtvLLpggBp7cHNiuJqc0s zfYM5niXHIW2cBU90fvt1KqKnJx8YnDRm82mz3vF4WOW4/ccNcbNJ4EW35FC6lRkyBFR Se9RK6uYxBip4yIOmHnrYQuYsVrBvIndKgETCawxjfxAGl1txb0551zhsRTiDFxjNM8v SNNPDuaXGW/JZ6KQX6IdRjE/Dt6GmAroLmme3+NutZAVJWRikP05x4AIv1nJ3/1wKDW5 +Hjg== X-Gm-Message-State: ANoB5pmBA6/JozLO8bNvpjx1qeKnPKkDUdkpztIYtdGt9MrEUnvtrskF 61YI/N8JVnRhO+/1RfiMQ88eHTULDiM= 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) Reply-To: Sean Christopherson 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-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749887661179980908?= X-GMAIL-MSGID: =?utf-8?q?1749887661179980908?= 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;