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 964BBC38142 for ; Tue, 17 Jan 2023 23:50:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229864AbjAQXt7 (ORCPT ); Tue, 17 Jan 2023 18:49:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229624AbjAQXte (ORCPT ); Tue, 17 Jan 2023 18:49:34 -0500 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 68B174F344 for ; Tue, 17 Jan 2023 14:59:03 -0800 (PST) Received: by mail-ed1-x531.google.com with SMTP id 18so47259246edw.7 for ; Tue, 17 Jan 2023 14:59:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Bna1Go+FLPWZPO+Q65HkXvlvtGtXMjbIMGmdWudjb8E=; b=SXEXN4zAt0S8uxdQAAbuzPEfDs+2gUgOVxUyZIqwyoFvU5gUH+sBt+cuITwbAuo055 QQXw8bCXGg5lptXHjpWKN1NbFkKZxdfHss6hgNw10E9w9ALQHIuqPrnbBPrss6VjtRkb GP9ZiBSPUIBeenGZA5q++JngkMUWHGQyuwshey8h6xai6MQY7GeX84ai4MSaQ9GOHIYZ oP9J3yPcVpozQ9e0Fq6nAp3BrADANgplgrm2onZv9pDxFUPtVbO5xEniRfTdgQbC62dp acw8zhCv4aCs4G1sm0B/kziyBjM2RTVFiwoTONP9pY5D0QLq3sCJrziKfkiaea2ZBgYU Zu1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Bna1Go+FLPWZPO+Q65HkXvlvtGtXMjbIMGmdWudjb8E=; b=q63Zp7rFBM81Dy4i5x6/30XXpPsCX9LdiFhgB8NtJ4j5+YQaAP1LVlfkb9TzpJv5Y4 qLPM2rYv96ec3uGTR7rQtiwGyLcpmcSVtP/csHbWCM7URm7aTM7NQBf67pnFu54aX+xV naGO9AiVd1rvrpDH4VbNavx4WR5/7+BWkiLYvfuMBBwJ4jYb2/eeyCe5rW4phXM3IpJr tHv6HhgIXsr3dfTICxE5xJtkazsLcxuBbyU80KKJ9f1GYEhZJmC9gAjTCsAeF6xZhCE9 q+8vjQIr2xlxQ5XOSLduZVOncICjttrXEP4tN7vIWOuCTtFpgDLPxWMMQpmHHNS5cCRb +cUA== X-Gm-Message-State: AFqh2kqB+qoNFbSF+XmAM2DkJpgcmbyh6LS//o2xRkuPhjs5Hnqd/Oh3 1GgsWqEBaNqyfObhyRdKjz2z5Sd2T+9GM41naV3qlJ4Tmu04Mw== X-Google-Smtp-Source: AMrXdXtj/BOtB5PM/YeFNzbYlnJMctr7Ss11djAm3clEWb1KMmuzi1BrQwFCaY24rxwj7vdIeBQZOopIAXVc0CEtDdo= X-Received: by 2002:aa7:da51:0:b0:49e:4936:bbd8 with SMTP id w17-20020aa7da51000000b0049e4936bbd8mr31755eds.410.1673996341742; Tue, 17 Jan 2023 14:59:01 -0800 (PST) MIME-Version: 1.0 References: <20221205232341.4131240-1-vannapurve@google.com> <20221205232341.4131240-2-vannapurve@google.com> In-Reply-To: From: Vishal Annapurve Date: Tue, 17 Jan 2023 14:58:48 -0800 Message-ID: Subject: Re: [V2 PATCH 1/6] KVM: x86: Add support for testing private memory To: Sean Christopherson Cc: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, pbonzini@redhat.com, vkuznets@redhat.com, wanpengli@tencent.com, jmattson@google.com, joro@8bytes.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, shuah@kernel.org, yang.zhong@intel.com, ricarkol@google.com, aaronlewis@google.com, wei.w.wang@intel.com, kirill.shutemov@linux.intel.com, corbet@lwn.net, hughd@google.com, jlayton@kernel.org, bfields@fieldses.org, akpm@linux-foundation.org, chao.p.peng@linux.intel.com, yu.c.zhang@linux.intel.com, jun.nakajima@intel.com, dave.hansen@intel.com, michael.roth@amd.com, qperret@google.com, steven.price@arm.com, ak@linux.intel.com, david@redhat.com, luto@kernel.org, vbabka@suse.cz, marcorr@google.com, erdemaktas@google.com, pgonda@google.com, nikunj@amd.com, diviness@google.com, maz@kernel.org, dmatlack@google.com, axelrasmussen@google.com, maciej.szmigiero@oracle.com, mizhang@google.com, bgardon@google.com, ackerleytng@google.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 17, 2023 at 1:39 PM Sean Christopherson wrote: > > On Mon, Dec 05, 2022, Vishal Annapurve wrote: > > Introduce HAVE_KVM_PRIVATE_MEM_TESTING config to be able to test fd based > > @@ -272,13 +274,15 @@ static inline int kvm_mmu_do_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, > > .rsvd = err & PFERR_RSVD_MASK, > > .user = err & PFERR_USER_MASK, > > .prefetch = prefetch, > > - .is_tdp = likely(vcpu->arch.mmu->page_fault == kvm_tdp_page_fault), > > + .is_tdp = is_tdp, > > .nx_huge_page_workaround_enabled = > > is_nx_huge_page_enabled(vcpu->kvm), > > > > .max_level = KVM_MAX_HUGEPAGE_LEVEL, > > .req_level = PG_LEVEL_4K, > > .goal_level = PG_LEVEL_4K, > > + .is_private = IS_ENABLED(CONFIG_HAVE_KVM_PRIVATE_MEM_TESTING) && is_tdp && > > + kvm_mem_is_private(vcpu->kvm, cr2_or_gpa >> PAGE_SHIFT), > > After looking at the SNP+UPM series, I think we should forego a dedicated Kconfig > for testing and instead add a new VM type for UPM-capable guests. The new type, > e.g. KVM_X86_PROTECTED_VM, can then be used to leverage UPM for "legacy" SEV and > SEV-ES guests, as well as for UPM-capable guests that don't utilize per-VM > memory encryption, e.g. KVM selftests. > > Carrying test-only behavior is obviously never ideal, and it would pretty much have > to be mutually exclusive with "real" usage of UPM, otherwise the KVM logics gets > unnecessarily complex. Ack, the newly added VM type fits better here with SEV/SEV-ES and non-confidential selftests being able to share this framework.