From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.45.1683574620473156424 for ; Mon, 08 May 2023 12:37:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=TGXpQcXo; spf=pass (domain: intel.com, ip: 134.134.136.126, 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=1683574620; x=1715110620; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=JQkIWeajoKPzVaslPmsZBjmjN5CUsZA+O7Ll3lHx5JA=; b=TGXpQcXo/N1T7Ic/tJI7lVVZmV2DRrWdV5aY63o6Us3+j6JmupZPEOsR exPG1IkV3RiZ9+7fMWp/SuzkOgp9I34dO6aFfZgrayJ4dRwq/1qrVosXU r48O/UWFPVtBVg4Z2EA88JucCYTiXxpm+M1X49WI++QbSgHIhFJXa0Rsk acz9uOcUgh0SGAspJ6Y8SRbqoWXJwuZ90HnOhi1Kvj0m93PAovrEe+8Uz GW446OTzjYEfxL1ibbaAoWUiF7AR/0o2S0ztfoy9wtmmIbOkFHsBwOJy+ 9dS4OHjNyjbCX63PGh9NlY3jNDWpnsmzqQ+J/JCIWwmsqLXOCvYAo+y+u g==; X-IronPort-AV: E=McAfee;i="6600,9927,10704"; a="334186018" X-IronPort-AV: E=Sophos;i="5.99,259,1677571200"; d="scan'208";a="334186018" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2023 12:37:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10704"; a="692700580" X-IronPort-AV: E=Sophos;i="5.99,259,1677571200"; d="scan'208";a="692700580" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 08 May 2023 12:36:59 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 8 May 2023 12:36:59 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 8 May 2023 12:36:59 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 8 May 2023 12:36:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fRGBEIJmI9S8PXZcFUPFHgkE9i8aA39f9V0ucFzKucGJHIbRZ1o7u6WdKP4VeNm9xcn5N7oYAtcffkVITxwTh/mItu9nfJoC+l/i73X15Ft5r48EZkyT8FhptZUfHvZ+rAeKpuAOU5YTlpR5ztBSLn/eJzXYCXcFy5V9odVYEetUUNGL1/g34J1iHWUhs4vxG+OjyxUpTg/5F5KRPcGY2qywkiJ9KCQ8DzTZBdxNWJLFP1sUisPRZy1SRq5UhZfy7TLcUnK+buQodkmCvufiNlbFTWlFSOo/ph6IqJn27UeM0j/XZVL/H3vhaGbKvOkbEv0aMoOz3E2OsrmsIQsibQ== 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=kBWNVDUthBogQ5Q5MZ7LKuc9ACqeh4VSuRNcIqrwxA4=; b=DsFyyS9tI1O5MarwpqoNav93Icriuz+PPJkG6AXj3hkUjuqTM67AquWpLcD2tuhFcqjqAjwqSL3uHqUyP2kLwHlPe2nmPR7xpRIV6dG1b7TK6jocXMa6oQt2a4n0HMD4ybUjqLTQZDzxd5H79ep1GNt4mJLDjoEhcWjZS4pYav2WdHclTPmvtOVkRdjdZTzpMkpiaP51YRxTgukc5wHD40TVQPUNgolewEqdRYPsIfCexLfoQ5bxFXN2aBjbuz2+m1V3oiJbCP9VgaTkHc8qMNA79v79eYtHiYd2mPtKkE+DqrItnBODNLfrSh9guZ4s/nunzdnSdOq9LMrx21cNOw== 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 BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.32; Mon, 8 May 2023 19:36:56 +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.032; Mon, 8 May 2023 19:36:56 +0000 From: "Chiu, Chasel" To: "Oram, Isaac W" , "Gudla, Raghava" , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Kubacki, Michael" , "Chaganty, Rangasai V" , "Chiu, Chasel" Subject: Re: [edk2-platforms:PATCH V1] MinPlatformPkg/SaveMemoryConfig: Support NVS Data compression. Thread-Topic: [edk2-platforms:PATCH V1] MinPlatformPkg/SaveMemoryConfig: Support NVS Data compression. Thread-Index: AQHZf64xuQvoctZH9EWbk8VzvnYjSq9Qw4GAgAACr4A= Date: Mon, 8 May 2023 19:36:55 +0000 Message-ID: References: <20230506000300.389-1-raghava.gudla@intel.com> In-Reply-To: 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_|BN9PR11MB5515:EE_ x-ms-office365-filtering-correlation-id: da509224-59cd-4b6c-0c26-08db4ffb951b 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: lSxG6UVtcr2+vPjHpkquLhF2oiNz4aJJbXqEri/wD/7olPAknEacyWxNFD9rUhW4N9xT1via2xTQVjRAeTRTxf1XlKtBc8eGKruzqKs+uOyLGYI0PQNLHezcVN/5vOqh9o8Cacn3umzYvqeD4Kj7BAF4rOOCB1vUuAfcDec+IGzRDCqFxip2ffCiLU0eQaAALFdYIXr6LLPXklyw7dFpyaI1HFRAgJfMw6wcIdjJAPH12ei/NIt4AyP1lJYY0KQo26EXbh5b6Mhr0f3lHkFoPTlJi2W173BneRIztj7G4uxndROIeHq5rsr1AUvR8ZOJMi2EVGbOQYP/Z8DFndoLKWz5gtcLMnN8UsrqJj5i5DJaudwnO9v2yyAGobsBLD9UP5ASexxqQSOKEA9dTh2RsITFIgTn9UWMDsXACX5ExYDcAxj1OTAnB+RKl/ajpzW+ns6VOJyewm+/pwm6beXA/L/lLd+SRlUUNF/L9ke8B61UFgsfG8uWokug33wPj72Fy/VPEosR1IMP0nRu9NcWbfhNsSJG3CigNs7tNJaUcfCLJ3NClCObVBF75iCDlAMSSSa+8x2fPz7+7lap8ZGic8QABHTRgfb8f8VE+hOh/BP0zB9vG7BN9+vEnC1HUrE8 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)(136003)(376002)(346002)(396003)(39860400002)(451199021)(54906003)(2906002)(4326008)(8936002)(316002)(478600001)(64756008)(66476007)(5660300002)(66446008)(66556008)(8676002)(41300700001)(19627235002)(110136005)(71200400001)(52536014)(76116006)(66946007)(7696005)(53546011)(26005)(6506007)(9686003)(107886003)(186003)(82960400001)(55016003)(83380400001)(38070700005)(38100700002)(33656002)(86362001)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?lZPTQGLfiGBuJNu1TK2bJMYe1a1R+OkW1stFOzA7VSq/HKOvHfgBA6cA7Yho?= =?us-ascii?Q?aFAT2vp7mVOvVjz8Lk/yt0WyBJF38aLwbzbZU/6DRrjylK8iDfJ5+Wfnw6w7?= =?us-ascii?Q?2p3gizKPczVarcO0sb2MBlsB6hV4BlFHH0aBNc51OPM78O9dT9XlRzfrXd1A?= =?us-ascii?Q?Pj9G4hof07syLtEpo6tXszqjqojPji8/oIH+LdRqwSWyfy+N0mciYG/i8REo?= =?us-ascii?Q?BoDeZre3fB8Ns8OfqYEgAOFfJbTipcfVzNvaFEBLeSM3twVGpINOB2erUqht?= =?us-ascii?Q?wADU/ZN2U3X2qtLqxFddp8CKsPxSpkzTvrvSWMQby1IShvP/hL+08zN4tpfg?= =?us-ascii?Q?VQSrZqMA1VDaUkESauTAMvQEf0X16NCYLgYYbbNuAKcFui4zCYn7ookHR/rY?= =?us-ascii?Q?Wp0V0e3OBlN1WErJgpWWfJpM1bq+xaLFHJwaCqAoAN4qF5odAbe3uMOeHiOH?= =?us-ascii?Q?k1u5TrVfbLwjyuoxU/EvSX/gjLB5tc10X5pck+alj/N/fV5Dew5RUKbB+zPT?= =?us-ascii?Q?3uxN2ZUR2ErxK4RNimktYWrrdoOInjhQ5ew4FoggBWfhERXxKQ/jrzL/7anT?= =?us-ascii?Q?qp/Y1v3dWKQMMFrwu0FqVUikERlgSZnMqcKWFQ9UGyHM7HkmCSJaJ7sAR/9N?= =?us-ascii?Q?IBJwsNErzEAN9cHgRzuruaSH75PQswyFJ/mllK7obV7NqIqOOQ8gftndMxi3?= =?us-ascii?Q?gkDQ4AGyzvKHQxZkO7wEZpWVe0MqwFur6dNGrDzXuAEIxtk2G3GzepgjxiaR?= =?us-ascii?Q?1t+Q8fbjqQHowBSzB2qTUOxozumBngMl3A0xSExay+S+qDcaPlXhzeiKQnO/?= =?us-ascii?Q?MOdupBKiE0HLpYEKc9QWUEzAh5nWKn6nG/cX74yoaHBMWV5eicYZYEJ9aciB?= =?us-ascii?Q?cPDB6r8dD61ZKAzm1M/UUbolCzCuWsvCTu6hZHYeJo0+wvZFX+01JWEppm/1?= =?us-ascii?Q?9ng9+XJYP8HKigR4YAFIYCrvlu7ALzTRWLfu4yDrk5HHC/OLhzJyR62wBOdW?= =?us-ascii?Q?mP4+TnnMFmZ9dnxwAm6hCPOmp6843EyI1rKd4h3gjvGQrVLNv8stM/lHW9Bi?= =?us-ascii?Q?I+mSkwMLSlLtfOsYd/V0r4U9z5ExOzz8JsbkE6/p1A2iH/OrDxgX+gJ5OwC1?= =?us-ascii?Q?HqDekDUryuDKE+JJffrqHyn5tmly+1U5jRp5s23bheyAdCU6CL3fHcAQDhGD?= =?us-ascii?Q?D4Dp7RBppkFyW2WZZY/lGjnQcUnGkSypknqcqoJCv2dC9LnB+WCzHRwNWVJT?= =?us-ascii?Q?YaaU3MeOWHNRAwjiwCsEQtbHnSq1XNLeRzdH8Vj/t9fK/892bIZACuZAu+yp?= =?us-ascii?Q?NyrT6uNe6Yb+ju5UFoZoNnT01L7/NlA5BgCJ8BrG9IWmVNbL7jwkA7tuAxIx?= =?us-ascii?Q?+2djhWF/q/HpbCb7BfZify/PggTT1tdqwoZh4VRuVpiVMV74PPjsJf7vHLsB?= =?us-ascii?Q?6VWyN3Xqwimh8P9yovnHq/b6IWq8vKJsYcSocQiFvSaaj8h+TU7jNfKkPaXs?= =?us-ascii?Q?BEeE5SGWsngRSTJE3Pyo9Cp6eDeT8LdeATKRBkLHPJiLg8/18LmvvVFOPqYf?= =?us-ascii?Q?Ect79XujQNDHwt87IY+6Qb/h5QT2uAQzXE7o6EdT?= 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: da509224-59cd-4b6c-0c26-08db4ffb951b X-MS-Exchange-CrossTenant-originalarrivaltime: 08 May 2023 19:36:55.9975 (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: MFXtiyBtR6wBk4hof7+dhGxuIGn7IWIN91/0a4PdKfJHBmXzifLfF6FwUOEV9pSBU5zt2um411kALRpS6TlGAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5515 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 Hi Isaac, Just my thoughts, I would vote for platform/bootloader to decide compressin= g the variable data before saving to NVRAM or not. It should be optional and when platform having big SPI flash they might not= want to do this. Thanks, Chasel > -----Original Message----- > From: Oram, Isaac W > Sent: Monday, May 8, 2023 12:15 PM > To: Gudla, Raghava ; devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Kubacki, Michael > ; Chaganty, Rangasai V > > Subject: RE: [edk2-platforms:PATCH V1] MinPlatformPkg/SaveMemoryConfig: > Support NVS Data compression. >=20 > The proposed implementation is fine and I will reviewed-by and push if th= at is > the desired direction. >=20 > My question is if we generally like the design of doing compression in co= mmon > MinPlatform code, decompression in board specific FSP wrapper code. The > alternative design is to do compression and decompression inside the FSP.= This > seems like a slightly simpler separation of responsibilities. > The board code is responsible for save/restore, the FSP code is responsib= le for > data blob creation and use. Data integrity, authentication, compression,= etc all > can be done based on more detailed knowledge of the silicon implementatio= n > requirements. >=20 > I can see another argument though that doing it inside FSP effectively fo= rces > both bootloader and FSP to carry compression/decompression. The > compression/decompression aren't likely to need to be silicon specific. = And > bootloader may have more requirements to balance than just the silicon > requirements. >=20 > Can I get some votes on preferred answer for compressing/decompressing FS= P > non-volatile data in bootloader or FSP? >=20 > Thanks, > Isaac >=20 > -----Original Message----- > From: Gudla, Raghava > Sent: Friday, May 5, 2023 5:03 PM > To: devel@edk2.groups.io > Cc: Gudla, Raghava ; Chiu, Chasel > ; Desimone, Nathaniel L > ; Oram, Isaac W > Subject: [edk2-platforms:PATCH V1] MinPlatformPkg/SaveMemoryConfig: > Support NVS Data compression. >=20 > Around 50KB "FspNonVolatileStorageHob" data can be compressed to > approximately 3 KB which can save NVRAM space and enhance life of the SPI > part by decreasing the number of reclaim cycles needed. >=20 > This patch added support to compress "FspNonVolatileStorageHob" data befo= re > saving to NVRAM. >=20 > A PcdEnableCompressFspNvsHob is introduced to enable/disable this feature= per > platform usage. >=20 > Cc: Chasel Chiu > Cc: Nate DeSimone > Cc: Isaac Oram >=20 > Signed-off-by: Raghava Gudla > --- > .../SaveMemoryConfig/SaveMemoryConfig.c | 34 +++++++++++++++++++ > .../SaveMemoryConfig/SaveMemoryConfig.inf | 6 +++- > .../Include/Dsc/CoreCommonLib.dsc | 1 + > .../Intel/MinPlatformPkg/MinPlatformPkg.dec | 5 +++ > 4 files changed, 45 insertions(+), 1 deletion(-) >=20 > diff --git > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.c > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.c > index 0215e8eed..8aa935b54 100644 > --- > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.c > +++ > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemo > +++ ryConfig.c > @@ -21,6 +21,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #include #include > #include > +#include +#include > /** This is the standard EFI driver point that= detects > whether there is a@@ -45,6 +47,9 @@ SaveMemoryConfigEntryPoint ( > UINTN DataSize; UINTN BufferSize; BOOLEAN > DataIsIdentical;+ VOID *CompressedData;+ UINT64 > CompressedSize;+ UINTN CompressedAllocationPages; DataSiz= e =3D 0; > BufferSize =3D 0;@@ -73,6 +78,35 @@ SaveMemoryConfigEntryPoint ( > } } + if (PcdGetBool (PcdEnableCompressFspNvsHob) =3D=3D 1) {+ > CompressedData =3D NULL;+ CompressedSize =3D 0;+ > CompressedAllocationPages =3D 0;++ DEBUG ((DEBUG_INFO, "compressing me= m > config nvs variable\n"));+ if (DataSize > 0) {+ CompressedAllocat= ionPages =3D > EFI_SIZE_TO_PAGES (DataSize);+ CompressedData =3D AllocatePages > (CompressedAllocationPages);+ if (CompressedData =3D=3D NULL) {+ = DEBUG > ((DEBUG_ERROR, "[%a] - Failed to allocate compressed data buffer.\n", > __func__));+ ASSERT_EFI_ERROR (EFI_OUT_OF_RESOURCES);+ retu= rn > 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", __func_= _, > Status));+ ASSERT_EFI_ERROR (Status);+ FreePool(CompressedD= ata);+ > return Status;+ } else {+ 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));diff --git > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.inf > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.inf > index 61e85a658..77920d031 100644 > --- > a/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemor > yConfig.inf > +++ > b/Platform/Intel/MinPlatformPkg/FspWrapper/SaveMemoryConfig/SaveMemo > +++ ryConfig.inf > @@ -26,6 +26,7 @@ > LargeVariableReadLib LargeVariableWriteLib BaseLib+ CompressLib > [Packages] MdePkg/MdePkg.dec@@ -45,6 +46,9 @@ > gFspNonVolatileStorageHob2Guid ## CONSUMES > gFspNvsBufferVariableGuid ## PRODUCES +[Pcd]+ > gMinPlatformPkgTokenSpaceGuid.PcdEnableCompressFspNvsHob+ [Depex] > gEfiVariableArchProtocolGuid AND- gEfiVariableWriteArchProtocolGu= id > \ No newline at end of file > + gEfiVariableWriteArchProtocolGuiddiff --git > + a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > + b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > index 5ce21cf31..dfe7d836d 100644 > --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc > @@ -147,6 +147,7 @@ >=20 > BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLi > b.inf > LargeVariableReadLib|MinPlatformPkg/Library/BaseLargeVariableLib/BaseLarg > eVariableReadLib.inf > LargeVariableWriteLib|MinPlatformPkg/Library/BaseLargeVariableLib/BaseLar= g > eVariableWriteLib.inf+ > CompressLib|MinPlatformPkg/Library/CompressLib/CompressLib.inf # # > CryptLibdiff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > index 784abb828..e21d55fb3 100644 > --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > @@ -348,6 +348,11 @@ >=20 > gMinPlatformPkgTokenSpaceGuid.PcdFadtFlags|0x000086A5|UINT32|0x90000 > 027 > gMinPlatformPkgTokenSpaceGuid.PcdFadtMajorVersion|0x06|UINT8|0x900000 > 30 > gMinPlatformPkgTokenSpaceGuid.PcdFadtMinorVersion|0x03|UINT8|0x900000 > 31+## Controls whether the Memory Config UEFI Variable is saved as > compressed data.+# Data compression can significantly reduce variable sto= rage > usage for FSP NVS buffer data.+# Platforms that choose to compress the da= ta > will need to decompress the variable data upon+# extraction.+ > gMinPlatformPkgTokenSpaceGuid.PcdEnableCompressFspNvsHob|FALSE|BOOL > EAN|0x90000032 [PcdsFixedAtBuild] -- > 2.19.1.windows.1