From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.8262.1683689276023834434 for ; Tue, 09 May 2023 20:27:56 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Y6RvTj30; spf=pass (domain: intel.com, ip: 134.134.136.24, 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=1683689276; x=1715225276; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=TlP2WNK9jF/NzZNPOFqz/bovsgh5WR2jP285P6Ighdc=; b=Y6RvTj30dZndUiRkiiaJco4gHKIbirB0lVQHnXYZ9fwMVJyBh1Pef1zH Mfw4kqb4SSaLF3O7fUuq/p0e7ZdGG97t1FV3rSEyLy4yrYy6OpkNE8IVX 7G4LnVYCIP3S+KBA8XEf5z1spKlCJTNKo+4KG0uTbtAKARyeQIZAR3XhF +1aRy9SiOOnEs7r6JejxbXw8bRs3S4wO2iLZk1UwYqlWZzajoX7sJKCNm nmnxcpevAg51HgVT+AcppEo3n/+yQYRpyUwo4+SCYzDB7Hs3/A0Nmj412 3jadssuWaPhrpujMNY+KE2i1z7oQ3mscXyyJnNG5NuMqQ8jt2ElqeYswI A==; X-IronPort-AV: E=McAfee;i="6600,9927,10705"; a="352303062" X-IronPort-AV: E=Sophos;i="5.99,263,1677571200"; d="scan'208";a="352303062" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2023 20:27:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10705"; a="702101766" X-IronPort-AV: E=Sophos;i="5.99,263,1677571200"; d="scan'208";a="702101766" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga007.fm.intel.com with ESMTP; 09 May 2023 20:27:54 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2507.23; Tue, 9 May 2023 20:27:53 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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; Tue, 9 May 2023 20:27:53 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.173) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 9 May 2023 20:27:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LBZw4W0mWaMBBO+kFA1DpeEj66sKVu6oXz8YR4LIs9kqm1jAuNSEpuQboubV1I6iXN4SilkQuj+0+f5nfMcpNJjq7VljV/eL9qdso9N6MuDys+R1oTDdt+K7E21d1mAiCoWGi4kGbLIgu666VWGzAf3MHL6oMqYDS6YVKPluNvBsy7/t7h7c5vVKZtaWZ5Il7UG21KFTHoP+tr2Jnslm829qyx8W9u3wBUX3YnL9SE8exkmAHz+BOYw5b6dHT4/X6QjLmj8ehLM2U2SPzFJVEK1S7FuwLeIdOtDFVAA1u4HEWXr/sDn8JjjFUgoV6extSiTeC2pfeTxvSX77JocGVg== 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=ibCT+Fnqc5bRdJAehHh8B1Kr1DxlbrxFQpPIWP0qxqc=; b=XVyteho+/toxxhOk7JX9f1mx+x/oaZ5W4urskizVOdteO9eZbe0H6L9qKEYIJtKLR8Eioh4k8Wv2kyTW9IB7lafXO1tMA4TwKXtocwC1ay9NwVuplVzjnwrBRxRVGtxxN1Yxjmds3SolRHQjSZ5CNexDhr701eeLq06sD79BILjL7xX2UDQgesf8a/rr/xTDKWCk5b3S1NVMv+WBqpIzxm9X39jTamByzYgF7TWscF62xso9q8n4ezigXfv3wsKgbwi/+/9NjSs7TLV4kx0UWy1NOMwxCxzk5B6ZnBP+fKG5CT1rgXkiifNFSLd+9PJx7qrgafv8z1QGl2ew+xQKBg== 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 IA1PR11MB6076.namprd11.prod.outlook.com (2603:10b6:208:3d4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.32; Wed, 10 May 2023 03:27:51 +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 03:27:51 +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 v3 1/1] MinPlatformPkg: Add FspNvsBuffer compression option Thread-Topic: [edk2-devel] [edk2-platforms][PATCH v3 1/1] MinPlatformPkg: Add FspNvsBuffer compression option Thread-Index: AQHZgu6HJat5OZcyakayygd084MM8q9S2FHA Date: Wed, 10 May 2023 03:27:50 +0000 Message-ID: References: <20230510032052.1225-1-mikuback@linux.microsoft.com> In-Reply-To: <20230510032052.1225-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_|IA1PR11MB6076:EE_ x-ms-office365-filtering-correlation-id: e699947d-052a-4bea-f80f-08db510688ca 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: 5CJV/Uvynl5sVILhDvSeun/TF8iePHW/yq2WnptGJWtxmAgvgtqPTmuJKG4xpyYRHcmTeMZ2Lu+PmMp1lJX46iPdkWkMX97wKSrFy/3Jqoge1+l2cRJ0Bh9wTzZUu2BRv068EBIDKH+Mk8d/3V5K1+4aZYSZP6HAg1Fc6cwXtHgdP+zoEAV8px3uEtDn4Pd8MG+K5s+FmqTB/GEzkUmwrWqIBoc8kRBmlLSAWVpvwLk7BjzQPn1t7sCnxCqpgW3fPbX3z6mrMJv1XRtIqF7frcfxdfqM3MP8DvG2DxZrB/cMYkMg9Z4lbzlKe69o1uRrHKH0KKdZOtcudqTSNqZzPCEm5OCjbXINpi1nmzJQ03/wSwj17EGKtjNcR/cKkhWWTaBM3DexmVXx6OiEaOZ9i6aL4OhCtIPVCay+rM8xFTn2RgdcdsklmvzXQCowdLbtMs7cGWEe6S9QoANlGhM9DWM2nV2Tow5QBm9i1mkbF+Gb14BjZt0BmVCji4m6Lizqgcugr7DD1qeOZaTEXmAlu57T5NYCAcV8fsFQYeCjmpqe5sN3JVFNzwEG+r/lUjeqES2qMo/q1pqZjoTuZ6Gfga73DHYtkkNzky1RrMQwmbNcDr3HV59DSN5vGlwlZKNUu/ukXMclDRpwPITOoikEqA== 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)(396003)(39860400002)(346002)(376002)(136003)(451199021)(66899021)(38100700002)(2906002)(52536014)(316002)(33656002)(86362001)(8676002)(8936002)(66556008)(122000001)(66946007)(41300700001)(66446008)(38070700005)(55016003)(5660300002)(66476007)(82960400001)(83380400001)(966005)(45080400002)(110136005)(186003)(53546011)(76116006)(6506007)(107886003)(7696005)(9686003)(26005)(54906003)(478600001)(19627235002)(71200400001)(64756008)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?t9MI/mJSt/Zq6Fr+Cf4e9LGQ1zIcpD++5otuFMYvr4gUrqn8Pp/YofDlLzCQ?= =?us-ascii?Q?KURdLto0qPr38IhgWFpEinEHjwFAxc5YOjjoBUv41i6MyTwPnDUPuANweMkl?= =?us-ascii?Q?uFOpaxJjQClEBLx3LOygoi+JFH1ddEApHGHMROjnOjQa7twWcQHssakxvg87?= =?us-ascii?Q?+6PU/l/CV+PICs20mbm51bJ4HdRYrr6lFoJVkJDC8md0v9QbFd/RQlJNJYXZ?= =?us-ascii?Q?IMjRCVhXWdusTCi+oIbks19aH7bNziO7P0FyaaiZEqwx0JLKiBqqlP5rkpOs?= =?us-ascii?Q?R74DxJ3DI9tfFeRjJDSy41nDU9YzHPgdM83EuiUW5NKodksfV29+KdHhb4kM?= =?us-ascii?Q?FCFd0lJ5NmaRH1IVdK43CyNOctfS9UNcISxUwiaUbAp6kG9p0Jb2G5NceXQ/?= =?us-ascii?Q?aadOZzv8BA0VKd/mwGPiBvhrFBhGysyAcJHgTNPAm6vBhKKaUg6eBclgVz5y?= =?us-ascii?Q?hAiaWDcKzA9947w6eZUmTqvDZtDRXFhyAotVijskTK93GaPGVc6vlZmyweuR?= =?us-ascii?Q?P2BDN5Yjj8tdrT0hwwrr2yJhwNxetnORY1sy01/URS4Ha1SDjMAbGFloCynS?= =?us-ascii?Q?6Yur2cvRp2EJhA2+x31unNdcVU8CRcabUVdmDRhUi60z28Y/NzNZFz1L+gZa?= =?us-ascii?Q?m+1C3aGpQxf9ammA+iNJ+iRjytPKuiVjGMnlubnMuSJJG84ThWoDWKjbA2Qt?= =?us-ascii?Q?714YTT4j/kOBrJcGg4nvglYfjQ0m4f97FEfmIusgzZP+dYoA8JdDz/9GJfHv?= =?us-ascii?Q?EmVnntjDou/ff9KE5lLkGyxLeOOhelmvrDe58/fltB6plEB0aUpqzPUFuYOU?= =?us-ascii?Q?owqn+ak2T6IncAGt68VHDVnX6uAntWmkUXeeJC0cGed3IT2I4zrmb6ncMxRP?= =?us-ascii?Q?+XgZ0mLJ/iS6Pf7XDfiVlfn7BssdUgEL5w4FMk937Im4g7kQCCrLsRaZRtcW?= =?us-ascii?Q?VW8buI6UaWmabF1srZtIwBhV+0GpamhLiRbBcbHC6h0c4CTnz8UzW2YWXCDe?= =?us-ascii?Q?oC29tpZofwp+c1R5CEJe3Dl/I6a5DVrLo0uJEWgMyad6/FPyzPxcl0/BxQ9U?= =?us-ascii?Q?eLgsvhDY4Gk8LAvzMfzSnPLB7h6WkQGn7Smn/lgPtUGb0DW66k77qjothTQ6?= =?us-ascii?Q?pt5Sqq1uqcj9Z2NExQxs1Rc+gAwOzBWu2MkQZoDuoxQwfk7d0Ytyb4kfCeLb?= =?us-ascii?Q?4mz3cRO8mN3ZHd09CmUui/fdTe1tn+NvqfxUYY+OYewAXnbAAWfw61q2Rnck?= =?us-ascii?Q?4GBQ79RA5f+VlMaQDmg2jkRZnWPSoWD0vf6KVoBB/qkToVC5r7T1tH4EdjkA?= =?us-ascii?Q?1z67As4INm4xgZCXoMgE2g9AGsZY7+CCRZGc6Vw76ufAZj4mJ1h+wjCv4vqp?= =?us-ascii?Q?vdlOdxNkDBX51V4HOUwKw6IWB9oxB7NVTMZasLgZwamX70btLfGC8mkcID9G?= =?us-ascii?Q?s1yYSuz5YTMW32keqrLYmKSRKMnHpoP70OGLhNz3KH1I1Ztxm39kbTp6PlXn?= =?us-ascii?Q?p5JyhBvNza28Abjy6+t5Tr82a1g88mrXng0oM3aVzJJWwf23cEmGu3oxRKfv?= =?us-ascii?Q?1ak5lwWUnz8V2obg4BsySkR/kyBM/K9b8Ov8LQX4?= 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: e699947d-052a-4bea-f80f-08db510688ca X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2023 03:27:50.9430 (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: LJ4xdwpZqcpohLVGM9vB43yDBmWu//ViLzfn+2zA26G5AkoLovJfq1GDnBhWPWjwLHxLR7WkXIa0tW27/oHUjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6076 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 =09 Reviewed-by: Chasel Chiu Thanks, Chasel > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Michael > Kubacki > Sent: Tuesday, May 9, 2023 8:21 PM > 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 v3 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: > 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 ++ > 4 files changed, 60 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)
> -- > 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 (#104478): https://edk2.groups.io/g/devel/message/10447= 8 > Mute This Topic: https://groups.io/mt/98799191/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