DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F\r
DEFINE TTY_TERMINAL = FALSE\r
\r
-[BuildOptions.common.EDKII.DXE_DRIVER,BuildOptions.common.EDKII.UEFI_DRIVER,BuildOptions.common.EDKII.UEFI_APPLICATION]\r
- GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x1000\r
+[BuildOptions.common.EDKII.DXE_CORE,BuildOptions.common.EDKII.DXE_DRIVER,BuildOptions.common.EDKII.UEFI_DRIVER,BuildOptions.common.EDKII.UEFI_APPLICATION]\r
+ GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000\r
\r
[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]\r
GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000\r
\r
# ARM PL031 RTC Driver\r
RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf\r
+ TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf\r
# ARM PL011 UART Driver\r
PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf\r
SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf\r
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf\r
!endif\r
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf\r
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
\r
[LibraryClasses.common.SEC]\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
- gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1\r
gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
\r
- #\r
- # ARM Pcds\r
- #\r
- gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000\r
-\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
# override the default values from SecurityPkg to ensure images from all sources are verified in secure boot\r
gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04\r
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x80, 0x6d, 0x91, 0x7d, 0xb1, 0x5b, 0x8c, 0x45, 0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94}\r
!endif\r
\r
-[PcdsFixedAtBuild.ARM]\r
- gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40\r
-\r
-[PcdsFixedAtBuild.AARCH64]\r
#\r
# Enable strict image permissions for all images. (This applies\r
# only to images that were built with >= 4 KB section alignment.)\r
#\r
gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3\r
\r
+ #\r
+ # Enable NX memory protection for all non-code regions, including OEM and OS\r
+ # reserved ones, with the exception of LoaderData regions, of which OS loaders\r
+ # (i.e., GRUB) may assume that its contents are executable.\r
+ #\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1\r
+\r
+ #\r
+ # Enable the non-executable DXE stack. (This gets set up by DxeIpl)\r
+ #\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE\r
+\r
+[PcdsFixedAtBuild.ARM]\r
+ gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40\r
+\r
[Components.common]\r
#\r
# Networking stack\r
#\r
# ACPI Support\r
#\r
- MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
+ MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {\r
+ <LibraryClasses>\r
+ NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf\r
+ }\r
+\r
+ #\r
+ # EBC support\r
+ #\r
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r