mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
While fixing https://github.com/tianocore/edk2/pull/6092 (the fact that some OvmfPkg and ArmVirtPkg platforms included residual NetworkPkg components even when compiled with -D NETWORK_ENABLE=0), it was noted that OvmfPkg/Include/*/Shell*.inc files which apply the required fix logic are available and already used in some OvmfPkg platforms. A previous commit applied these files consistently within OvmfPkg. This commit applies these files within ArmVirtPkg. This has the side effect that some platforms now include one or more of HttpDynamicCommand, VariablePolicyDynamicCommand and LinuxInitrdDynamicShellCommand when they previously did not. It is believed that in all cases these changes are neutral (i.e. not necessarily needed, but not harmful, and with the benefit of now using shared code) or positive (i.e. they fix unintentional drift between platforms, and provide additional shell commands which may be useful in some cases). Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
409 lines
19 KiB
C++
409 lines
19 KiB
C++
#
|
|
# Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
|
|
# Copyright (c) 2014, Linaro Limited. All rights reserved.
|
|
# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
|
|
# Copyright (c) Microsoft Corporation.
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
|
|
[Defines]
|
|
|
|
#
|
|
# Shell can be useful for debugging but should not be enabled for production
|
|
#
|
|
DEFINE BUILD_SHELL = TRUE
|
|
|
|
DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
|
|
|
|
!if $(TARGET) != NOOPT
|
|
DEFINE FD_SIZE_IN_MB = 2
|
|
!else
|
|
DEFINE FD_SIZE_IN_MB = 3
|
|
!endif
|
|
|
|
!if $(FD_SIZE_IN_MB) == 2
|
|
DEFINE FD_SIZE = 0x200000
|
|
DEFINE FD_NUM_BLOCKS = 0x200
|
|
!endif
|
|
!if $(FD_SIZE_IN_MB) == 3
|
|
DEFINE FD_SIZE = 0x300000
|
|
DEFINE FD_NUM_BLOCKS = 0x300
|
|
!endif
|
|
|
|
[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
|
|
GCC:*_*_ARM_DLINK_FLAGS = -z max-page-size=0x1000
|
|
GCC:*_*_AARCH64_DLINK_FLAGS = -z max-page-size=0x10000
|
|
|
|
[LibraryClasses.common]
|
|
!if $(TARGET) == RELEASE
|
|
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
!else
|
|
DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartRam.inf
|
|
!endif
|
|
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
|
|
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
|
BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
|
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
|
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
PeCoffLib2|MdePkg/Library/BasePeCoffLib2/BasePeCoffLib2.inf
|
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
|
|
ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
|
|
|
|
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
HobLib|ArmVirtPkg/Library/ArmVirtDxeHobLib/ArmVirtDxeHobLib.inf
|
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
|
|
!include OvmfPkg/Include/Dsc/ShellLibs.dsc.inc
|
|
|
|
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
|
|
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
|
|
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
|
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
|
|
|
|
#
|
|
# Ramdisk Requirements
|
|
#
|
|
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
|
|
|
# Allow dynamic PCDs
|
|
#
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
|
|
# use the accelerated BaseMemoryLibOptDxe by default, overrides for SEC/PEI below
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
|
|
|
|
# Networking Requirements
|
|
!include NetworkPkg/NetworkLibs.dsc.inc
|
|
!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
!endif
|
|
|
|
|
|
#
|
|
# It is not possible to prevent the ARM compiler from inserting calls to intrinsic functions.
|
|
# This library provides the instrinsic functions such a compiler may generate calls to.
|
|
#
|
|
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
|
|
|
|
# Add support for GCC stack protector
|
|
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
|
|
|
# ARM Architectural Libraries
|
|
CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
|
|
DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
|
|
CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
|
|
ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
|
|
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
|
|
ArmGicArchLib|ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf
|
|
ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
|
|
ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
|
|
ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf
|
|
|
|
PlatformPeiLib|ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.inf
|
|
MemoryInitPeiLib|ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
|
|
ResetSystemLib|ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/ArmVirtPsciResetSystemLib.inf
|
|
|
|
# ARM PL031 RTC Driver
|
|
RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
|
|
TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
|
|
# ARM PL011 UART Driver
|
|
PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
|
|
SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf
|
|
FdtSerialPortAddressLib|OvmfPkg/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.inf
|
|
|
|
UefiImageExtraActionLib|ArmPkg/Library/DebugUefiImageExtraActionLib/DebugUefiImageExtraActionLib.inf
|
|
#UefiImageExtraActionLib|MdePkg/Library/BaseUefiImageExtraActionLibNull/BaseUefiImageExtraActionLibNull.inf
|
|
|
|
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
|
|
DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
|
|
|
|
# Flattened Device Tree (FDT) access library
|
|
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
|
|
|
|
# PCI Libraries
|
|
PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
|
|
PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
|
|
PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
|
|
PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
|
|
PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
|
|
DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
|
|
|
|
# USB Libraries
|
|
UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
|
|
|
|
XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf
|
|
|
|
#
|
|
# CryptoPkg libraries needed by multiple firmware features
|
|
#
|
|
IntrinsicLib|MdePkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
|
ArmTrngLib|ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf
|
|
ArmMonitorLib|ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf
|
|
|
|
#
|
|
# Secure Boot dependencies
|
|
#
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
|
|
SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
|
|
SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
|
|
PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
|
|
|
|
# re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
|
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
!else
|
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
!endif
|
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
|
VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
|
|
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
|
|
VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
|
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
|
|
|
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
|
|
|
[LibraryClasses.common.SEC]
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
|
|
DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
|
|
SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
!if $(TARGET) != RELEASE
|
|
DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartFlash.inf
|
|
!endif
|
|
|
|
[LibraryClasses.common.PEI_CORE]
|
|
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
|
|
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
|
|
|
|
PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
|
SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
|
|
!if $(TARGET) != RELEASE
|
|
DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartFlash.inf
|
|
!endif
|
|
|
|
[LibraryClasses.common.PEIM]
|
|
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
|
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
|
|
|
|
PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
|
SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
|
|
!if $(TARGET) != RELEASE
|
|
DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartFlash.inf
|
|
!endif
|
|
|
|
[LibraryClasses.common.DXE_CORE]
|
|
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
|
|
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
|
|
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
|
|
CpuArchLib|ArmPkg/Library/CpuArchLib/CpuArchLib.inf
|
|
|
|
[LibraryClasses.common.DXE_DRIVER]
|
|
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
[LibraryClasses.common.UEFI_APPLICATION]
|
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER]
|
|
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
|
!if $(TARGET) != RELEASE
|
|
DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DxeRuntimeDebugLibFdtPL011Uart.inf
|
|
!endif
|
|
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
|
!endif
|
|
|
|
[LibraryClasses.ARM]
|
|
ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
|
|
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[BuildOptions]
|
|
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
|
|
#
|
|
# Disable deprecated APIs.
|
|
#
|
|
GCC:*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
|
|
|
|
################################################################################
|
|
#
|
|
# Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
|
#
|
|
################################################################################
|
|
|
|
[PcdsFeatureFlag.common]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
|
|
|
|
[PcdsFeatureFlag.AARCH64]
|
|
#
|
|
# Activate AcpiSdtProtocol
|
|
#
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
|
|
|
|
#
|
|
# FIXME: The PcdPrePiProduceMemoryTypeInformationHob on ARM breaks Linux efistub boot.
|
|
# The efistub for arm32 uncompresses Linux kernel into memory ranges which occupied
|
|
# by DXE-phase drivers which leads to 'permission denied'-error during page write.
|
|
#
|
|
# So as a temporary solution we use PcdPrePiProduceMemoryTypeInformationHob
|
|
# only for AARCH64
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
|
|
|
|
[PcdsFixedAtBuild.common]
|
|
!ifdef $(FIRMWARE_VER)
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
|
|
!endif
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
|
|
gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
|
|
|
|
# DEBUG_ASSERT_ENABLED 0x01
|
|
# DEBUG_PRINT_ENABLED 0x02
|
|
# DEBUG_CODE_ENABLED 0x04
|
|
# CLEAR_MEMORY_ENABLED 0x08
|
|
# ASSERT_BREAKPOINT_ENABLED 0x10
|
|
# ASSERT_DEADLOOP_ENABLED 0x20
|
|
!if $(TARGET) == RELEASE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
|
|
!else
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
|
|
!endif
|
|
|
|
# DEBUG_INIT 0x00000001 // Initialization
|
|
# DEBUG_WARN 0x00000002 // Warnings
|
|
# DEBUG_LOAD 0x00000004 // Load events
|
|
# DEBUG_FS 0x00000008 // EFI File system
|
|
# DEBUG_POOL 0x00000010 // Alloc & Free (pool)
|
|
# DEBUG_PAGE 0x00000020 // Alloc & Free (page)
|
|
# DEBUG_INFO 0x00000040 // Informational debug messages
|
|
# DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
|
|
# DEBUG_VARIABLE 0x00000100 // Variable
|
|
# DEBUG_BM 0x00000400 // Boot Manager
|
|
# DEBUG_BLKIO 0x00001000 // BlkIo Driver
|
|
# DEBUG_NET 0x00004000 // Network Io Driver
|
|
# DEBUG_UNDI 0x00010000 // UNDI Driver
|
|
# DEBUG_LOADFILE 0x00020000 // LoadFile
|
|
# DEBUG_EVENT 0x00080000 // Event messages
|
|
# DEBUG_GCD 0x00100000 // Global Coherency Database changes
|
|
# DEBUG_CACHE 0x00200000 // Memory range cachability changes
|
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
|
# // significantly impact boot performance
|
|
# DEBUG_MANAGEABILITY 0x00800000 // Detailed debug and payload manageability messages
|
|
# // related to modules such as Redfish, IPMI, MCTP etc.
|
|
# DEBUG_ERROR 0x80000000 // Error
|
|
!if $(TARGET) != RELEASE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
|
|
!endif
|
|
|
|
#
|
|
# Optional feature to help prevent EFI memory map fragments
|
|
# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
|
|
# Values are in EFI Pages (4K). DXE Core will make sure that
|
|
# at least this much of each type of memory can be allocated
|
|
# from a single memory range. This way you only end up with
|
|
# maximum of two fragments for each type in the memory map
|
|
# (the memory used, and the free memory that was prereserved
|
|
# but not used).
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
|
|
!else
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
|
|
!endif
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
|
|
|
|
#
|
|
# Enable NX memory protection for all non-code regions, including OEM and OS
|
|
# reserved ones, with the exception of LoaderData regions, of which OS loaders
|
|
# (i.e., GRUB) may assume that its contents are executable.
|
|
#
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard|TRUE
|
|
|
|
[Components.common]
|
|
#
|
|
# Ramdisk support
|
|
#
|
|
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
|
|
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
|
|
|
[Components.AARCH64]
|
|
#
|
|
# ACPI Support
|
|
#
|
|
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
|
|
<LibraryClasses>
|
|
NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
|
|
}
|