From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.21259.1683733681621939120 for ; Wed, 10 May 2023 08:48:02 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ed2FDMBH; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: chasel.chiu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683733681; x=1715269681; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Rkqci1yZ5UgXsaAnJg8DRiYZ46iWPIe4Ne+4m6kffHs=; b=ed2FDMBHjkw2ZmGtJe4W52ZZOHQpZ1h5Tv/71DEh3bQJqfM4AORA6c8A s4bGrutmiTy+KkCnhHy+RXMA3Xt0AJh4UwZjmPp6OCn74gqFqF5W9/ffj WbwD8NU2WchCNgcePeVGpX0XF/Q40rO6HoDYc/1N7wtGQRlikQ9kjvBem l91CDqpsv97LIRMTwNQrh1y+aSuk3eLMLEgW65p+U8NlH/VoWyDCoAgXS hmfhvoPlJpncIU3UzEgUnOFIWFC5z+vz15HTlKk3NBiN8v0hVEz9UaK6m OKSyyvrHflIh/+kvYr4A2lo3auaKdKkTD3h8H0MjvmJCktkCQtUUW2gAM g==; X-IronPort-AV: E=McAfee;i="6600,9927,10706"; a="413552547" X-IronPort-AV: E=Sophos;i="5.99,265,1677571200"; d="scan'208";a="413552547" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2023 08:48:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10706"; a="729976594" X-IronPort-AV: E=Sophos;i="5.99,265,1677571200"; d="scan'208";a="729976594" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 10 May 2023 08:48:00 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 10 May 2023 08:48:00 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) 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.2507.23; Wed, 10 May 2023 08:48:00 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 10 May 2023 08:48:00 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.170) 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.2507.23; Wed, 10 May 2023 08:48:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5B6xVeStSLRq6n4LAreWSC6V5UqLWYrSP8Z+mN4lMEiig7WxbjMzeu2FbX2KjiEnPLYwuk/RrFOSUtLkZf1QFqTS4NqbbA9MUYABvG2xHowlbKBqbygTOPgJ6xUcUDq7PJsaXzw1w/+7joWRmvX6mUH6ypieOx7Vw8Xv+IXqU6fP4wAyBLunZF+0N4iQSY+kRe40B3XRAV6v/dGFFUD56chdWXvaMnab2RvAYVNhL5fu6EsUBBw/S58oeneUAHdgUoKu7OYxSqcD+avHMd/DDVfi+6VFQ9Z+JF6KYdI+/DPwZsCDs+rCkw+huesfkoOKcdMTpRwPkcuH+Zmb9BhWQ== 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=2QT9OQStpV6fGO9dL+a//k/ki0PcRtbB7SIFikyqaWE=; b=IT2X5QZewX60l4nP4RyHDNGfLQ/y/lG4cg+GhARSyOC+pXn9Fa9HN6vEjtIK1Q05pOQkbeaWoINVpZJALVGFE90DtswktrnSl7hFTUbZ3HDO2D5rFmSTaUHeNPTw4PZJKPpj8Jrz6q6O9wwPLbj8GalXfPgEFNNWp0Je3Z6D5hf8GfunFqlvdSJ9HwoQBevgJoSoeIn2zu+8juA0ts086hQsD4d6YJur4+E1mBzXBfGu6U5nDZumynwkyszO7Z8ac3OxaUpaie04Ik88K7RG8khlzcaGO1w8npLnWt9LGXvzW4YIi3U1QI96PC9BDOZlxDdD8LRJER5G0i0eKFRkdw== 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 BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by PH0PR11MB5208.namprd11.prod.outlook.com (2603:10b6:510:3b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33; Wed, 10 May 2023 15:47:57 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a%7]) with mapi id 15.20.6363.033; Wed, 10 May 2023 15:47:57 +0000 From: "Chiu, Chasel" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" CC: "Desimone, Nathaniel L" , "Oram, Isaac W" , "Gao, Liming" , "Dong, Eric" , "Gudla, Raghava" Subject: Re: [edk2-devel] [edk2-platforms][PATCH v4 1/1] MinPlatformPkg: Add FspNvsBuffer compression option Thread-Topic: [edk2-devel] [edk2-platforms][PATCH v4 1/1] MinPlatformPkg: Add FspNvsBuffer compression option Thread-Index: AQHZg1B/QOnxCLieyUOde+UMx7i8Oa9Tpuaw Date: Wed, 10 May 2023 15:47:57 +0000 Message-ID: References: <20230510150217.1716-1-mikuback@linux.microsoft.com> In-Reply-To: <20230510150217.1716-1-mikuback@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5483:EE_|PH0PR11MB5208:EE_ x-ms-office365-filtering-correlation-id: 58483b7f-3c5c-4319-9a3c-08db516decef 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: Maxcs4XZmlOLjYTnAnAkBwEpmIPY3npbZTk4Y+oB39phHf3eSrxT+Rc2BXiB0S8g4RUKvZxRk0kPdK96cS2LHerjxiSH3LLq6KPrL8KsWQm23bOXeyaACenu3xGRQbD2x8UwKZ8xtUB1M5i+fdzY/WRjhNRUYJIgym88ql/3kB1uT7JhN2E2Pc0yiIH6cOFFrcgLVys1eBXEjiZu0bZFDlYdjQoZ7bpN54ZH8NEcXjLYw9F+G4cL87Tn2PK7GERI2baXxVxt+fIRrRwwcKwfC+g9IZSYDCl+QlPwfcnV7vBaYEIQJ5+HnIOBoeKA7rvB2TzGEVvLHSWy9NFSchD58Vw9tooe2/T4BuhC/sUwa6x7xtTKhx9E0K8C4meGwtFHalp/3ktJ65FRrll85mvIssg/bUEIEZg7xUDrZlgMtdrHUyYL0+0R5EBXJ23lIz5RKGXIA9RxgpKzYUcH31019HIsQnYx6q8EOonAfAbYzpPhssIybwd8OQHUo1fecxGsptz87LHBmvRRaGJoUK0UuqtDIzI+4o67O7PBHNLUs5dMJF/Hveh+XCzhNRJqM9cS/3/OcTRQa3krtI1k2QonUl+0EbefEO+BoXKWMo1y7eaGVYZkkcWp1NpW1blTbs9lDE1EvyqkAqA4jJbBNhi48Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(396003)(376002)(136003)(39860400002)(451199021)(38070700005)(53546011)(107886003)(122000001)(38100700002)(66899021)(6506007)(186003)(55016003)(66446008)(2906002)(26005)(9686003)(8936002)(83380400001)(41300700001)(5660300002)(52536014)(8676002)(86362001)(82960400001)(966005)(54906003)(110136005)(316002)(66556008)(66476007)(76116006)(66946007)(64756008)(4326008)(71200400001)(45080400002)(478600001)(19627235002)(7696005)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?L/afr2kPVsrgZwnYD37x1ZcB0CIXDCqnTYQKiJQpUZU2azRDbGpxGShNa1ma?= =?us-ascii?Q?My4n5uI/9/OEfbsd1gHAXJosHm0n+ZTV6p4BShcN8DBD0NROWLangwewGYND?= =?us-ascii?Q?ASIg11ZQ2UnHXPlZ6uURwuNRJujQhN04Uc0mnRkTvaJG/0BoT7ZUskHy5ddC?= =?us-ascii?Q?r9Ddx3JqlTg9j7jRLrJQoHpH3/f03fG4p6fXuJsnAdEB+hpDLkXjgUBnOz6d?= =?us-ascii?Q?wvtvmYj4oCKFoIBJ+vpCZJAXBm+HVXsH2y937kIvYTdRvxfpInPVg0kkheXO?= =?us-ascii?Q?ffmiz5CV1bkjUnjDib16cRDNFJeJWc8j45pzWYmD7DC3TmRmXJVrexTqtiJ1?= =?us-ascii?Q?i08szngwiNDdBTgylVDkASJ7e/xx6KFDtiZ9+hjWta76JBmYVMgJHOO7SHC4?= =?us-ascii?Q?CGgay1Ikg1jDoejk0sGPu5K07wQcyQeYdbjMxpwB9W1ojtocMDTNtIWI5cbN?= =?us-ascii?Q?pE7/26UNQCIgY7E+xuw/Oi+TYNwEOyb2m6e7Pv0o7xabL41GC3XLKPyPs9FX?= =?us-ascii?Q?giCjNZtZPiKEEue9ZR4TnSjobKURj6q2l+T+XwBNv5zXfLFzWi1AKeBAALFX?= =?us-ascii?Q?i+TYjiwMrPgA1XkFfSRYk7S/P4yUD5wz80xMYUT7PtUJoYIklH0NJ8AVZaET?= =?us-ascii?Q?tr4tqxM7URciLOXG+h/noZcABw8aFXbvP7gyBtCJYaIblP5VDp+W2XGRLvpF?= =?us-ascii?Q?HXvMdF+eL2ZZNEPT0jLtxEQdxMlfUhZpkw5i8xMl7d4z/vL3QBZpScnWJqbC?= =?us-ascii?Q?3bjDd5nN5o/nvFBtidcB2VTjam+kaASRuSqd4nbFvrVU/jPVwyS2cqzC75UN?= =?us-ascii?Q?f5w50Dv3yNDizMQ6mSLirRr8n9kXZi7og5BYUYMP53zLoI7xaPyNnVF1CWRE?= =?us-ascii?Q?uVHImmFjraf5dFzz9wGQMy8XoEko6LWvfuom1hXBEWPBJHG2JxI3qGMo3DUF?= =?us-ascii?Q?S7z6eAVUhOjJgsOFydGkwjzWZRJkUZuGANQIrNpgX954mh0/CcG2pF2cy7/V?= =?us-ascii?Q?rx5T8D+bdWYp+Eb8fbGu1ftHa1AInWYCkN85Cwybe1Fwi3KhcnicjsasRhtR?= =?us-ascii?Q?mPoWgXksZjI6bih2yTnf/5GSIbyARcdxm2K8yhzDH0tabatbRQaO6QEjwWVH?= =?us-ascii?Q?sZMAQMrNmlGf9zgcnn5KDpOCqVkyO1Yy5I2ZNCCKgGxnbVMMde3ESENO3bMS?= =?us-ascii?Q?w9xcotn6p9rI1NVDTXKDQIqFEUyZ36EyQvnyhJqoY+iv/0IywXVskfgBKkkR?= =?us-ascii?Q?9YCx2Dok1cDSJCluvpMVVobNuCvtlQoDKm4QkgyqpbbD0sV+5fAnW5VKKHIG?= =?us-ascii?Q?LCzOxQ5OKxgtaNu/Mb32wnJPmHOTIX6SzD2Zw0CBQlo+z8tZYl4ZJ1l0GNbe?= =?us-ascii?Q?6xoWdSDtEBG3xzXG3nKbxBIcpJ5oDOk+A52gpUJ/XxxCJ8KM94+trbe7aR5u?= =?us-ascii?Q?VQDtgnuObC4VWIUSifubcXQ2eoiqRXssnBvQnYqBHMyqbbX20yXxcHlnN9kM?= =?us-ascii?Q?lmhQ9K4D0K5DHdiq6onroLcMCwcMjNSh99dN18OZ9BeOCNp+VuP4jEk5aBBZ?= =?us-ascii?Q?foCmosbet8ZoZ0sjoWTwhk1VXseINPtBWC0ARdAB?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58483b7f-3c5c-4319-9a3c-08db516decef X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2023 15:47:57.1382 (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: Y6UxIHRxliIcbpNZmd+c5vbvr5Z7Zhm8YraS6ehs9zG90jLV248Zq97XHvFbZj5M4Tu8gI6DCnE5QzbFpyOd8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5208 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Chasel Chiu Thanks, Chasel > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Michael > Kubacki > Sent: Wednesday, May 10, 2023 8:02 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Oram, Isaac W ; > Gao, Liming ; Dong, Eric ; > Gudla, Raghava > Subject: [edk2-devel] [edk2-platforms][PATCH v4 1/1] MinPlatformPkg: Add > FspNvsBuffer compression option >=20 > From: Michael Kubacki >=20 > Adds a PCD called "PcdEnableCompressedFspNvsBuffer" that allows the > "FspNvsBuffer" UEFI variable data to be saved as compressed data. >=20 > Especially due to the nature of the data saved in this variable, it compr= esses well. > For example, it has been found to reduce ~63KB of data to ~13KB. Boot tim= e > impact has been found to be negligible. >=20 > The default value is FALSE to keep default behavior consistent. >=20 > Decompression can be performed on the variable data using the standard > UefiDecompressLib. >=20 > Cc: Chasel Chiu > Cc: Nate DeSimone > Cc: Isaac Oram > Cc: Liming Gao > Cc: Eric Dong > Cc: Raghava Gudla > Signed-off-by: Michael Kubacki > --- >=20 > Notes: > v4: > - Rebase onto 42a677e992d2 > - Add CompressLib to MinPlatformPkg.dsc as well > v3: > - Rebase onto 7ac91ec277db > - Add CompressLib instance to CoreCommonLib.dsc > v2: Rebase onto 9769bf28d1fc >=20 >=20 > Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemoryC > onfig.c | 62 ++++++++++++++++---- >=20 > Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemoryC > onfig.inf | 4 ++ > Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc = | > 1 + > Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec = | 6 ++ > Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc = | 1 + > 5 files changed, 61 insertions(+), 13 deletions(-) >=20 > diff --git > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.c > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.c > index 0215e8eeddfb..95b8cef8b32b 100644 > --- > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.c > +++ > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemo > +++ ryConfig.c > @@ -3,6 +3,7 @@ > exists, and saves the data to nvRAM. >=20 > Copyright (c) 2017 - 2022, Intel Corporation. All rights reserved.
> +Copyright (c) Microsoft Corporation.
> SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > **/ > @@ -10,6 +11,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include > #include #include > +#include > #include > #include > #include > @@ -19,6 +21,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include > #include > #include > +#include > #include > #include >=20 > @@ -38,20 +41,26 @@ SaveMemoryConfigEntryPoint ( > IN EFI_SYSTEM_TABLE *SystemTable > ) > { > - EFI_STATUS Status; > - EFI_HOB_GUID_TYPE *GuidHob; > - VOID *HobData; > - VOID *VariableData; > - UINTN DataSize; > - UINTN BufferSize; > - BOOLEAN DataIsIdentical; > + EFI_STATUS Status; > + EFI_HOB_GUID_TYPE *GuidHob; > + VOID *HobData; > + VOID *VariableData; > + UINTN DataSize; > + UINTN BufferSize; > + BOOLEAN DataIsIdentical; > + VOID *CompressedData; > + UINT64 CompressedSize; > + UINTN CompressedAllocationPages; >=20 > - DataSize =3D 0; > - BufferSize =3D 0; > - VariableData =3D NULL; > - GuidHob =3D NULL; > - HobData =3D NULL; > - DataIsIdentical =3D FALSE; > + DataSize =3D 0; > + BufferSize =3D 0; > + VariableData =3D NULL; > + GuidHob =3D NULL; > + HobData =3D NULL; > + DataIsIdentical =3D FALSE; > + CompressedData =3D NULL; > + CompressedSize =3D 0; > + CompressedAllocationPages =3D 0; >=20 > // > // Search for the Memory Configuration GUID HOB. If it is not present= , then > @@ -73,6 +82,29 @@ SaveMemoryConfigEntryPoint ( > } > } >=20 > + if (PcdGetBool (PcdEnableCompressedFspNvsBuffer)) { > + if (DataSize > 0) { > + CompressedAllocationPages =3D EFI_SIZE_TO_PAGES (DataSize); > + CompressedData =3D AllocatePages (CompressedAllocationP= ages); > + if (CompressedData =3D=3D NULL) { > + DEBUG ((DEBUG_ERROR, "[%a] - Failed to allocate compressed data > buffer.\n", __FUNCTION__)); > + ASSERT_EFI_ERROR (EFI_OUT_OF_RESOURCES); > + return EFI_OUT_OF_RESOURCES; > + } > + > + CompressedSize =3D EFI_PAGES_TO_SIZE (CompressedAllocationPages); > + Status =3D Compress (HobData, DataSize, CompressedData, > &CompressedSize); > + if (EFI_ERROR (Status)) { > + DEBUG ((DEBUG_ERROR, "[%a] - failed to compress data. Status =3D= %r\n", > __FUNCTION__, Status)); > + ASSERT_EFI_ERROR (Status); > + return Status; > + } > + } > + > + HobData =3D CompressedData; > + DataSize =3D (UINTN)CompressedSize; > + } > + > if (HobData !=3D NULL) { > DEBUG ((DEBUG_INFO, "FspNvsHob.NvsDataLength:%d\n", DataSize)); > DEBUG ((DEBUG_INFO, "FspNvsHob.NvsDataPtr : 0x%x\n", HobData)); > @@ -136,6 +168,10 @@ SaveMemoryConfigEntryPoint ( > DEBUG((DEBUG_ERROR, "Memory S3 Data HOB was not found\n")); > } >=20 > + if (CompressedData !=3D NULL) { > + FreePages (CompressedData, CompressedAllocationPages); } > + > // > // This driver does not produce any protocol services, so always unloa= d it. > // > diff --git > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.inf > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.inf > index 61e85a658693..0f12deb131ca 100644 > --- > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.inf > +++ > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemo > +++ ryConfig.inf > @@ -26,6 +26,7 @@ [LibraryClasses] > LargeVariableReadLib > LargeVariableWriteLib > BaseLib > + CompressLib >=20 > [Packages] > MdePkg/MdePkg.dec > @@ -45,6 +46,9 @@ [Guids] > gFspNonVolatileStorageHob2Guid ## CONSUMES > gFspNvsBufferVariableGuid ## PRODUCES >=20 > +[Pcd] > + gMinPlatformPkgTokenSpaceGuid.PcdEnableCompressedFspNvsBuffer > + > [Depex] > gEfiVariableArchProtocolGuid AND > gEfiVariableWriteArchProtocolGuid > \ No newline at end of file > diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > index 5ce21cf31e17..dfe7d836d32a 100644 > --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > @@ -147,6 +147,7 @@ [LibraryClasses.common] >=20 > BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLi > b.inf >=20 > LargeVariableReadLib|MinPlatformPkg/Library/BaseLargeVariableLib/BaseLarg > eVariableReadLib.inf >=20 > LargeVariableWriteLib|MinPlatformPkg/Library/BaseLargeVariableLib/BaseLar= g > eVariableWriteLib.inf > + CompressLib|MinPlatformPkg/Library/CompressLib/CompressLib.inf >=20 > # > # CryptLib > diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > index 784abb828e76..45c75f8ec2c9 100644 > --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > @@ -311,6 +311,12 @@ [PcdsFixedAtBuild, PcdsPatchableInModule, > PcdsDynamic, PcdsDynamicEx] >=20 >=20 > gMinPlatformPkgTokenSpaceGuid.PcdPlatformMemoryCheckLevel|0|UINT32|0 > x30000009 >=20 > + ## Controls whether the FSP NVS buffer is saved as compressed data. > + # Data compression can significantly reduce variable storage usage for= FSP > NVS buffer data. > + # Platforms that choose to compress the data will need to decompress > + the variable data upon # extraction. > + > + > gMinPlatformPkgTokenSpaceGuid.PcdEnableCompressedFspNvsBuffer|FALSE|B > O > + OLEAN|0x30000010 > + > ## This PCD is to control which device is the potential trusted consol= e input > device.

> # For example:
> # USB Short Form: UsbHID(0xFFFF,0xFFFF,0x1,0x1)
diff --git > a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc > b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc > index 90127c16b59e..087fa48dd00a 100644 > --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc > +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc > @@ -101,6 +101,7 @@ [LibraryClasses.common.DXE_DRIVER] > # > # DXE phase common > # > + CompressLib|MinPlatformPkg/Library/CompressLib/CompressLib.inf >=20 > FspWrapperPlatformLib|MinPlatformPkg/FspWrapper/Library/DxeFspWrapperPl > atformLib/DxeFspWrapperPlatformLib.inf >=20 > TestPointCheckLib|MinPlatformPkg/Test/Library/TestPointCheckLib/DxeTestPo= i > ntCheckLib.inf > TestPointLib|MinPlatformPkg/Test/Library/TestPointLib/DxeTestPointLib.= inf > -- > 2.40.1.windows.1 >=20 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#104568): https://edk2.groups.io/g/devel/message/10456= 8 > Mute This Topic: https://groups.io/mt/98807775/1777047 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [chasel.chiu@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D >=20