-#/** @file\r
-# This is core module in DXE phase. It provides an implementation of DXE Core that is\r
-# compliant with DXE CIS. \r
-# \r
-# Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# \r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-# \r
-#**/\r
+## @file\r
+# This is core module in DXE phase.\r
+#\r
+# It provides an implementation of DXE Core that is compliant with DXE CIS.\r
+#\r
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
\r
[Defines]\r
INF_VERSION = 0x00010005\r
BASE_NAME = DxeCore\r
+ MODULE_UNI_FILE = DxeCore.uni\r
FILE_GUID = D6A2CB7F-6A18-4e2f-B43B-9920A733700A\r
MODULE_TYPE = DXE_CORE\r
VERSION_STRING = 1.0\r
- PI_SPECIFICATION_VERSION = 0x00010000\r
+\r
\r
ENTRY_POINT = DxeMain\r
\r
#\r
# The following information is for reference only and not required by the build tools.\r
#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only)\r
+# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only)\r
#\r
\r
-[Sources.common]\r
+[Sources]\r
DxeMain.h\r
SectionExtraction/CoreSectionExtraction.c\r
- Image/ImageFile.c\r
Image/Image.c\r
Image/Image.h\r
Misc/DebugImageInfo.c\r
Misc/Stall.c\r
Misc/SetWatchdogTimer.c\r
Misc/InstallConfigurationTable.c\r
+ Misc/MemoryAttributesTable.c\r
+ Misc/MemoryProtection.c\r
Library/Library.c\r
Hand/DriverSupport.c\r
Hand/Notify.c\r
Mem/Page.c\r
Mem/MemData.c\r
Mem/Imem.h\r
+ Mem/MemoryProfileRecord.c\r
+ Mem/HeapGuard.c\r
+ Mem/HeapGuard.h\r
FwVolBlock/FwVolBlock.c\r
FwVolBlock/FwVolBlock.h\r
FwVol/FwVolWrite.c\r
DebugLib\r
DxeCoreEntryPoint\r
PeCoffLib\r
+ PeCoffGetEntryPointLib\r
+ PeCoffExtraActionLib\r
ExtractGuidedSectionLib\r
MemoryAllocationLib\r
UefiBootServicesTableLib\r
DevicePathLib\r
ReportStatusCodeLib\r
- TimerLib\r
+ DxeServicesLib\r
+ DebugAgentLib\r
+ CpuExceptionHandlerLib\r
+ PcdLib\r
\r
[Guids]\r
- gEfiEventMemoryMapChangeGuid ## CONSUMES ## Event\r
- gEfiEventVirtualAddressChangeGuid ## SOMETIMES_CONSUMES ## Event\r
- gEfiEventExitBootServicesGuid ## SOMETIMES_CONSUMES ## Event\r
- gEfiHobMemoryAllocModuleGuid ## CONSUMES ## Hob\r
- gEfiFileInfoGuid ## CONSUMES ## File\r
- gEfiFirmwareFileSystem2Guid ## CONSUMES ## GUID\r
- gAprioriGuid ## CONSUMES ## GUID\r
- gEfiDebugImageInfoTableGuid ## CONSUMES ## GUID\r
- gEfiHobListGuid ## CONSUMES ## GUID\r
- gEfiDxeServicesTableGuid ## CONSUMES ## GUID \r
- gEfiMemoryTypeInformationGuid ## CONSUMES ## GUID\r
+ gEfiEventMemoryMapChangeGuid ## PRODUCES ## Event\r
+ gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event\r
+ ## CONSUMES ## Event\r
+ ## PRODUCES ## Event\r
+ gEfiEventBeforeExitBootServicesGuid\r
+ gEfiEventExitBootServicesGuid\r
+ gEfiHobMemoryAllocModuleGuid ## SOMETIMES_CONSUMES ## HOB\r
+ gEfiFirmwareFileSystem2Guid ## CONSUMES ## GUID # Used to compare with FV's file system guid and get the FV's file system format\r
+ gEfiFirmwareFileSystem3Guid ## CONSUMES ## GUID # Used to compare with FV's file system guid and get the FV's file system format\r
+ gAprioriGuid ## SOMETIMES_CONSUMES ## File\r
+ gEfiDebugImageInfoTableGuid ## PRODUCES ## SystemTable\r
+ gEfiHobListGuid ## PRODUCES ## SystemTable\r
+ gEfiDxeServicesTableGuid ## PRODUCES ## SystemTable\r
+ ## PRODUCES ## SystemTable\r
+ ## SOMETIMES_CONSUMES ## HOB\r
+ gEfiMemoryTypeInformationGuid\r
+ gEfiEventDxeDispatchGuid ## PRODUCES ## Event\r
+ gLoadFixedAddressConfigurationTableGuid ## SOMETIMES_PRODUCES ## SystemTable\r
+ ## PRODUCES ## Event\r
+ ## CONSUMES ## Event\r
+ gIdleLoopEventGuid\r
+ gEventExitBootServicesFailedGuid ## SOMETIMES_PRODUCES ## Event\r
+ gEfiVectorHandoffTableGuid ## SOMETIMES_PRODUCES ## SystemTable\r
+ gEdkiiMemoryProfileGuid ## SOMETIMES_PRODUCES ## GUID # Install protocol\r
+ gEfiMemoryAttributesTableGuid ## SOMETIMES_PRODUCES ## SystemTable\r
+ gEfiEndOfDxeEventGroupGuid ## SOMETIMES_CONSUMES ## Event\r
+ gEfiHobMemoryAllocStackGuid ## SOMETIMES_CONSUMES ## SystemTable\r
+\r
+[Ppis]\r
+ gEfiVectorHandoffInfoPpiGuid ## UNDEFINED # HOB\r
\r
[Protocols]\r
- gEfiStatusCodeRuntimeProtocolGuid ## SOMETIMES_CONSUMES\r
- gEfiCapsuleArchProtocolGuid ## CONSUMES\r
- gEfiDecompressProtocolGuid ## CONSUMES\r
- gEfiLoadPeImageProtocolGuid ## PRODUCES\r
- gEfiSimpleFileSystemProtocolGuid ## CONSUMES\r
- gEfiLoadFileProtocolGuid ## CONSUMES\r
- gEfiResetArchProtocolGuid ## CONSUMES\r
+ ## PRODUCES\r
+ ## SOMETIMES_CONSUMES\r
+ gEfiDecompressProtocolGuid\r
+ gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiDriverFamilyOverrideProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiPlatformDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEfiDriverBindingProtocolGuid ## SOMETIMES_CONSUMES\r
+ ## PRODUCES\r
+ ## CONSUMES\r
+ ## NOTIFY\r
+ gEfiFirmwareVolumeBlockProtocolGuid\r
+ ## PRODUCES\r
+ ## CONSUMES\r
+ ## NOTIFY\r
+ gEfiFirmwareVolume2ProtocolGuid\r
+ ## PRODUCES\r
+ ## CONSUMES\r
+ gEfiDevicePathProtocolGuid\r
+ gEfiLoadedImageProtocolGuid ## PRODUCES\r
+ gEfiLoadedImageDevicePathProtocolGuid ## PRODUCES\r
+ gEfiHiiPackageListProtocolGuid ## SOMETIMES_PRODUCES\r
+ gEfiSmmBase2ProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEdkiiPeCoffImageEmulatorProtocolGuid ## SOMETIMES_CONSUMES\r
+\r
+ # Arch Protocols\r
+ gEfiBdsArchProtocolGuid ## CONSUMES\r
+ gEfiCpuArchProtocolGuid ## CONSUMES\r
+ gEfiMetronomeArchProtocolGuid ## CONSUMES\r
+ gEfiMonotonicCounterArchProtocolGuid ## CONSUMES\r
gEfiRealTimeClockArchProtocolGuid ## CONSUMES\r
+ gEfiResetArchProtocolGuid ## CONSUMES\r
gEfiRuntimeArchProtocolGuid ## CONSUMES\r
- gEfiWatchdogTimerArchProtocolGuid ## CONSUMES\r
gEfiSecurityArchProtocolGuid ## CONSUMES\r
- gEfiVariableArchProtocolGuid ## CONSUMES\r
- gEfiBdsArchProtocolGuid ## CONSUMES\r
- gEfiVariableWriteArchProtocolGuid ## CONSUMES\r
- gEfiMonotonicCounterArchProtocolGuid ## CONSUMES\r
- gEfiMetronomeArchProtocolGuid ## CONSUMES\r
+ gEfiSecurity2ArchProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiTimerArchProtocolGuid ## CONSUMES\r
- gEfiBusSpecificDriverOverrideProtocolGuid ## CONSUMES\r
- gEfiPlatformDriverOverrideProtocolGuid ## CONSUMES\r
- gEfiDriverBindingProtocolGuid ## SOMETIMES_CONSUMES\r
- gEfiFirmwareVolumeBlockProtocolGuid ## PRODUCES\r
- gEfiFirmwareVolume2ProtocolGuid ## PRODUCES\r
- gEfiCpuArchProtocolGuid ## CONSUMES\r
- gEfiDevicePathProtocolGuid ## CONSUMES\r
- gEfiLoadedImageProtocolGuid ## PRODUCES\r
- gEfiEbcProtocolGuid ## SOMETIMES_CONSUMES\r
- gEfiTcgPlatformProtocolGuid ## CONSUMES\r
- gEfiLoadedImageDevicePathProtocolGuid ## PRODUCES\r
+ gEfiVariableWriteArchProtocolGuid ## CONSUMES\r
+ gEfiVariableArchProtocolGuid ## CONSUMES\r
+ gEfiCapsuleArchProtocolGuid ## CONSUMES\r
+ gEfiWatchdogTimerArchProtocolGuid ## CONSUMES\r
\r
-[FixedPcd.common]\r
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeCoreEntry | 0x3041000 # EFI_SOFTWARE_DXE_CORE | EFI_SW_DXE_CORE_PC_ENTRY_POINT\r
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeCoreHandoffToBds | 0x3041001 # EFI_SOFTWARE_DXE_CORE | EFI_SW_DXE_CORE_PC_HANDOFF_TO_NEXT\r
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueBootServiceExit | 0x3100019 # EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_BS_PC_EXIT_BOOT_SERVICES\r
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverBegin | 0x3040002 # EFI_SOFTWARE_DXE_CORE | EFI_SW_PC_INIT_BEGIN\r
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverEnd | 0x3040003 # EFI_SOFTWARE_DXE_CORE | EFI_SW_PC_INIT_END\r
+[Pcd]\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileDriverPath ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPageType ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPoolType ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFwVolDxeMaxEncapsulationDepth ## CONSUMES\r
\r
-[BuildOptions]\r
- MSFT:*_*_*_CC_FLAGS = /FAsc\r
+# [Hob]\r
+# RESOURCE_DESCRIPTOR ## CONSUMES\r
+# MEMORY_ALLOCATION ## CONSUMES\r
+# FIRMWARE_VOLUME ## CONSUMES\r
+# UNDEFINED ## CONSUMES # CPU\r
+#\r
+# [Event]\r
+# EVENT_TYPE_RELATIVE_TIMER ## PRODUCES # DxeCore signals timer event.\r
+# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES # DxeCore signals timer event.\r
+#\r
\r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+ DxeCoreExtra.uni\r