From nobody Mon May 6 21:26:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89818+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89818+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1652791446; cv=none; d=zohomail.com; s=zohoarc; b=Htv1nzUHqLp3VzDRLDR6nTuWK+CE3CWGab0MEBoXFjW9fClZoc1bvSvQEss2D/ARn1HJsRZQpJgDIXpf8rhBN/gualZkWvESUUtOc7NEeOu9FGo9vVmUNAbFr1Dcllq0CZbD0zXTta+szHnVVA/wYw1WorwYAyA593lLlvL/8nQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652791446; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=HJ9abCPM7TfThbM+OizrH5IX8H5T6b3Z2wgs3+QhMMQ=; b=T8aUSf29b+90XxiIsc898BsKUQwNhDfHLaodjy2/s/1jWETjdTEuS7tM5FlzIhZ+HlGdj9kamQqoxFkSTYlWv2WQkzA1yXgjlu/oAFS2Zqq9oxQKIMcmiixbjPsI83kybsBmy5w/RGF43deRbBOh9LgnZGn9ZivjI8k4XWTbNOk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89818+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1652791446538155.99526761188997; Tue, 17 May 2022 05:44:06 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Q0xMYY1788612xjuR1uYEdlh; Tue, 17 May 2022 05:44:06 -0700 X-Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web09.6696.1652791444281211050 for ; Tue, 17 May 2022 05:44:05 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10349"; a="258732499" X-IronPort-AV: E=Sophos;i="5.91,232,1647327600"; d="scan'208";a="258732499" X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2022 05:44:03 -0700 X-IronPort-AV: E=Sophos;i="5.91,232,1647327600"; d="scan'208";a="568875250" X-Received: from mxu9-mobl1.ccr.corp.intel.com ([10.255.31.65]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2022 05:44:01 -0700 From: "Min Xu" To: devel@edk2.groups.io Cc: Min Xu , dann frazier , Erdem Aktas , James Bottomley , Jiewen Yao , Tom Lendacky Subject: [edk2-devel] [PATCH] OvmfPkg/OvmfPkgX64: Use different CcProbeLib when SMM is on or off Date: Tue, 17 May 2022 20:43:14 +0800 Message-Id: <20220517124314.1021-1-min.m.xu@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,min.m.xu@intel.com X-Gm-Message-State: jOYqlLUAsZggls0a8PT5qv14x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1652791446; bh=zU7bRi2GHFqFcxws7Df9ECSDrnZXkMQkiTtUB3+vqko=; h=Cc:Date:From:Reply-To:Subject:To; b=n7/JfE/4JZvsxW6GaaTzdUirJZXFuKYOi+l2xLxzufY8al6yt09le1s0r6XMCgjDpTB MNZN5JUzUuVoruKWpm/UfWKp3elJ9asEqo6K9AvLimcPVFJ9RSpTkHcqi94Hco2pfqOVb k+Gp+e9H8EF2+wKNbPbB0/MVQYp2wT1EyQw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1652791446979100001 Content-Type: text/plain; charset="utf-8" CcProbeLib is designed to check the vm guest type. The OvmfPkg/CcProbeLib reads the OvmfWorkArea (0x80B000) to get the vm guest type which is written by each guest (SEV or TDX guest). But in SMM drivers the access to OvmfWorkArea is illegal. PiSmmCpuDxeSmm.inf is an example. It uses IoLib which in OvmfPkgX64 BaseIoLibIntrinsicSev.inf is included. The IoLib probes if the working guest is td guest by calling CcProbe(). So CcProbeLibNull will be included when SMM_REQUIRE is set. Currently only TDVF uses CcProbe to check the guest type, and TDVF doesn't support SMM, so this fix has no side-effect. Cc: dann frazier Cc: Erdem Aktas Cc: James Bottomley Cc: Jiewen Yao Cc: Tom Lendacky Signed-off-by: Min Xu Acked-by: Jiewen Yao Reviewed-by: Jiewen Yao Tested-by: dann frazier --- OvmfPkg/OvmfPkgX64.dsc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 71526bba31..db7f4def7a 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -171,7 +171,6 @@ PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPc= iSegmentLib.inf PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf - CcProbeLib|OvmfPkg/Library/CcProbeLib/CcProbeLib.inf IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHo= okStatusCodeLibNull.inf SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf @@ -198,6 +197,9 @@ =20 !if $(SMM_REQUIRE) =3D=3D FALSE LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf + CcProbeLib|OvmfPkg/Library/CcProbeLib/CcProbeLib.inf +!else + CcProbeLib|MdePkg/Library/CcProbeLibNull/CcProbeLibNull.inf !endif CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/Customize= dDisplayLib.inf FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltL= ib.inf --=20 2.29.2.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89818): https://edk2.groups.io/g/devel/message/89818 Mute This Topic: https://groups.io/mt/91162384/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-