From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web08.5612.1632960704383706063 for ; Wed, 29 Sep 2021 17:11:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=VStfPddu; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10122"; a="204553259" X-IronPort-AV: E=Sophos;i="5.85,334,1624345200"; d="scan'208";a="204553259" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2021 17:11:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,334,1624345200"; d="scan'208";a="655691680" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga005.jf.intel.com with ESMTP; 29 Sep 2021 17:11:41 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 29 Sep 2021 17:11:41 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 29 Sep 2021 17:11:41 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.45) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 29 Sep 2021 17:11:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lPgEh6jKe0Oru0iQDlptjobKe4EdZUtXDSedW3DikTGHNfFPPniHryYKccxsd6uDMvrD/6Md/Cd9WKAzt2vazOVAtk+67C+di5zk6Bxjj7TC84bHfPI/BdfH8XHXU0g0Y+kAPiKtzAUMH5Tul250cnKiz6KsVP5mTFjSX9T9l/AcU5BxZTgp3Vm5qIp01PiFVYyz50OZwN5JnkRV//E6BOMuu4YwsBnylkBQcndpBIjgB1mY/XDD2DrSrsaw6PuI2fG/xBuG6j3Dffue08fsywY9Cu4vYq2ZcZiw8i8xIPMsHOdYMO94zg6f+yHyKP8CftHR6+q1MnnF79zNjYcFfw== 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; bh=ICDfIk5kh5jKcpoPlvVsGknDGwBdfsfQyhtzdTxnzjw=; b=mYQP4jkIUETiPoi+E4TZ6wXYMS6H8e2cMi3W0Chyvuxv+kV7FDkNGEnoc0TrDp7yefB16NIZZr+rkPhqldKvQGyRqy/kIzKPGMRl0v5JBDFADy0djT3ShoAtyMBxE6cY829SCBzaai7cECpbT1Mkgi2H7YP+3tyKzwGfDdaSlVqEcjd8btiihikriA8RV6X10MVgqAwTjk0IrERk2OLA5HTKNWY60d+uexJMQHKuSXmoWT0SXkG7T+IGcNJDGF0s4eUOes/WU0qB9lejq3RGhmKLG26NjCMK5KwMoeK5sAUMO+t6VntWHDDSEuUAxkh9XBRi0Ry+M82Uwza6JrrKgg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ICDfIk5kh5jKcpoPlvVsGknDGwBdfsfQyhtzdTxnzjw=; b=VStfPddupKtMfz8dktW1pOg+5ostBzt3GmcVl+6WDcLbuSUgCNzCC315hnZ4cbv8Qu4F1am6ep+Z03hfKNz+qL00Q1w0GAOSESnw5vBEVRzBOzMsGXQlgMeYMJ7YBGRUv+Ntl4IpLIey3OBivNuKBVtcGGnTY0uBfPF5aD8Ug24= Received: from CY4PR1101MB2072.namprd11.prod.outlook.com (2603:10b6:910:1d::15) by CY4PR11MB1269.namprd11.prod.outlook.com (2603:10b6:903:2d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Thu, 30 Sep 2021 00:11:39 +0000 Received: from CY4PR1101MB2072.namprd11.prod.outlook.com ([fe80::7dc5:34b5:bbff:832f]) by CY4PR1101MB2072.namprd11.prod.outlook.com ([fe80::7dc5:34b5:bbff:832f%8]) with mapi id 15.20.4566.015; Thu, 30 Sep 2021 00:11:39 +0000 From: "Ni, Ray" To: "Dong, Guo" , "devel@edk2.groups.io" CC: "Ma, Maurice" , "You, Benjamin" Subject: Re: [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI payload Thread-Topic: [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI payload Thread-Index: AQHXsmHm0tU0OBMPLUu7D3Ix4Lz4jKu7uqhg Date: Thu, 30 Sep 2021 00:11:38 +0000 Message-ID: References: <20210925230530.861-1-guo.dong@intel.com> In-Reply-To: <20210925230530.861-1-guo.dong@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7619e951-e500-4ebb-dfad-08d983a6dff4 x-ms-traffictypediagnostic: CY4PR11MB1269: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2733; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: STIop6TZ0naoCCJb9yxEznnIu6SmebL0zRWXlmUCCbxfSiB51jd5YeD2r0EsoZNkR028ky/zb38MTTeOpX88DLUTVNcf7+UlKXn3UMB/cJAAFacykA288A0L+Sk/r8DcB4PxAeCyt67ISW4mNQlIQ48AhrvnyTCtcCWQLOxa+7liRI3lysQhUZf1tJbi5uM4m+uvj12r//tAafaRu9uciadpsDjIuPw8M9wzMOnN4gDBMWx+1rxitNGVkBVJpqC8EiGiiuz/wqZifCPAmJflOltZ2ojxdd4dbaW7PLAa2wAxt/f+H7HMXhgmEQwRP8QcRlfu7fC+9MoS88AKpkt8v+4eACNyVh04qoA5T1wm4VdpZ57URbqfcvhL51gcMhsPSE6nvkDyqkWAxnYTLJYlIRjB9TOEWsfxYq4Fe1WdwZpbHJJoOhTdOt1s4lCQ3QkqtPneXHdp+AvB3IkPoVgcB54KXZQLv22R/X0Hfn9TbCT8/Y709+I+XKGQXAPlitKkhVAA+fho0PZGvyMRDTIOjYVFm5oYo3j/cJM4GO7MqF8T2MzKcBAD6fV4lhY+gUSNMVx7sm/1xowOZ1PO/iIXhaKIeRERFuqQr1T8DvUHsJ2PJR/AGYTJls8BIkc29traqXtk817SgWc3tzE62AD1Qzdpe8YdjMx8fZqaKc9MBP2E32zZcW7XKsxk+2OQP7eSAibto2DORxZkSjUsRSWYp9hd/kt1nEaBnnf24OhFC2L6coYsQCzOOyBAYNZXbhSfIV82VXqgfhHLb0WtsxEKFMff2QVUNCouHIN9unRE2BOxLuKQyrGmBSVupfWfsm4s x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR1101MB2072.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(19627235002)(2906002)(86362001)(5660300002)(26005)(4326008)(7696005)(52536014)(316002)(107886003)(8676002)(71200400001)(38070700005)(33656002)(186003)(83380400001)(66446008)(110136005)(54906003)(966005)(64756008)(508600001)(66476007)(66556008)(76116006)(8936002)(6506007)(9686003)(66946007)(122000001)(38100700002)(55016002)(53546011)(81973001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?A/6YTW1a/2TxD+iKe6eyUpK54I7O3Fu3Su9HyHEZz25eZx5MFpJKdMgZl6NR?= =?us-ascii?Q?967Tbb/zR+YpPJCXwgWj1nBvHKoyXZaWV4AWFSQNJSV+iHvQov7DQcZNp5gM?= =?us-ascii?Q?QYm8rir/zqcTMCvO7Wsd/1U8gN5mgf8mgC1PC/F+DLrdRqHV6FaUXpcts5p3?= =?us-ascii?Q?jtqEPhuAfUyaOFWCHglg1bXYJqJ9Jcg+pndMznI1lQ05NqM8a/af2VZlIrb3?= =?us-ascii?Q?vkugwf9KxARPGF8t7Umd+XeaykHCSJblYxuvMbuP3jnnW2ATJ9qmkAXPS11v?= =?us-ascii?Q?GGccZWam9k4WBGSlQvMPK4/SN+mS3/TGiKXMldncR7HDQTaL5AKeRCefjO4i?= =?us-ascii?Q?Tzv3E6uuXVWYP5ZfIuXZj0mPRI69RDwg1Tj+ZfK1Ivnq8lU4kRQ80dYWqNQy?= =?us-ascii?Q?Ol7lsSuiGHPoAMy4D2hxfSoKdacivY6TRzDwddbVeF3QiyODdxHDkt99+yrO?= =?us-ascii?Q?Xm4Ncm2LWc1wPHVP6S2zQUWNFn/TQmh/Dj2XrQaPNwWESUf4bx5KlBqnqbAu?= =?us-ascii?Q?5tkSKNUvvUCDJL5anjMomIuDfnjUKuIDO1BKr/J0/CMb6HuULZ/xCS5uMoIG?= =?us-ascii?Q?TW8JQWDEZXI9gn4g54D4O9beeqnX5nmqetT5IMfX8vIrgfu/rtwqHj+ujT1a?= =?us-ascii?Q?1Ox1LLI2UjTuAHZYGEh2dO2hLjjPTHwKc0UTtu8PxVfgRrAlNEm1Q7Svu1qp?= =?us-ascii?Q?Cy6WM2S87RR4Di7nTMdvOJcxGQ2fFKmqjwr6ZtOSIbiwbQ9qT9j8DQisJDPa?= =?us-ascii?Q?FfOZvH4qC5c0ga6skKxIECjNCIpuZiur/6CyD+QwnvWAjZAfctXqMFDlh0Bp?= =?us-ascii?Q?LoZ4hUL0TLJMCrfmhwnyS3wrFjlL3j4qUT7Hxsju1vqsIQ1E20pLcTdy8uIa?= =?us-ascii?Q?RVuO4d+Zt2AbL3ib+9WGlVhRFw0mbut9wmHAKWYbvnQj7OaxyBX2u8KVRsFK?= =?us-ascii?Q?6gKKOGIrwP/9qzguMRSBJcKSfU1k8j7tAlQMrhTuMNGapzmHEoUpqp1eu8HL?= =?us-ascii?Q?j3P9r8MqBR47UV8tNJ+X6KfxQm1pq90EBL6cwXs9xOR8NXh8yOY8oNFkwN74?= =?us-ascii?Q?gpwfYtjU0QIPymRm9hv5OlkDiN+SuBc9RVq0EOtR24Z2+7M4HK9ZrLgG5Ao5?= =?us-ascii?Q?3TZBYehJ0Fh3rGUJcN6sDMBG3dLQyeDKki+GIr7XH4rWexiqIANTpELJt00z?= =?us-ascii?Q?BfvDHYij2FzXIw4EUvVnOewoWY7WGCsdUh/ve6UJcuGZF5NyGbu2uRzR5L7u?= =?us-ascii?Q?7dA8gs4UtcMlk83r49WyGvqCQSSGQovs+zwKu8iECl5Vt55VWZqnTr8HCV2O?= =?us-ascii?Q?gENZWTihfW2U8tpY3M+oMTq9?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR1101MB2072.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7619e951-e500-4ebb-dfad-08d983a6dff4 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2021 00:11:38.7955 (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: 10fUKlD04FoE1wtIxAqflJ+xC1SBJUApeNKYHIcicvz7gIpNFoLGcZRyKG0oLaEhqFc8k4oq2WssJTFl6XZu7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1269 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Ray Ni > -----Original Message----- > From: Dong, Guo > Sent: Sunday, September 26, 2021 7:05 AM > To: devel@edk2.groups.io > Cc: Ni, Ray ; Ma, Maurice ; You, = Benjamin ; Dong, Guo > > Subject: [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI paylo= ad >=20 > From: Guo Dong >=20 > https://bugzilla.tianocore.org/show_bug.cgi?id=3D3084 >=20 > Currently UEFI payload uses emulated variable driver. So it could > not support secureboot and measured boot since both need NV variable > support. >=20 > EDKII already has SMM modules and variable modules. And modern Intel > platform supports SPI flash hardware sequence to operate flash. So it > is possible to have a common SPI module for Intel platforms. >=20 > This patch enhances UEFI payload to support SMM variable with a > common SPI library for Intel platforms. To avoid impact existing > usage, all the new modules are included under SMM_ENABLE and > VARIABLE_SUPPORT and by default SMM variable is not be enabled. >=20 > SMM variable could be enabled only when UNIVERSAL_PAYLOAD is set > since non-universal payload need update ParseLib to provide SMM > variable related infromation which is not in the plan. >=20 > Signed-off-by: Guo Dong >=20 > Guo Dong (8): > UefiPayloadPkg: Add a common SmmAccessDxe module > UefiPayloadPkg: Add a common SMM control Runtime DXE module > UefiPayloadPkg: Add bootloader SMM support module > UefiPayloadPkg: Add SpiFlashLib > UefiPayloadPkg: Add FlashDeviceLib > UefiPayloadPkg: Add a common FVB SMM module > UefiPayloadPkg: Add a SMM dispatch module > UefiPayloadPkg: Add SMM support and SMM variable support >=20 > UefiPayloadPkg/BlSupportSmm/BlSupportSmm.c | 409 +++++++ > UefiPayloadPkg/BlSupportSmm/BlSupportSmm.h | 41 + > UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf | 49 + > UefiPayloadPkg/FvbRuntimeDxe/FvbInfo.c | 143 +++ > UefiPayloadPkg/FvbRuntimeDxe/FvbService.c | 1085 +++++++++++++++++ > UefiPayloadPkg/FvbRuntimeDxe/FvbService.h | 187 +++ > UefiPayloadPkg/FvbRuntimeDxe/FvbServiceSmm.c | 139 +++ > UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf | 71 ++ > UefiPayloadPkg/FvbRuntimeDxe/FvbSmmCommon.h | 69 ++ > .../Include/Guid/NvVariableInfoGuid.h | 30 + > .../Include/Guid/SmmRegisterInfoGuid.h | 48 + > .../Include/Guid/SmmS3CommunicationInfoGuid.h | 54 + > .../Include/Guid/SpiFlashInfoGuid.h | 38 + > .../Include/Library/FlashDeviceLib.h | 108 ++ > UefiPayloadPkg/Include/Library/SpiFlashLib.h | 215 ++++ > .../Library/FlashDeviceLib/FlashDeviceLib.c | 165 +++ > .../Library/FlashDeviceLib/FlashDeviceLib.inf | 38 + > UefiPayloadPkg/Library/SpiFlashLib/PchSpi.c | 180 +++ > UefiPayloadPkg/Library/SpiFlashLib/RegsSpi.h | 129 ++ > .../Library/SpiFlashLib/SpiCommon.h | 208 ++++ > .../Library/SpiFlashLib/SpiFlashLib.c | 857 +++++++++++++ > .../Library/SpiFlashLib/SpiFlashLib.inf | 47 + > .../PchSmiDispatchSmm/PchSmiDispatchSmm.c | 455 +++++++ > .../PchSmiDispatchSmm/PchSmiDispatchSmm.h | 39 + > .../PchSmiDispatchSmm/PchSmiDispatchSmm.inf | 51 + > UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.c | 254 ++++ > UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.h | 38 + > UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf | 51 + > .../SmmControlRuntimeDxe.c | 252 ++++ > .../SmmControlRuntimeDxe.inf | 50 + > UefiPayloadPkg/UefiPayloadPkg.dec | 10 + > UefiPayloadPkg/UefiPayloadPkg.dsc | 101 +- > UefiPayloadPkg/UefiPayloadPkg.fdf | 38 +- > 33 files changed, 5638 insertions(+), 11 deletions(-) > create mode 100644 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.c > create mode 100644 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.h > create mode 100644 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf > create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbInfo.c > create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbService.c > create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbService.h > create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbServiceSmm.c > create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf > create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbSmmCommon.h > create mode 100644 UefiPayloadPkg/Include/Guid/NvVariableInfoGuid.h > create mode 100644 UefiPayloadPkg/Include/Guid/SmmRegisterInfoGuid.h > create mode 100644 UefiPayloadPkg/Include/Guid/SmmS3CommunicationInfoGui= d.h > create mode 100644 UefiPayloadPkg/Include/Guid/SpiFlashInfoGuid.h > create mode 100644 UefiPayloadPkg/Include/Library/FlashDeviceLib.h > create mode 100644 UefiPayloadPkg/Include/Library/SpiFlashLib.h > create mode 100644 UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.= c > create mode 100644 UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.= inf > create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/PchSpi.c > create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/RegsSpi.h > create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/SpiCommon.h > create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.c > create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf > create mode 100644 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.c > create mode 100644 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.h > create mode 100644 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.in= f > create mode 100644 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.c > create mode 100644 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.h > create mode 100644 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf > create mode 100644 UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntime= Dxe.c > create mode 100644 UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntime= Dxe.inf >=20 > -- > 2.32.0.windows.2