Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp3165239pxt; Mon, 9 Aug 2021 19:10:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxBRl0iTw1k3pA2ifNovTAvylU/UcOMnG61qSBbs2WPSVsv98jluTLFeBOwT9+4pSU+KHDm X-Received: by 2002:a05:6402:138d:: with SMTP id b13mr1815631edv.355.1628561430305; Mon, 09 Aug 2021 19:10:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628561430; cv=none; d=google.com; s=arc-20160816; b=txJCyfD/CnQTf+OG5wT770VwT4iVLetQhItbZr6fV7fSibXJJMVowE1e546PCCRfZr Mh4tP74M3MJjXF2KnV1mI1jKykbvOZB7bqP8k4smYXhCoaUafueWHSyDlYzt9CTFeSGk EV0UXGSl8ntvZqhe6sA+rN2OYcZqnTRhYmv1tf1hcdECbZb2nRsOgW4WOchQdmWM1dyU 6YfIjAHlKrV4DxMjlaajiEboU5kmZTz8g5KKUg5fkeykr1M1gLR3dc5kq2orKqGkvEMc CioORx2LPskRvGXUMGXP/0VQoWlHx62egdn1NTorn5Htq6F5zTXM/GW9pfUhGrWHpjOU Dy5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=6lFWU9kEs8Duz3Qg+FWy3/e8wqjXbR0QLyXUPO6V1Cc=; b=eNsCrx/+VeMyC0z+WUhoKnWXZTceNQa+DMHZmj/ps5tygrFRw3BymUxTGkl7+W5uM3 Z5hUsCUeTsZaCkANti1hpZafsGWo4J3V3zTtP1AqEs9t0yAe6ci2JhCzBBQarCwAvDbB yqhV5YoadM8FSuI+nuRNrsOiYghwT9hhOKfScWvKw7D397F93a0tYcVXitTYgo5yzBsz Jjk5R4d3F6DwbypVet+Du6eUK2MnkuhYl08voX5YTdwpNFCMXtTLRpUI7WFlW0OBxL1l 8ZevfJoHTUozWP/OXuVoxS1lFuH1KrG3uqh556+MiH8zPtTMMzvFjcXbidaHvdfLil/g WHpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=V+cJP3sR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k25si19618170edf.34.2021.08.09.19.10.07; Mon, 09 Aug 2021 19:10:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=V+cJP3sR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S235049AbhHIVuV (ORCPT + 99 others); Mon, 9 Aug 2021 17:50:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232193AbhHIVuV (ORCPT ); Mon, 9 Aug 2021 17:50:21 -0400 Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com [IPv6:2607:f8b0:4864:20::336]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2816FC0613D3 for ; Mon, 9 Aug 2021 14:50:00 -0700 (PDT) Received: by mail-ot1-x336.google.com with SMTP id d10-20020a9d4f0a0000b02904f51c5004e3so15287689otl.9 for ; Mon, 09 Aug 2021 14:50:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6lFWU9kEs8Duz3Qg+FWy3/e8wqjXbR0QLyXUPO6V1Cc=; b=V+cJP3sRChCECwUX2o9rH1D4X4ebBprSyPlS7FnKPA8m+8z+5UyrAfX8DIjf/bFGH6 Jwckq3Wl505pTQX6VkmS1rCtIUtztxN+lkyKR49DsfGtm7OsoVHx3aX52g4Atj73o1Q5 KCQ+YaPHPAVQy7kZpUBPWnIka0FAHFST8zgoXkT9exGJ/VFhuUuLmMLQt8aXsMh/HPgx vPLTOJW3fHlXHG1cuT3tQKRYr9rQ49maE+EKY1m6ZrR9LUjJrmTgTlPy9JzCT1I7umRn QfewxzTxHHHVvblLKjp0jnl4Dx5xsxXHO8zFQ0jeDe9AJhIbNK5q/LdODlu9IuRetFG9 sbpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6lFWU9kEs8Duz3Qg+FWy3/e8wqjXbR0QLyXUPO6V1Cc=; b=kyLdBS/ItNviVcHXAiWqsCwxccGt6ey4udwbY7qSIEA+sBsytOUoNL1cKpXQkxBpRr O2mS+oWaA9nDUkx3BHe22oJfJ4bGEPmHQDDsoFv7b/Z5u+7NtmnpoFxqj3K2CtcjHKDv ykI9bfuIqOokvcBznQrNCzc74OccMWru08LR1oRZGtSkORwYhSXWPLhxWBlJzAC8YJDH OMOnBCcn47mxI1GOfN6nM8J0PxC2/j4mEfXhaLfKxby5v6bzmoT90HTapJGNxKNPvbRq CU/7dp+CNNJREBvvPAJV6SeIizfTIrAcXcHQib3B9cCsbdKkoyKuaxVCKuB3lCrjAdCn 1edw== X-Gm-Message-State: AOAM533SmbQ9oUE2DmShhkc2P+sPE9ps1DqNQvyxsYGYWrHw0sX1HF5W WJKqhnPJBBYAHqJmil5yFoSHaZNmbrEv/9rRIfdrvw== X-Received: by 2002:a05:6830:108d:: with SMTP id y13mr15967673oto.295.1628545799270; Mon, 09 Aug 2021 14:49:59 -0700 (PDT) MIME-Version: 1.0 References: <20210808192658.2923641-1-wei.huang2@amd.com> <20210808192658.2923641-2-wei.huang2@amd.com> <20210809035806.5cqdqm5vkexvngda@linux.intel.com> <20210809042703.25gfuuvujicc3vj7@linux.intel.com> <73bbaac0-701c-42dd-36da-aae1fed7f1a0@amd.com> <20210809064224.ctu3zxknn7s56gk3@linux.intel.com> In-Reply-To: From: Jim Mattson Date: Mon, 9 Aug 2021 14:49:47 -0700 Message-ID: Subject: Re: [PATCH v2 1/3] KVM: x86: Allow CPU to force vendor-specific TDP level To: Sean Christopherson Cc: Yu Zhang , Wei Huang , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, pbonzini@redhat.com, vkuznets@redhat.com, wanpengli@tencent.com, joro@8bytes.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 9, 2021 at 8:30 AM Sean Christopherson wrote: > > On Mon, Aug 09, 2021, Yu Zhang wrote: > > On Sun, Aug 08, 2021 at 11:33:44PM -0500, Wei Huang wrote: > > > > > > On 8/8/21 11:27 PM, Yu Zhang wrote: > > > > On Sun, Aug 08, 2021 at 11:11:40PM -0500, Wei Huang wrote: > > > > > > > > > > > > > > > On 8/8/21 10:58 PM, Yu Zhang wrote: > > > > > > On Sun, Aug 08, 2021 at 02:26:56PM -0500, Wei Huang wrote: > > > > > > > AMD future CPUs will require a 5-level NPT if host CR4.LA57 is set. > > > > > > > > > > > > Sorry, but why? NPT is not indexed by HVA. > > > > > > > > > > NPT is not indexed by HVA - it is always indexed by GPA. What I meant is NPT > > > > > page table level has to be the same as the host OS page table: if 5-level > > > > > page table is enabled in host OS (CR4.LA57=1), guest NPT has to 5-level too. > > > > > > > > I know what you meant. But may I ask why? > > > > > > I don't have a good answer for it. From what I know, VMCB doesn't have a > > > field to indicate guest page table level. As a result, hardware relies on > > > host CR4 to infer NPT level. > > > > I guess you mean not even in the N_CR3 field of VMCB? > > Correct, nCR3 is a basically a pure representation of a regular CR3. > > > Then it's not a broken design - it's a limitation of SVM. :) > > That's just a polite way of saying it's a broken design ;-) Doesn't this break legacy type 2 hypervisors that don't know anything about 5-level NPT and don't have any control over whether or not the host uses 5-level paging? > Joking aside, NPT opted for a semblance of backwards compatibility at the cost of > having to carry all the baggage that comes with a legacy design. Keeping the core > functionality from IA32 paging presumably miminizes design and hardware costs, and > required minimal enabling in hypervisors. The downside is that it's less flexible > than EPT and has a few warts, e.g. shadowing NPT is gross because the host can't > easily mirror L1's desired paging mode.