]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/DxeMain.h
Assert() break point default is DEADLOOP().
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / DxeMain.h
index fb7c82ff45fffebb5f9b72d5fcad6711918876db..2830e10a03f3d1aa047c21a90f7ff4eda0dad01f 100644 (file)
@@ -1,5 +1,8 @@
-/*++\r
+/**@file\r
 \r
+  The internal header file includes the common header files, defines\r
+  internal structure and functions used by DxeCore module.\r
+  \r
 Copyright (c) 2006 - 2007, Intel Corporation                                                         \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
@@ -9,31 +12,17 @@ http://opensource.org/licenses/bsd-license.php
 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
-Module Name:\r
-\r
-  DxeMain.h\r
-\r
-Abstract:\r
-\r
-Revision History\r
-\r
---*/\r
+**/\r
 \r
 #ifndef _DXE_MAIN_H_\r
 #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 <Guid/DebugImageInfoTable.h>\r
 #include <Protocol/DevicePath.h>\r
 #include <Protocol/Runtime.h>\r
@@ -52,7 +41,7 @@ Revision History
 #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
@@ -73,10 +62,9 @@ Revision History
 #include <Protocol/Capsule.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
+#include <Uefi/UefiTcgPlatform.h>\r
+#include <Protocol/TcgPlatform.h>\r
+\r
 #include <Library/DxeCoreEntryPoint.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/UefiLib.h>\r
@@ -84,10 +72,12 @@ Revision History
 #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
+#include <Library/PcdLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
 \r
 #include "DebugImageInfo.h"\r
 #include "Library.h"\r
@@ -138,6 +128,13 @@ typedef struct {
   BOOLEAN                     Present;\r
 } ARCHITECTURAL_PROTOCOL_ENTRY;\r
 \r
+typedef struct {\r
+  EFI_STATUS_CODE_DATA  DataHeader;\r
+  EFI_HANDLE            Handle;\r
+} EFI_DXE_DEVICE_HANDLE_EXTENDED_DATA;\r
+\r
+#define EFI_STATUS_CODE_DXE_CORE_GUID \\r
+  { 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } }\r
 \r
 //\r
 // DXE Dispatcher Data structures\r
@@ -161,7 +158,7 @@ typedef struct {
   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
@@ -208,7 +205,6 @@ extern EFI_DXE_SERVICES                         *gDxeCoreDS;
 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
@@ -361,7 +357,7 @@ Returns:
 \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
@@ -374,7 +370,8 @@ Routine Description:
   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
@@ -601,7 +598,7 @@ CoreExitBootServices (
 \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
@@ -2844,4 +2841,30 @@ DxeMainCustomDecompress (
   IN     UINT32                          ScratchSize\r
   );\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+OpenSectionStream (\r
+  IN     UINTN                                     SectionStreamLength,\r
+  IN     VOID                                      *SectionStream,\r
+     OUT UINTN                                     *SectionStreamHandle\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+GetSection (\r
+  IN UINTN                                              SectionStreamHandle,\r
+  IN EFI_SECTION_TYPE                                   *SectionType,\r
+  IN EFI_GUID                                           *SectionDefinitionGuid,\r
+  IN UINTN                                              SectionInstance,\r
+  IN VOID                                               **Buffer,\r
+  IN OUT UINTN                                          *BufferSize,\r
+  OUT UINT32                                            *AuthenticationStatus\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CloseSectionStream (\r
+  IN  UINTN                                   StreamHandleToClose\r
+  );\r
+\r
 #endif\r