From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) by mx.groups.io with SMTP id smtpd.web08.56053.1643756138107464501 for ; Tue, 01 Feb 2022 14:55:38 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@starlabs-systems.20210112.gappssmtp.com header.s=20210112 header.b=iRFiwhzz; spf=pass (domain: starlabs.systems, ip: 209.85.219.182, mailfrom: sean@starlabs.systems) Received: by mail-yb1-f182.google.com with SMTP id m6so55480484ybc.9 for ; Tue, 01 Feb 2022 14:55:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=starlabs-systems.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=eI5jKZxKqiMxrPc7AYR4FgfkMicA7rj3Q7PwLnud2BI=; b=iRFiwhzzG+HkjsfmmTW7ul3YpDKaHLLCY1bYRjl6sF1CIAyCVd0n8ulx53B9WAvdEB HHZJ/jc5Kgt02LqgvxZPs5Yk4Zj8DuNiI8lQoPHZS0ikeSkbX54kJ15hMp5rZ9mOndIC dW6om8DJCG65SBJ6MvPqQGfc17hd0XBva9VuDnyOpjYyHYEDHNS84HaLoPg8D/MPsxdt 6+FZSF5uXVMCvvaY1webkK+pRUuQvre3CzeWeR4c19nbwf2OnEQ0JB3ugBZSLwnvNiD3 BlgYq2Gw9ta+Zh0C2Cg6ivi0u8zq4d3+NtW0uokPWJ1wd+Vv6Q6oKpfx39TOqyEltJd5 lcgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=eI5jKZxKqiMxrPc7AYR4FgfkMicA7rj3Q7PwLnud2BI=; b=Hwpw/1UsQWZsSzs7MG3VWWWwbTeLs1pASgRV8kG4EMnhNlDbNDnq9JkcRw8Pirfpna eVW6kIDjC5YgKe8xAakY99IxSqKPSuIzyskGRSOAaBnw4Qt6J+ycfm7oL8iQMWT5Ay8a NBOkgIQRobDu01p2mEqhJlSzNGyzOlM24c9JEp0Ks+bhnM8qhbniNZaCVPVZ3IcWC37C ahr3MX9KJSymfuydONPbdQIUjXfmcpV7+vocAHGW9LyPDgKq/UgFMrV+Sa9fbSioahWL l87jEacyRTu03iF9eoli2ZfH7Rsv6MRfQhLODjdmPra3K8SNbwvud2vCqSNJJ9HzsBkD 55Rw== X-Gm-Message-State: AOAM530TVgBJJ3Ub/wsZSYGtc8g9ncCJ8FsccHl7YmdHOchrWkP1gOis ViVdDh2XxYQhEBbQ2tddAIslQOXps+grhc1uzmMB X-Google-Smtp-Source: ABdhPJz5yif93kqm9EWpAYAQVVl8akDWYsNDN5OcDpjB5tponmfCZY5nq6DCNxTh8riVSA1e9UMYNUa4ugZBZ4xfecs= X-Received: by 2002:a25:d2cb:: with SMTP id j194mr38889995ybg.277.1643756137198; Tue, 01 Feb 2022 14:55:37 -0800 (PST) MIME-Version: 1.0 References: <690.1643446000445319196@groups.io> In-Reply-To: From: "Sean Rhodes" Date: Tue, 1 Feb 2022 22:55:26 +0000 Message-ID: Subject: Re: [edk2-devel] [PATCH 32/32] UefiPayloadPkg: Add build option for Above 4G Memory To: "Dong, Guo" Cc: "devel@edk2.groups.io" Content-Type: multipart/alternative; boundary="000000000000a7cb7a05d6fcccae" --000000000000a7cb7a05d6fcccae Content-Type: text/plain; charset="UTF-8" Will do, thanks! SeanRhodes Technical Project Lead On Tue, 1 Feb 2022 at 22:53, Dong, Guo wrote: > > > Yes, please re-send the patch once there is any update. > > And please CC the package maintainers when you send patches to edk2 devel > list follow EDK2 process. > > > > Thanks, > > Guo > > > > *From:* Sean Rhodes > *Sent:* Saturday, January 29, 2022 1:47 AM > *To:* Dong, Guo ; devel@edk2.groups.io > *Subject:* Re: [edk2-devel] [PATCH 32/32] UefiPayloadPkg: Add build > option for Above 4G Memory > > > > Thanks :) > > I've updated the PR. Do I need to resend the new patch again? > > [PATCH 33/33] UefiPayloadPkg: Add build option for Above 4G Memory > > > > When build option ABOVE_4G_MEMORY is set to true, nothing will change > > and EDKII will use all available memory. > > > > Setting it to false will create memory type information HOB in > > payload entry, so that EDKII will reserve enough memory below 4G > > for EDKII modules. This option is useful for bootloaders that are not > > fully 64-bit aware such as Qubes R4.0.4 bootloader, Zorin and Proxmox. > > > > Signed-off-by: Sean Rhodes > > --- > > .../UefiPayloadEntry/UefiPayloadEntry.c | 41 +++++++++++++++++++ > > .../UefiPayloadEntry/UefiPayloadEntry.inf | 7 ++++ > > UefiPayloadPkg/UefiPayloadPkg.dec | 3 ++ > > UefiPayloadPkg/UefiPayloadPkg.dsc | 3 ++ > > 4 files changed, 54 insertions(+) > > > > diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c > b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c > > index 0fed1e3691..d5c18dc343 100644 > > --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c > > +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c > > @@ -5,10 +5,46 @@ > > > > **/ > > > > +#include > > #include "UefiPayloadEntry.h" > > > > STATIC UINT32 mTopOfLowerUsableDram = 0; > > > > +/** > > + Function to reserve memory below 4GB for EDKII Modules. > > + > > + This causes the DXE to dispatch everything under 4GB and allows > Operating > > + System's that require EFI_LOADED_IMAGE to be under 4GB to start. > > + e.g. Xen hypervisor used in Qubes > > + > > + @param None > > + > > + @retval None > > +**/ > > +VOID > > +ForceModulesBelow4G ( > > + VOID > > + ) > > +{ > > + DEBUG ((DEBUG_INFO, "Building hob to restrict memory resorces to below > 4G.\n")); > > + EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = { > > + { EfiACPIReclaimMemory, FixedPcdGet32 > (PcdMemoryTypeEfiACPIReclaimMemory) }, > > + { EfiACPIMemoryNVS, FixedPcdGet32 > (PcdMemoryTypeEfiACPIMemoryNVS) }, > > + { EfiReservedMemoryType, FixedPcdGet32 > (PcdMemoryTypeEfiReservedMemoryType) }, > > + { EfiRuntimeServicesData, FixedPcdGet32 > (PcdMemoryTypeEfiRuntimeServicesData) }, > > + { EfiRuntimeServicesCode, FixedPcdGet32 > (PcdMemoryTypeEfiRuntimeServicesCode) }, > > + { EfiMaxMemoryType, 0 } > > + }; > > + // > > + // Create Memory Type Information HOB > > + // > > + BuildGuidDataHob ( > > + &gEfiMemoryTypeInformationGuid, > > + mDefaultMemoryTypeInformation, > > + sizeof(mDefaultMemoryTypeInformation) > > + ); > > +} > > + > > /** > > Callback function to build resource descriptor HOB > > > > @@ -438,6 +474,11 @@ _ModuleEntryPoint ( > > // Build other HOBs required by DXE > > BuildGenericHob (); > > > > + // Create a HOB to make resources for EDKII modules below 4G > > + if (!FixedPcdGetBool (PcdAbove4GMemory) ) { > > + ForceModulesBelow4G (); > > + } > > + > > // Load the DXE Core > > Status = LoadDxeCore (&DxeCoreEntryPoint); > > ASSERT_EFI_ERROR (Status); > > diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf > b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf > > index 1847d6481a..2ca47e3bb5 100644 > > --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf > > +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf > > @@ -86,8 +86,15 @@ > > gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemSize > > gUefiPayloadPkgTokenSpaceGuid.PcdBootloaderParameter > > gUefiPayloadPkgTokenSpaceGuid.PcdSystemMemoryUefiRegionSize > > + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS > > + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory > > + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType > > + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData > > + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## > SOMETIMES_CONSUMES > > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## > SOMETIMES_CONSUMES > > gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## > SOMETIMES_CONSUMES > > > > + gUefiPayloadPkgTokenSpaceGuid.PcdAbove4GMemory > > + > > diff --git a/UefiPayloadPkg/UefiPayloadPkg.dec > b/UefiPayloadPkg/UefiPayloadPkg.dec > > index 551f0a4915..653a52b5a7 100644 > > --- a/UefiPayloadPkg/UefiPayloadPkg.dec > > +++ b/UefiPayloadPkg/UefiPayloadPkg.dec > > @@ -83,6 +83,9 @@ > gUefiPayloadPkgTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000|UINT32|0x > > > > gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80, > 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 > }|VOID*|0x00000018 > > > > +# Above 4G Memory > > +gUefiPayloadPkgTokenSpaceGuid.PcdAbove4GMemory|TRUE|BOOLEAN|0x00000019 > > + > > ## FFS filename to find the default variable initial data file. > > # @Prompt FFS Name of variable initial data file > > gUefiPayloadPkgTokenSpaceGuid.PcdNvsDataFile |{ 0x1a, 0xf1, 0xb1, 0xae, > 0x42, 0xcc, 0xcf, 0x4e, 0xac, 0x60, 0xdb, 0xab, 0xf6, 0xca, 0x69, 0xe6 > }|VOID*|0x00000025 > > diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc > b/UefiPayloadPkg/UefiPayloadPkg.dsc > > index 1ce96a51c1..dad14be343 100644 > > --- a/UefiPayloadPkg/UefiPayloadPkg.dsc > > +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc > > @@ -33,6 +33,7 @@ > > DEFINE UNIVERSAL_PAYLOAD = FALSE > > DEFINE SECURITY_STUB_ENABLE = TRUE > > DEFINE SMM_SUPPORT = FALSE > > + DEFINE ABOVE_4G_MEMORY = TRUE > > # > > # SBL: UEFI payload for Slim Bootloader > > # COREBOOT: UEFI payload for coreboot > > @@ -399,6 +400,8 @@ > > gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1 > > !endif > > > > + gUefiPayloadPkgTokenSpaceGuid.PcdAbove4GMemory|$(ABOVE_4G_MEMORY) > > + > > [PcdsPatchableInModule.X64] > > gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER) > > > gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister|$(RTC_TARGET_REGISTER) > > -- > > 2.32.0 > > > --000000000000a7cb7a05d6fcccae Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Will do, thanks!=C2=A0

Sean<= span style=3D"font-weight:400">Rhodes

Technical Project Lead

=


On Tue, 1 Feb 2022 at 22:53, Dong, = Guo <guo.dong@intel.com> wr= ote:

=C2=A0

Yes, please re-send the patch once there is any upda= te.

And please CC the pac= kage maintainers when you send patches to edk2 devel list follow EDK2 proce= ss.

=C2=A0<= /p>

Thanks,=

Guo

=C2=A0<= /p>

From: Sean Rhodes <sean@starlabs.systems&g= t;
Sent: Saturday, January 29, 2022 1:47 AM
To: Dong, Guo <guo.dong@intel.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [PATCH 32/32] UefiPayloadPkg: Add build op= tion for Above 4G Memory

=C2=A0

Thanks :)

I've updated the PR. Do I need to resend the new patch again?

[PATCH 33/33] UefiPayloadPkg: Add build option for Above 4G Memory

=C2=A0

When build option ABOVE_4G_MEMORY is set to true, no= thing will change

and EDKII will use all available memory.

=C2=A0

Setting it to false will create memory type informat= ion HOB in

payload entry, so that EDKII will reserve enough mem= ory below 4G

for EDKII modules. This option is useful for bootloa= ders that are not

fully 64-bit aware such as Qubes R4.0.4 bootloader, = Zorin and Proxmox.

=C2=A0

Signed-off-by: Sean Rhodes <sean@starlabs.systems><= u>

---

=C2=A0.../UefiPayloadEntry/UefiPayloadEntry.c=C2=A0 = =C2=A0 =C2=A0 =C2=A0| 41 +++++++++++++++++++

=C2=A0.../UefiPayloadEntry/UefiPayloadEntry.inf=C2= =A0 =C2=A0 =C2=A0|=C2=A0 7 ++++

=C2=A0UefiPayloadPkg/UefiPayloadPkg.dec=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 3 ++

=C2=A0UefiPayloadPkg/UefiPayloadPkg.dsc=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 3 ++

=C2=A04 files changed, 54 insertions(+)

=C2=A0

diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPay= loadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c<= /u>

index 0fed1e3691..d5c18dc343 100644

--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEnt= ry.c

+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEnt= ry.c

@@ -5,10 +5,46 @@

=C2=A0

=C2=A0**/

=C2=A0

+#include <Guid/MemoryTypeInformation.h>

=C2=A0#include "UefiPayloadEntry.h"=

=C2=A0

=C2=A0STATIC UINT32=C2=A0 mTopOfLowerUsableDram =3D = 0;

=C2=A0

+/**

+=C2=A0 =C2=A0Function to reserve memory below 4GB f= or EDKII Modules.

+

+=C2=A0 =C2=A0This causes the DXE to dispatch everyt= hing under 4GB and allows Operating

+=C2=A0 =C2=A0System's that require EFI_LOADED_I= MAGE to be under 4GB to start.

+=C2=A0 =C2=A0e.g. Xen hypervisor used in Qubes

+

+=C2=A0 =C2=A0@param=C2=A0 None

+

+=C2=A0 @retval None

+**/

+VOID

+ForceModulesBelow4G (

+=C2=A0 VOID

+=C2=A0 )

+{

+=C2=A0 DEBUG ((DEBUG_INFO, "Building hob to re= strict memory resorces to below 4G.\n"));

+=C2=A0 EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTy= peInformation[] =3D {

+=C2=A0 =C2=A0 { EfiACPIReclaimMemory,=C2=A0 =C2=A0F= ixedPcdGet32 (PcdMemoryTypeEfiACPIReclaimMemory) },

+=C2=A0 =C2=A0 { EfiACPIMemoryNVS,=C2=A0 =C2=A0 =C2= =A0 =C2=A0FixedPcdGet32 (PcdMemoryTypeEfiACPIMemoryNVS) },

+=C2=A0 =C2=A0 { EfiReservedMemoryType,=C2=A0 FixedP= cdGet32 (PcdMemoryTypeEfiReservedMemoryType) },

+=C2=A0 =C2=A0 { EfiRuntimeServicesData, FixedPcdGet= 32 (PcdMemoryTypeEfiRuntimeServicesData) },

+=C2=A0 =C2=A0 { EfiRuntimeServicesCode, FixedPcdGet= 32 (PcdMemoryTypeEfiRuntimeServicesCode) },

+=C2=A0 =C2=A0 { EfiMaxMemoryType,=C2=A0 =C2=A0 =C2= =A0 =C2=A00=C2=A0 =C2=A0 =C2=A0}

+=C2=A0 };

+=C2=A0 //

+=C2=A0 // Create Memory Type Information HOB=

+=C2=A0 //

+=C2=A0 BuildGuidDataHob (

+=C2=A0 =C2=A0 &gEfiMemoryTypeInformationGuid,

+=C2=A0 =C2=A0 mDefaultMemoryTypeInformation,=

+=C2=A0 =C2=A0 sizeof(mDefaultMemoryTypeInformation)=

+=C2=A0 );

+}

+

=C2=A0/**

=C2=A0 =C2=A0 Callback function to build resource de= scriptor HOB

=C2=A0

@@ -438,6 +474,11 @@ _ModuleEntryPoint (

=C2=A0 =C2=A0// Build other HOBs required by DXE<= /u>

=C2=A0 =C2=A0BuildGenericHob ();

=C2=A0

+=C2=A0 // Create a HOB to make resources for EDKII = modules below 4G

+=C2=A0 if (!FixedPcdGetBool (PcdAbove4GMemory) ) {<= u>

+=C2=A0 =C2=A0 ForceModulesBelow4G ();=

+=C2=A0 }

+

=C2=A0 =C2=A0// Load the DXE Core

=C2=A0 =C2=A0Status =3D LoadDxeCore (&DxeCoreEnt= ryPoint);

=C2=A0 =C2=A0ASSERT_EFI_ERROR (Status);

diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPay= loadEntry.inf b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf=

index 1847d6481a..2ca47e3bb5 100644

--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEnt= ry.inf

+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEnt= ry.inf

@@ -86,8 +86,15 @@

=C2=A0 =C2=A0gUefiPayloadPkgTokenSpaceGuid.PcdPayloa= dFdMemSize

=C2=A0 =C2=A0gUefiPayloadPkgTokenSpaceGuid.PcdBootlo= aderParameter

=C2=A0 =C2=A0gUefiPayloadPkgTokenSpaceGuid.PcdSystem= MemoryUefiRegionSize

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeE= fiACPIMemoryNVS

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeE= fiACPIReclaimMemory

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeE= fiReservedMemoryType

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeE= fiRuntimeServicesData

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeE= fiRuntimeServicesCode

=C2=A0

=C2=A0 =C2=A0gEfiMdeModulePkgTokenSpaceGuid.PcdSetNx= ForStack=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0## SOMETIMES= _CONSUMES

=C2=A0 =C2=A0gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNx= MemoryProtectionPolicy ## SOMETIMES_CONSUMES

=C2=A0 =C2=A0gEfiMdeModulePkgTokenSpaceGuid.PcdImage= ProtectionPolicy=C2=A0 =C2=A0 =C2=A0 =C2=A0## SOMETIMES_CONSUMES<= /u>

=C2=A0

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdAbove4GMemo= ry

+

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dec b/Uef= iPayloadPkg/UefiPayloadPkg.dec

index 551f0a4915..653a52b5a7 100644

--- a/UefiPayloadPkg/UefiPayloadPkg.dec

+++ b/UefiPayloadPkg/UefiPayloadPkg.dec

@@ -83,6 +83,9 @@ gUefiPayloadPkgTokenSpaceGuid.PcdS= ystemMemoryUefiRegionSize|0x04000000|UINT32|0x

=C2=A0

=C2=A0gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile= |{ 0x57, 0x72, 0xcf, 0x80, 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, = 0x76, 0xd8, 0x95, 0x41 }|VOID*|0x00000018

=C2=A0

+# Above 4G Memory

+gUefiPayloadPkgTokenSpaceGuid.PcdAbove4GMemory|TRUE= |BOOLEAN|0x00000019

+

=C2=A0## FFS filename to find the default variable i= nitial data file.

=C2=A0# @Prompt FFS Name of variable initial data fi= le

=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdNvsDataFile = |{ 0x1a, 0xf1, 0xb1, 0xae, 0x42, 0xcc, 0xcf, 0x4e, 0xac, 0x60, 0xdb, 0xab, = 0xf6, 0xca, 0x69, 0xe6 }|VOID*|0x00000025

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/Uef= iPayloadPkg/UefiPayloadPkg.dsc

index 1ce96a51c1..dad14be343 100644

--- a/UefiPayloadPkg/UefiPayloadPkg.dsc

+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc

@@ -33,6 +33,7 @@

=C2=A0 =C2=A0DEFINE UNIVERSAL_PAYLOAD=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D FALSE

=C2=A0 =C2=A0DEFINE SECURITY_STUB_ENABLE=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0=3D TRUE

=C2=A0 =C2=A0DEFINE SMM_SUPPORT=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D FALSE

+=C2=A0 DEFINE ABOVE_4G_MEMORY=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D TRUE

=C2=A0 =C2=A0#

=C2=A0 =C2=A0# SBL:=C2=A0 =C2=A0 =C2=A0 UEFI payload= for Slim Bootloader

=C2=A0 =C2=A0# COREBOOT: UEFI payload for coreboot

@@ -399,6 +400,8 @@

=C2=A0 =C2=A0gEfiMdePkgTokenSpaceGuid.PcdPerformance= LibraryPropertyMask=C2=A0 =C2=A0 =C2=A0 =C2=A0| 0x1

=C2=A0!endif

=C2=A0

+=C2=A0 gUefiPayloadPkgTokenSpaceGuid.PcdAbove4GMemo= ry|$(ABOVE_4G_MEMORY)

+

=C2=A0[PcdsPatchableInModule.X64]

=C2=A0 =C2=A0gPcAtChipsetPkgTokenSpaceGuid.PcdRtcInd= exRegister|$(RTC_INDEX_REGISTER)

=C2=A0 =C2=A0gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTar= getRegister|$(RTC_TARGET_REGISTER)

--=C2=A0

2.32.0

=C2=A0

--000000000000a7cb7a05d6fcccae--