From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.792.1662444703095292160 for ; Mon, 05 Sep 2022 23:11:43 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=WbTOt4yU; spf=permerror, err=too many SPF records (domain: intel.com, ip: 192.55.52.120, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662444703; x=1693980703; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=DNOs6kMASoUB4ixTFX/pNNACSlHGdJ0p4abmOzUqnnM=; b=WbTOt4yUegILcZIbYKxbSsYKmgpopMWbXMaGtv2TAH5c/NUukRa8Q56j FVRi3dqlKSd7SERGfF8fAUPpz0f0FSocY4XKh1wYIrXPGY0f/Gw4WcwIK ldSCyd9EsI6V8+M96a5hZvnjd/W9bO4Q4BBGdein52T/FQkk9N7/67I/P rVNWdvh9WF7CVLZ5Ev/sVIT0xXo6y7VMupcUTpv+SvD+Ko46KQTsKFzBv 3NB+dbam2xg3y1h0ldvunlghjq6zDXKZ/8bzwz74rQtSI2icYlpurKXVz 5ifkSn7Vc2CogwBmQJxWXzsXE8srzQONeo7IHQsDFs6A606yyYs6qZ+6g A==; X-IronPort-AV: E=McAfee;i="6500,9779,10461"; a="295248033" X-IronPort-AV: E=Sophos;i="5.93,293,1654585200"; d="scan'208";a="295248033" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Sep 2022 23:11:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,293,1654585200"; d="scan'208";a="613985474" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 05 Sep 2022 23:11:38 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 5 Sep 2022 23:11:37 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 5 Sep 2022 23:11:36 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 5 Sep 2022 23:11:36 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.43) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 5 Sep 2022 23:11:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QqDwbVFiOxwS6mCLKV/XxGN9Z/nkyXOFrU6mrY5HI26vF/YJF62qDa/5ZJo33RJxcoMmEvEw+grGIW+g78tI8KxYt9WyCUoLL1P02zMR8b9AGS84ZRj6SaDVuWNlMp7bANXu+iLrJx7bNdK3/V/wX5IOZbfp5hGoVyq2zXJl6XhlmGWopmhdUa8OlcTtYk+Y5xr2Xgd71f6MEdhAWAgSWXj54hDWr+WvB1tK+STJBd/rsTHy4a0ZYo7KTfB9ae2l3epW+9byUY2spfJJ9mKWXPmXrxOrxR7/u+SuwF/SwYY8ezVsCC5e4Z2lTB4NxbNicAoRYbWM9kEPKSukndnMSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=c1S1IMuanYmElaGzWGWK+FkOYdJiVKxtsr134vzNS5Y=; b=SERNAKU3nb5C++p+l/n0SXYne9MHdceSMiJmasjZAi5MZrd5rVXwZ6Uv9u5741Fr0n9yhm0ji3sUswlkIGpF6y+y5Td0lraN8T+ngJNYdiCdftO+D3otDCvj1UoNLsGE+QpI3cBNrq69Zn/9wTWeF7+qrQG4Yq9ODOGZa+yTiYvG9wB8iYnikUmw+8sKm2Vbg+aY3JwlNsLotMZ6bK3k1j8l+YestWunltOlVZO6CpcZW1QltOH5U3wgyVJDW95Csew5U1JfGxAnUNbD0whNfifW/U9NXgDZJ3+yI/abmtKd7C8Vk2n9tfQXXegnaj25MOPJe6ZyBV/ake+0GHCsUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by MN2PR11MB3838.namprd11.prod.outlook.com (2603:10b6:208:f3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.16; Tue, 6 Sep 2022 06:11:34 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::2080:d65f:9c32:7749]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::2080:d65f:9c32:7749%6]) with mapi id 15.20.5588.011; Tue, 6 Sep 2022 06:11:34 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "Xu, Min M" CC: Gerd Hoffmann , "Aktas, Erdem" , James Bottomley , Tom Lendacky , Yuan Yu Subject: Re: [edk2-devel] [PATCH V5 0/2] Re-design CcProbeLib Thread-Topic: [edk2-devel] [PATCH V5 0/2] Re-design CcProbeLib Thread-Index: AQHYvAx0zJulXNGOz068AeNaguKAea3R9tmQ Date: Tue, 6 Sep 2022 06:11:34 +0000 Message-ID: References: <170FF9CEE7D1A481.21714@groups.io> In-Reply-To: <170FF9CEE7D1A481.21714@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 32d57e3f-bb57-4cd0-2f0f-08da8fcea651 x-ms-traffictypediagnostic: MN2PR11MB3838:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GtDFvZlC3EAg+0zhRe+MMyrIpPPppknN2CPD4D6/CnYO3DCj/LWryUeG1z+kz87coL8lOJoZaMg0B7bWuPR+8tSX2mjsP4PT1l9cldEcjU/+9bQSGQ/QXVlXfxiwFWJ6mrHc3r6t3hKJPJG9KMgUugq6oyWCXHAFY9Er6IzuwVff1ZtnWIPHzo3YHUEMsps2GlpTwDVbQ8MRIITGUjcHC8CoEVFx2F7jOt72v3wnDj5Js9/SQ5dRKo13ArGMDHSzt7L2q6TMIOZa4vjUkBFzaMkH4h/DGBY02I7U7UnQNu4xcXnKYsIxsS2lb3OBMsUdcUfeXY3vPxKeGfnpOw55P3JgOG7eI+geczE1Q4RTBeMSkuSln4ZM4Cq0RuqDTZkTCWkE0SjpS+5RxpdhyN/msCLUb+Ia/K/VBQlmY4oMXdb7bVmfgtpHj/5Nx17VX6E3p3Y6zWWRp0l0K4HhcArRakKSq/YN0M5u96QL5gRjKBa+U03dmu6ETNFTaK1XZmEthUN3OPgekOd4YglxyMA9NR9ObKy2YuUL82gY9izGoDgiFDKmQDA9giFxkNnqXs3NS8jPDyjxsBUiwCTNoo3afK/7/PQet3ALvB6BIQewyDwULuxhPeBwAmGFsn06QAYojIQQgpqRcNu5ajURc8Tja1gJ3zOan9E6v9kiTMYfG7BJAm4fK6ZWiBQcBT3oeXWZbQJ7Uk5xxzpfuytoNIRobgSMBXQNZVi4Z1rmv7nIS464qmvW1mOWRCJcsbakJuVh3rDN8zH4e4ILmT/DZ0ShPIu0AwX0g6MLNO1/h5VBOKGbaKfu+SiRvKg8fwbMRx62KCNYD98sWD1ppNHCT/zSRCtCfWUTy2akBt+FJHfpPuw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(6029001)(346002)(396003)(366004)(136003)(376002)(39860400002)(38100700002)(83380400001)(8936002)(66476007)(41300700001)(6506007)(7696005)(55016003)(53546011)(38070700005)(33656002)(66446008)(52536014)(64756008)(86362001)(9686003)(966005)(66946007)(76116006)(2906002)(26005)(5660300002)(4326008)(8676002)(82960400001)(66556008)(478600001)(122000001)(316002)(6636002)(19627235002)(71200400001)(54906003)(186003)(110136005)(60764002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9L45m/lddDFGg4EP5xevNRUJX6zYKI8WpZmroPq/sXU/Fu+GQKbyzCb25KXd?= =?us-ascii?Q?K5RNIrFZ0FPmQCPgMKvwyIi/DSEqYAp7qc3xtOPMjeGSWOegQIZUkswoL/AE?= =?us-ascii?Q?aZf6pCO6QiCLEnW6O63iex+VOqH+ObPSr0N7zaaOSIjm2SVJW3EDdRdMj5NH?= =?us-ascii?Q?t+hk2c5Fqlit49EEe/Ov+hxsW5F3yolOkwYcwGnd4CpWvgrtXmil8eX6u2nl?= =?us-ascii?Q?03uBCQcjJQUiPyZiyMR0q0hhwTrPPO15UyQQtj6GxIt+EpcokxS2KWjUMK3U?= =?us-ascii?Q?oytoZhLccsAdxpEW/AKHhYTkhPWKcSg1ypibl+gVwUm2KShC3pW+ZiReFv3N?= =?us-ascii?Q?WnnW5b/gjH913Jdiq/k7KVyMYui6gZ1wwXhIBndfUHQW5GvE+4NolXaDLpvM?= =?us-ascii?Q?lO80kw6YE8IBdJRW3m6gDbKUp8nWFKFj+CR7EtT9fbZXYu0cv+prhYSZbDQT?= =?us-ascii?Q?fh/nBuYDpRVVHG2yQm/ca917jh0l2qnMtAfiV4CuBWRqlzlmIcFcIP7DQE46?= =?us-ascii?Q?CPrtUcRcYpYba/nVRW0rShvi6B4vGltz2o/T591XYuf/4x29GMM2Mt6iPKwj?= =?us-ascii?Q?f/YssgWx63HudS4vFq/YW5grznnxGwxpwm8olmFwFJBg5GOH8b31R0HLjyzQ?= =?us-ascii?Q?5Y5NcQUlcE1LRZI9Mk7kV+6Q1p9QNf5JnxLGPMyvSZV9BqAXm7joNjy6/Ozj?= =?us-ascii?Q?FT/8n2hgTAa2LBg9GnUFaCraAhRLrl1P4SgQY8fkCTm/bxX6FWb+iou7IrcW?= =?us-ascii?Q?2TsoUFFobS1lO26dL+H6Snr8AV2dQFyl4XvtL4axX1/nVm3ZQ60+qhU3q/NF?= =?us-ascii?Q?hJHEMujd+CJ3aRpsGh6/zlID3WAC1ce33+hKKvsP+nHKxdjTeVMI8SO65mVv?= =?us-ascii?Q?q9BFPm6W5lM5YWCFnIFwkUWlkpAoqFQkoMpNjKidncM0EHzjvg3f4JeGDIPs?= =?us-ascii?Q?mtXfjEwK+3hvW/hImjp2Sw58xeRLml8m0Zb8ZzF4ea8A18ex/9El2lVGc7rX?= =?us-ascii?Q?wz0FiEHZ2YIkBaqiYQQlDtHSC37C/VPtMR/5DHzAB1knjIoq6MKrUMhgorx4?= =?us-ascii?Q?iprfkXODB7ygG3TGNzFMO5Sl7VHiBVcS48y1Gq25uP+o3VKA7qsRzg5HjNel?= =?us-ascii?Q?m/aOz2r5D9h1R2uwEPowoec0/POGWj9nc7vq5z4DepHIPQEj888OLBVN66jZ?= =?us-ascii?Q?U2PvxMBZOQSS9emNOt+UkqI8sJwiSj2Se8FomZEgcIkCUgRIkhYRbo8yXucr?= =?us-ascii?Q?69RTLf8rKCBGgwLCjOyTfbCa5WDAsQ4uSHY8a2xD3EM9dHyeA29PEqZ8NacC?= =?us-ascii?Q?t/+gnxJmZ0v0Mer44UzzcRQ/Y2F3G+ozvkZ6JEORMGskjx/axQbL7GksFk8S?= =?us-ascii?Q?cJYEdbeER8nqpraXvOwbs9q5ok/zlKu/N8cR8THzb3hn4vgIUo7pNhXm/D38?= =?us-ascii?Q?M3RCPiC3FXHHgO5o+voP0SvBI3ALtJFRZXejt9o45cgCO08PDELpYKp51nj0?= =?us-ascii?Q?vNEsBbwbl4dV0NkyRHXwzwwNy7z+jwqFUINQq//hDxqKH/C+4da0Fto9R9Qn?= =?us-ascii?Q?2hhxciqThuxVzbzLrjyxc41K/USkLzxqob02CMvr?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32d57e3f-bb57-4cd0-2f0f-08da8fcea651 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2022 06:11:34.2250 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gjZugwqBCXlswcQ2ABMcgncdD3OF2Kawk5f2A4CrX1UJmkh5mo7obBSRirMq9oIVgD2wGewoXTXZ4unTKiVqWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3838 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jiewen Yao Merged https://github.com/tianocore/edk2/pull/3290 > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Min Xu > Sent: Tuesday, August 30, 2022 9:04 AM > To: devel@edk2.groups.io > Cc: Xu, Min M ; Gerd Hoffmann > ; Aktas, Erdem ; James > Bottomley ; Yao, Jiewen ; > Tom Lendacky ; Yuan Yu > > Subject: [edk2-devel] [PATCH V5 0/2] Re-design CcProbeLib >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3974 >=20 > CcProbeLib once was designed to probe the Confidential Computing guest > type by checking the PcdOvmfWorkArea. But this memory is allocated with > either EfiACPIMemoryNVS or EfiBootServicesData. It cannot be accessed > after ExitBootService. Please see the detailed analysis in BZ#3974. >=20 > To fix this issue, CcProbeLib is re-designed as 2 implementation: > - SecPeiCcProbeLib > - DxeCcProbeLib >=20 > In SecPeiCcProbeLib we check the CC guest type by reading the > PcdOvmfWorkArea. Because it is used in SEC / PEI and we don't worry > about > the issues in BZ#3974. >=20 > In DxeCcProbeLib we cache the GuestType in Ovmf work area in a global > variable. After that the Guest type is returned with the cached value. > So that we don't need to worry about the access to Ovmf work area after > ExitBootService. >=20 > The reason why we probe CC guest type in 2 different ways is the global > variable. Global variable cannot be used in SEC/PEI and CcProbe is called > very frequently. >=20 > Code: https://github.com/mxu9/edk2/tree/CcProbeLib.BZ3974.v4 >=20 > v5 changes: > - Fix typos in commit message. > - No other changes in code. >=20 > v4 changes: > - Read Cc guest type in both DxeCcProbeLib's constructor and CcProbe. So > that we guarantee the Cc guest type is read early enough. >=20 > v3 changes: > - Re-design CcProbeLib to 2 implementation: SecPeiCcProbeLib and > DxeCcProbeLib. The difference between the 2 implementation is the > cache of the CcGuestType. >=20 > v2 changes: > - Reserve Ovmf work-area as RT_DATA. See > https://edk2.groups.io/g/devel/message/92599 >=20 > Cc: Gerd Hoffmann > Cc: Erdem Aktas > Cc: James Bottomley > Cc: Jiewen Yao > Cc: Tom Lendacky > Cc: Yuan Yu > Acked: Gerd Hoffmann > Signed-off-by: Min Xu >=20 > Min M Xu (2): > OvmfPkg: Add SecPeiCcProbeLib > OvmfPkg: Update CcProbeLib to DxeCcProbeLib >=20 > OvmfPkg/IntelTdx/IntelTdxX64.dsc | 3 +- > OvmfPkg/Library/CcProbeLib/DxeCcProbeLib.c | 68 > +++++++++++++++++++ > OvmfPkg/Library/CcProbeLib/DxeCcProbeLib.inf | 26 +++++++ > .../{CcProbeLib.c =3D> SecPeiCcProbeLib.c} | 0 > .../{CcProbeLib.inf =3D> SecPeiCcProbeLib.inf} | 8 +-- > OvmfPkg/OvmfPkgX64.dsc | 5 +- > 6 files changed, 104 insertions(+), 6 deletions(-) > create mode 100644 OvmfPkg/Library/CcProbeLib/DxeCcProbeLib.c > create mode 100644 OvmfPkg/Library/CcProbeLib/DxeCcProbeLib.inf > rename OvmfPkg/Library/CcProbeLib/{CcProbeLib.c =3D> SecPeiCcProbeLib.c} > (100%) > rename OvmfPkg/Library/CcProbeLib/{CcProbeLib.inf =3D> > SecPeiCcProbeLib.inf} (65%) >=20 > -- > 2.29.2.windows.2 >=20 >=20 >=20 >=20 >=20