Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4445981pxf; Tue, 30 Mar 2021 08:03:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxbcP1UhgrpfyD0t3enAJw196UY5YdiH+aJ7ub+z6TwgCvLSc5MHFgdJuEiTFQ54VuSb1Hd X-Received: by 2002:a17:906:4cd6:: with SMTP id q22mr33758898ejt.469.1617116582344; Tue, 30 Mar 2021 08:03:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617116582; cv=none; d=google.com; s=arc-20160816; b=DQwpmLAiwPo/T6rCruQD8TWvsqZvn7Co6DtMM7PDwPXOKTLzcv3Pl6yyb70AXdwVVo hc4xgb6lMjgxUZBpD00UQLuokpcr+/okAix+Uo+JCKe7iFbmuzF/bT0QNRydlDkOZ4qB IGhId/IOtkSmB5biIydVC8cmpKeVLIHGFsbmRjcsf6wEDnR4e0ATxqqXOIW7ATaL+pZH y7rF2r1MSjvTR1QW5e1TA4YBOY1CcLUl5tOnnzDa5GcPY7Z1b5EDQS6EC3JgeV+xwhae LlZzdxpwrcEce2jWOTxX4qfYAzBlUA1smmi89No7KCI/pfuAxdryv/Kev/IhToxnSn/M ELJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:ironport-sdr :ironport-sdr; bh=X9ppmfWB3YGPBRFyI2WiCYFiWSxP2kkBK/lITAawTss=; b=WXdceJymbjrw1m6PV6Ger/VxnNoCgWsvzekBbop6PtXuNULPo/vDpSmWj2Qam2Z/+B KKzDv4wOPyjHt85ks3Hlohr2lQXWNo5lepoOM86pSyO+zoMUK/zAzX4eW5Q85zUibl6V BeB5nDK1pdwzF7s8yuJo2ERJHZ5vlWkjvo6D3BQtiXqBc1FJehEPAIpMUfGFSIOga+jz ya58ii1c+2uBkCNTxI8ChswqViAu18YjjyQo6Y3mO6DBvIxYaak8pO4KnFxsBSpR1AYL Gr5LwAZ+Wex7pG/xGOSQaDMZZXFaQudmnQDi4yNdCIXMVFcAY8WfOtqM/3ddA/4jnaff aPeg== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n7si15693077ejc.483.2021.03.30.08.02.37; Tue, 30 Mar 2021 08:03:02 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232032AbhC3PBd (ORCPT + 99 others); Tue, 30 Mar 2021 11:01:33 -0400 Received: from mga04.intel.com ([192.55.52.120]:59695 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230243AbhC3PBD (ORCPT ); Tue, 30 Mar 2021 11:01:03 -0400 IronPort-SDR: QfvX228gDcHShjlMj8FmfTKJVOqONtuZv8yNn2Rag7CM3x6KPjFmkulxLVLDDn3GQ3umU0SER7 Uy52zCVrdPxQ== X-IronPort-AV: E=McAfee;i="6000,8403,9939"; a="189541454" X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="189541454" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 08:00:52 -0700 IronPort-SDR: cwA5g1PrkPQK7LQY22+vw/ywGsL1WN+7sV8APB1hLtEPkDNLzyZdfgLU/NPvLpdhupjPcRecI2 YoGfVmAI6jNQ== X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="418205840" Received: from tassilo.jf.intel.com ([10.54.74.11]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 08:00:51 -0700 Date: Tue, 30 Mar 2021 08:00:48 -0700 From: Andi Kleen To: Xiaoyao Li Cc: Kuppuswamy Sathyanarayanan , Peter Zijlstra , Andy Lutomirski , Dave Hansen , Kirill Shutemov , Kuppuswamy Sathyanarayanan , Dan Williams , Raj Ashok , Sean Christopherson , linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 1/1] x86/tdx: Handle MWAIT, MONITOR and WBINVD Message-ID: <20210330150048.GB1285835@tassilo.jf.intel.com> References: <331b34e3d6153f0a7b0ab0a9a8cb5de71f0bfd93.1616803999.git.sathyanarayanan.kuppuswamy@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 30, 2021 at 12:56:41PM +0800, Xiaoyao Li wrote: > On 3/27/2021 8:18 AM, Kuppuswamy Sathyanarayanan wrote: > > In non-root TDX guest mode, MWAIT, MONITOR and WBINVD instructions > > are not supported. So handle #VE due to these instructions as no ops. > > > > Signed-off-by: Kuppuswamy Sathyanarayanan > > Reviewed-by: Andi Kleen > > --- > > > > Changes since previous series: > > * Suppressed MWAIT feature as per Andi's comment. > > * Added warning debug log for MWAIT #VE exception. > > > > arch/x86/kernel/tdx.c | 23 +++++++++++++++++++++++ > > 1 file changed, 23 insertions(+) > > > > diff --git a/arch/x86/kernel/tdx.c b/arch/x86/kernel/tdx.c > > index e936b2f88bf6..fb7d22b846fc 100644 > > --- a/arch/x86/kernel/tdx.c > > +++ b/arch/x86/kernel/tdx.c > > @@ -308,6 +308,9 @@ void __init tdx_early_init(void) > > setup_force_cpu_cap(X86_FEATURE_TDX_GUEST); > > + /* MWAIT is not supported in TDX platform, so suppress it */ > > + setup_clear_cpu_cap(X86_FEATURE_MWAIT); > > In fact, MWAIT bit returned by CPUID instruction is zero for TD guest. This > is enforced by SEAM module. Good point. > > Do we still need to safeguard it by setup_clear_cpu_cap() here? I guess it doesn't hurt to do it explicitly. -Andi