#define _DXE_MAIN_H_\r
\r
\r
-//\r
-// The package level header files this module uses\r
-//\r
+\r
#include <PiDxe.h>\r
#include <FrameworkPei.h>\r
-//\r
-// The protocols, PPI and GUID defintions for this module\r
-//\r
+\r
#include <Protocol/LoadedImage.h>\r
#include <Protocol/GuidedSectionExtraction.h>\r
#include <Protocol/SectionExtraction.h>\r
#include <Protocol/RealTimeClock.h>\r
#include <Guid/Apriori.h>\r
#include <Protocol/WatchdogTimer.h>\r
-#include <Protocol/FirmwareVolume.h>\r
+#include <Protocol/FirmwareVolume2.h>\r
#include <Protocol/MonotonicCounter.h>\r
#include <Guid/DxeServices.h>\r
#include <Guid/MemoryAllocationHob.h>\r
#include <Protocol/BusSpecificDriverOverride.h>\r
#include <Protocol/Performance.h>\r
#include <Guid/StatusCodeDataTypeId.h>\r
-//\r
-// The Library classes this module consumes\r
-//\r
+\r
#include <Library/DxeCoreEntryPoint.h>\r
#include <Library/DebugLib.h>\r
#include <Library/UefiLib.h>\r
#include <Library/HobLib.h>\r
#include <Library/PerformanceLib.h>\r
#include <Library/UefiDecompressLib.h>\r
-#include <Library/CustomDecompressLib.h>\r
-#include <Library/PeCoffLoaderLib.h>\r
+#include <Library/ExtractGuidedSectionLib.h>\r
#include <Library/CacheMaintenanceLib.h>\r
#include <Library/BaseMemoryLib.h>\r
+#include <Library/PeCoffLib.h>\r
\r
#include "DebugImageInfo.h"\r
#include "Library.h"\r
EFI_HANDLE FvHandle;\r
EFI_GUID FileName;\r
EFI_DEVICE_PATH_PROTOCOL *FvFileDevicePath;\r
- EFI_FIRMWARE_VOLUME_PROTOCOL *Fv;\r
+ EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;\r
\r
VOID *Depex;\r
UINTN DepexSize;\r
extern EFI_HANDLE gDxeCoreImageHandle;\r
\r
extern EFI_DECOMPRESS_PROTOCOL gEfiDecompress;\r
-extern EFI_PEI_PE_COFF_LOADER_PROTOCOL *gEfiPeiPeCoffLoader;\r
\r
extern EFI_RUNTIME_ARCH_PROTOCOL *gRuntime;\r
extern EFI_CPU_ARCH_PROTOCOL *gCpu;\r
\r
EFI_STATUS\r
CoreInitializeGcdServices (\r
- IN VOID **HobStart,\r
+ IN OUT VOID **HobStart,\r
IN EFI_PHYSICAL_ADDRESS MemoryBaseAddress,\r
IN UINT64 MemoryLength\r
)\r
memory map, so memory allocations and resource allocations can be made. The first\r
part of this function can not depend on any memory services until at least one\r
memory descriptor is provided to the memory services. Then the memory services\r
- can be used to intialize the GCD map.\r
+ can be used to intialize the GCD map. The HobStart will be relocated to a pool\r
+ buffer.\r
\r
Arguments:\r
\r
\r
Routine Description:\r
\r
- EFI 1.0 API to terminate Boot Services\r
+ UEFI 2.0 API to terminate Boot Services\r
\r
Arguments:\r
\r