mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-07 22:04:27 +02:00
Add PCD to control if modules with start addresses in PE/COFF > 0x100000 attempt to load at specified address. If a module has an address in this range and there is untested memory DxeCore will attempt to promote all memory to tested which bypasses any memory testing that would occur later in boot. There are several existing AARCH64 option roms that have base addresses of 0x180000000. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> Reviewed-by: Ashish Singhal <ashishsingha@nvidia.com> Message-Id: <bd36c9c24158590db2226ede05cb8c2f50c93a37.1684194452.git.jbrasen@nvidia.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
205 lines
7.8 KiB
INI
205 lines
7.8 KiB
INI
## @file
|
|
# This is core module in DXE phase.
|
|
#
|
|
# It provides an implementation of DXE Core that is compliant with DXE CIS.
|
|
#
|
|
# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = DxeCore
|
|
MODULE_UNI_FILE = DxeCore.uni
|
|
FILE_GUID = D6A2CB7F-6A18-4e2f-B43B-9920A733700A
|
|
MODULE_TYPE = DXE_CORE
|
|
VERSION_STRING = 1.0
|
|
|
|
|
|
ENTRY_POINT = DxeMain
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only)
|
|
#
|
|
|
|
[Sources]
|
|
DxeMain.h
|
|
SectionExtraction/CoreSectionExtraction.c
|
|
Image/Image.c
|
|
Image/Image.h
|
|
Misc/DebugImageInfo.c
|
|
Misc/Stall.c
|
|
Misc/SetWatchdogTimer.c
|
|
Misc/InstallConfigurationTable.c
|
|
Misc/MemoryAttributesTable.c
|
|
Misc/MemoryProtection.c
|
|
Library/Library.c
|
|
Hand/DriverSupport.c
|
|
Hand/Notify.c
|
|
Hand/Locate.c
|
|
Hand/Handle.c
|
|
Hand/Handle.h
|
|
Gcd/Gcd.c
|
|
Gcd/Gcd.h
|
|
Mem/Pool.c
|
|
Mem/Page.c
|
|
Mem/MemData.c
|
|
Mem/Imem.h
|
|
Mem/MemoryProfileRecord.c
|
|
Mem/HeapGuard.c
|
|
Mem/HeapGuard.h
|
|
FwVolBlock/FwVolBlock.c
|
|
FwVolBlock/FwVolBlock.h
|
|
FwVol/FwVolWrite.c
|
|
FwVol/FwVolRead.c
|
|
FwVol/FwVolAttrib.c
|
|
FwVol/Ffs.c
|
|
FwVol/FwVol.c
|
|
FwVol/FwVolDriver.h
|
|
Event/Tpl.c
|
|
Event/Timer.c
|
|
Event/Event.c
|
|
Event/Event.h
|
|
Dispatcher/Dependency.c
|
|
Dispatcher/Dispatcher.c
|
|
DxeMain/DxeProtocolNotify.c
|
|
DxeMain/DxeMain.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseMemoryLib
|
|
CacheMaintenanceLib
|
|
UefiDecompressLib
|
|
PerformanceLib
|
|
HobLib
|
|
BaseLib
|
|
UefiLib
|
|
DebugLib
|
|
DxeCoreEntryPoint
|
|
PeCoffLib
|
|
PeCoffGetEntryPointLib
|
|
PeCoffExtraActionLib
|
|
ExtractGuidedSectionLib
|
|
MemoryAllocationLib
|
|
UefiBootServicesTableLib
|
|
DevicePathLib
|
|
ReportStatusCodeLib
|
|
DxeServicesLib
|
|
DebugAgentLib
|
|
CpuExceptionHandlerLib
|
|
PcdLib
|
|
|
|
[Guids]
|
|
gEfiEventMemoryMapChangeGuid ## PRODUCES ## Event
|
|
gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
|
|
## CONSUMES ## Event
|
|
## PRODUCES ## Event
|
|
gEfiEventBeforeExitBootServicesGuid
|
|
gEfiEventExitBootServicesGuid
|
|
gEfiHobMemoryAllocModuleGuid ## SOMETIMES_CONSUMES ## HOB
|
|
gEfiFirmwareFileSystem2Guid ## CONSUMES ## GUID # Used to compare with FV's file system guid and get the FV's file system format
|
|
gEfiFirmwareFileSystem3Guid ## CONSUMES ## GUID # Used to compare with FV's file system guid and get the FV's file system format
|
|
gAprioriGuid ## SOMETIMES_CONSUMES ## File
|
|
gEfiDebugImageInfoTableGuid ## PRODUCES ## SystemTable
|
|
gEfiHobListGuid ## PRODUCES ## SystemTable
|
|
gEfiDxeServicesTableGuid ## PRODUCES ## SystemTable
|
|
## PRODUCES ## SystemTable
|
|
## SOMETIMES_CONSUMES ## HOB
|
|
gEfiMemoryTypeInformationGuid
|
|
gEfiEventDxeDispatchGuid ## PRODUCES ## Event
|
|
gLoadFixedAddressConfigurationTableGuid ## SOMETIMES_PRODUCES ## SystemTable
|
|
## PRODUCES ## Event
|
|
## CONSUMES ## Event
|
|
gIdleLoopEventGuid
|
|
gEventExitBootServicesFailedGuid ## SOMETIMES_PRODUCES ## Event
|
|
gEfiVectorHandoffTableGuid ## SOMETIMES_PRODUCES ## SystemTable
|
|
gEdkiiMemoryProfileGuid ## SOMETIMES_PRODUCES ## GUID # Install protocol
|
|
gEfiMemoryAttributesTableGuid ## SOMETIMES_PRODUCES ## SystemTable
|
|
gEfiEndOfDxeEventGroupGuid ## SOMETIMES_CONSUMES ## Event
|
|
gEfiHobMemoryAllocStackGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
|
|
[Ppis]
|
|
gEfiVectorHandoffInfoPpiGuid ## UNDEFINED # HOB
|
|
|
|
[Protocols]
|
|
## PRODUCES
|
|
## SOMETIMES_CONSUMES
|
|
gEfiDecompressProtocolGuid
|
|
gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiDriverFamilyOverrideProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiPlatformDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiDriverBindingProtocolGuid ## SOMETIMES_CONSUMES
|
|
## PRODUCES
|
|
## CONSUMES
|
|
## NOTIFY
|
|
gEfiFirmwareVolumeBlockProtocolGuid
|
|
## PRODUCES
|
|
## CONSUMES
|
|
## NOTIFY
|
|
gEfiFirmwareVolume2ProtocolGuid
|
|
## PRODUCES
|
|
## CONSUMES
|
|
gEfiDevicePathProtocolGuid
|
|
gEfiLoadedImageProtocolGuid ## PRODUCES
|
|
gEfiLoadedImageDevicePathProtocolGuid ## PRODUCES
|
|
gEfiHiiPackageListProtocolGuid ## SOMETIMES_PRODUCES
|
|
gEfiSmmBase2ProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEdkiiPeCoffImageEmulatorProtocolGuid ## SOMETIMES_CONSUMES
|
|
|
|
# Arch Protocols
|
|
gEfiBdsArchProtocolGuid ## CONSUMES
|
|
gEfiCpuArchProtocolGuid ## CONSUMES
|
|
gEfiMetronomeArchProtocolGuid ## CONSUMES
|
|
gEfiMonotonicCounterArchProtocolGuid ## CONSUMES
|
|
gEfiRealTimeClockArchProtocolGuid ## CONSUMES
|
|
gEfiResetArchProtocolGuid ## CONSUMES
|
|
gEfiRuntimeArchProtocolGuid ## CONSUMES
|
|
gEfiSecurityArchProtocolGuid ## CONSUMES
|
|
gEfiSecurity2ArchProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiTimerArchProtocolGuid ## CONSUMES
|
|
gEfiVariableWriteArchProtocolGuid ## CONSUMES
|
|
gEfiVariableArchProtocolGuid ## CONSUMES
|
|
gEfiCapsuleArchProtocolGuid ## CONSUMES
|
|
gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileDriverPath ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPageType ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPoolType ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFwVolDxeMaxEncapsulationDepth ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdImageLargeAddressLoad ## CONSUMES
|
|
|
|
# [Hob]
|
|
# RESOURCE_DESCRIPTOR ## CONSUMES
|
|
# MEMORY_ALLOCATION ## CONSUMES
|
|
# FIRMWARE_VOLUME ## CONSUMES
|
|
# UNDEFINED ## CONSUMES # CPU
|
|
#
|
|
# [Event]
|
|
# EVENT_TYPE_RELATIVE_TIMER ## PRODUCES # DxeCore signals timer event.
|
|
# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES # DxeCore signals timer event.
|
|
#
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
DxeCoreExtra.uni
|