From patchwork Fri Dec 23 00:13:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Annapurve X-Patchwork-Id: 36023 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp55722wrn; Thu, 22 Dec 2022 16:15:06 -0800 (PST) X-Google-Smtp-Source: AMrXdXuSkzP+/18sFFfmBOEF0XbEG5qjBodek+URKCA8pdyXldPe4pmhXilWRT10JuLkvlAIvaiI X-Received: by 2002:a17:902:ea02:b0:189:38a1:8c04 with SMTP id s2-20020a170902ea0200b0018938a18c04mr27017573plg.50.1671754506504; Thu, 22 Dec 2022 16:15:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671754506; cv=none; d=google.com; s=arc-20160816; b=Coc/zR7rfLyZjFKKnA2j8AqNDuQaq/sTMOZMapIFLQHJL4/8bV0kwdDgsmxv7iSc5i fr+kr1NO/ehaiR2BbXfFwjPCYK0uXauP2Ib+vdazNnARqPGWRDX+VFhn5FNiLqMj5iMo 9H5xVJ1CBowLXTL46+ZrZim9n/TuVLzQFirb4pI3dZYFnVgBsID9YhMWoF1YjvfbiOOd kg7N8UKeP1D/kFe6sUqmw7lFzLWmqouL1vTofp1aP54KUQoAJS9BYZtB86tz4zETpy74 dqUdU8XOhCPBzpghWiJkXDKi6YT1iIF7QwJiG9rqZOdc37TA59m/5V8V+xwr+vk5Hlev hfSg== 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:dkim-signature; bh=EZopER/s4tiFrvreBNvA+OQLVRUFqUiISvcp+c+5UHk=; b=FCI3/RjsRbI1ZUuHo2t6a+sXB9vBU8VWbY7BZ6Pj2VScpnJ/eXuTCaup1ihc1F/QI3 y9w7ZHQkwIzmK2W9OJ7S6Enmu79zlIQR1vuip4M2DyX4u9weVQf98Z0paIiSN+clOEHT htUfZ2EZOwVIoy/lOULIHh/eFaaNTbmEiXG5N6UZl+y/Uo2yBApIp6r3nKM8JKWCDSa9 XAz2atb7NJSe9DPLphzxmgHwVOzYeFahkDrVrn+oHnmHKY8rvC7ZDGQft94L38DWmChn 7iFb8jQsQCCKyUU9TaDbTVUwIg5JeQvaURQZe1Ys76Y5swxlroDJoUHHdidLsBRx6Ybe WfPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=HUHXH4BE; 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 q15-20020a170902eb8f00b001869b988da6si1797402plg.402.2022.12.22.16.14.53; Thu, 22 Dec 2022 16:15:06 -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=HUHXH4BE; 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 S235788AbiLWAOe (ORCPT + 99 others); Thu, 22 Dec 2022 19:14:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235573AbiLWAOJ (ORCPT ); Thu, 22 Dec 2022 19:14:09 -0500 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 61F6D2873B for ; Thu, 22 Dec 2022 16:14:07 -0800 (PST) Received: by mail-pj1-x1049.google.com with SMTP id me18-20020a17090b17d200b00219f8dc7cb3so3945759pjb.4 for ; Thu, 22 Dec 2022 16:14:07 -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:from:to:cc:subject:date:message-id:reply-to; bh=EZopER/s4tiFrvreBNvA+OQLVRUFqUiISvcp+c+5UHk=; b=HUHXH4BEFdjasI8KjN0DUcFgQ332DM1EZL/VY94UC6Bde5YG+dsLST21wPEJeWfbWE wY4rri7V8MWRDYmpHskMTKvqqoxLZBtWuJC7SsHzFUIHkRoL0PTqLj7lSni34hAjQObJ xlXyImG913s4gNZ8WDm9+nM7U9HGJqblab9uMnFqkO+wPGJc1j5U63dgGp+POZhikZLP j/rXDR7gmy5jND0wk+OXc9YgUJodEbji4Jn4yijCKodYA82gSADK6f7xteIR75w0gdzX tsixo1K5xYhwzfwRZhv6jAu4TVv612TEO75bFQbxpJ3LOTl3mCEK6W07rf9eGXcjdcjY DPNA== 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:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EZopER/s4tiFrvreBNvA+OQLVRUFqUiISvcp+c+5UHk=; b=eT00iv3ELABzGMjUd/UhT8wrfcIA7Vs4Y6qLGob0UMa50VA4colwarYdgqQNFX0dXU 0sZHSNek8Cs2jCuGrqKHM/H9lHZzWQAHaRFgSBQMbyNPDKmyEBtbnIyuHpcXOZYC/T58 sdXQx5taB5vH/XnqNKY02UTAe/dM/KquabZo4LY58JEGufaq3FtP0/mVbAYndvn5H9dL VU51+zKKBHuuZ9EhnbWtx7blyroF+tFJZzxclcic+bdTH9GH6BohOp0JjL2qnCROFsgs Wlj5wyScEBcda5Gg/C33vgLtCq9QT+wX1yldPJywY+7opLq2pIOy/u0DB56klAwUCYjq xz3A== X-Gm-Message-State: AFqh2ko+XrSwEbamS7sv8QyNFLacbics6QR9o5TWY5XHM5Itb4zPLNqW K6UQLw8VwAwjA8lvmDO+6fp/hZRFjl0ImZA1 X-Received: from vannapurve2.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:41f8]) (user=vannapurve job=sendgmr) by 2002:a62:3042:0:b0:576:f200:210 with SMTP id w63-20020a623042000000b00576f2000210mr505612pfw.67.1671754446844; Thu, 22 Dec 2022 16:14:06 -0800 (PST) Date: Fri, 23 Dec 2022 00:13:49 +0000 In-Reply-To: <20221223001352.3873203-1-vannapurve@google.com> Mime-Version: 1.0 References: <20221223001352.3873203-1-vannapurve@google.com> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog Message-ID: <20221223001352.3873203-6-vannapurve@google.com> Subject: [V3 PATCH 5/8] KVM: selftests: Enable pagetable mapping for SEV VMs From: Vishal Annapurve To: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: 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, drjones@redhat.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, seanjc@google.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, Vishal Annapurve 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=unavailable 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?1752961653368330763?= X-GMAIL-MSGID: =?utf-8?q?1752961653368330763?= Enable pagetable tracking and mapping for SEV VMs to allow guest code to execute guest_map_region_shared/private APIs. Signed-off-by: Vishal Annapurve --- tools/testing/selftests/kvm/lib/x86_64/sev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/kvm/lib/x86_64/sev.c b/tools/testing/selftests/kvm/lib/x86_64/sev.c index 96d3dbc2ba74..0dfffdc224d6 100644 --- a/tools/testing/selftests/kvm/lib/x86_64/sev.c +++ b/tools/testing/selftests/kvm/lib/x86_64/sev.c @@ -215,6 +215,8 @@ static void sev_vm_measure(struct kvm_vm *vm) pr_debug("\n"); } +#define GUEST_PGT_MIN_VADDR 0x10000 + struct kvm_vm *sev_vm_init_with_one_vcpu(uint32_t policy, void *guest_code, struct kvm_vcpu **cpu) { @@ -224,6 +226,7 @@ struct kvm_vm *sev_vm_init_with_one_vcpu(uint32_t policy, void *guest_code, vm = ____vm_create(mode, nr_pages); + vm_set_pgt_alloc_tracking(vm); kvm_sev_ioctl(vm, KVM_SEV_INIT, NULL); configure_sev_pte_masks(vm); @@ -238,6 +241,8 @@ struct kvm_vm *sev_vm_init_with_one_vcpu(uint32_t policy, void *guest_code, void sev_vm_finalize(struct kvm_vm *vm, uint32_t policy) { + vm_map_page_table(vm, GUEST_PGT_MIN_VADDR); + sev_vm_launch(vm, policy); sev_vm_measure(vm);