]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Core/Dxe/DxeMain.h
1. add guid definition
[mirror_edk2.git] / EdkModulePkg / Core / Dxe / DxeMain.h
index 4ff23f3b0be8df6a2d2126d113451e1df9630ff7..b4cd76a2a1b25805b407148bfb5c415c605c76c4 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
-Copyright (c) 2006, Intel Corporation                                                         \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
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -33,6 +33,18 @@ Revision History
 #include "Exec.h"\r
 #include "hand.h"\r
 \r
+///\r
+/// EFI_DEP_REPLACE_TRUE - Used to dynamically patch the dependecy expression\r
+///                        to save time.  A EFI_DEP_PUSH is evauated one an\r
+///                        replaced with EFI_DEP_REPLACE_TRUE\r
+///\r
+#define EFI_DEP_REPLACE_TRUE  0xff\r
+\r
+///\r
+/// Define the initial size of the dependency expression evaluation stack\r
+///\r
+#define DEPEX_STACK_SIZE_INCREMENT  0x1000\r
+\r
 typedef struct {\r
   EFI_GUID                    *ProtocolGuid;\r
   VOID                        **Protocol;\r
@@ -104,10 +116,10 @@ typedef struct {
 //\r
 // DXE Core Global Variables\r
 //\r
-extern EFI_SYSTEM_TABLE                         *gST;\r
-extern EFI_BOOT_SERVICES                        *gBS;\r
-extern EFI_RUNTIME_SERVICES                     *gRT;\r
-extern EFI_DXE_SERVICES                         *gDS;\r
+extern EFI_SYSTEM_TABLE                         *gDxeCoreST;\r
+extern EFI_BOOT_SERVICES                        *gDxeCoreBS;\r
+extern EFI_RUNTIME_SERVICES                     *gDxeCoreRT;\r
+extern EFI_DXE_SERVICES                         *gDxeCoreDS;\r
 extern EFI_HANDLE                               gDxeCoreImageHandle;\r
 \r
 extern EFI_DECOMPRESS_PROTOCOL                  gEfiDecompress;\r
@@ -130,6 +142,7 @@ extern EFI_LOADED_IMAGE_PROTOCOL                *gDxeCoreLoadedImage;
 extern EFI_MEMORY_TYPE_INFORMATION              gMemoryTypeInformation[EfiMaxMemoryType + 1];\r
 \r
 extern BOOLEAN                                  gDispatcherRunning;\r
+extern EFI_RUNTIME_ARCH_PROTOCOL                gRuntimeTemplate;\r
 \r
 //\r
 // Service Initialization Functions\r
@@ -315,27 +328,6 @@ Returns:
 --*/\r
 ;\r
 \r
-EFI_STATUS\r
-CoreShutdownEventServices (\r
-  VOID\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Register all runtime events to make sure they are still available after ExitBootService.\r
-\r
-Arguments:\r
-\r
-  None\r
-    \r
-Returns:\r
-\r
-  EFI_SUCCESS - Always return success\r
-\r
---*/\r
-;\r
-\r
 EFI_STATUS\r
 CoreInitializeImageServices (\r
   IN  VOID *HobStart\r
@@ -358,27 +350,6 @@ Returns:
 --*/\r
 ;\r
 \r
-EFI_STATUS\r
-CoreShutdownImageServices (\r
-  VOID\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Transfer control of runtime images to runtime service\r
-\r
-Arguments:\r
-\r
-  None\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS       - Function successfully returned\r
-\r
---*/\r
-;\r
-\r
 VOID\r
 CoreNotifyOnArchProtocolInstallation (\r
   VOID\r
@@ -2536,4 +2507,256 @@ CoreDisplayDiscoveredNotDispatched (
     NONE \r
 \r
 --*/;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CoreEfiNotAvailableYetArg0 (\r
+  VOID\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Place holder function until all the Boot Services and Runtime Services are available\r
+\r
+Arguments:\r
+\r
+  None\r
+\r
+Returns:\r
+\r
+  EFI_NOT_AVAILABLE_YET\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CoreEfiNotAvailableYetArg1 (\r
+  UINTN Arg1\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Place holder function until all the Boot Services and Runtime Services are available\r
+\r
+Arguments:\r
+\r
+  Arg1        - Undefined\r
+\r
+Returns:\r
+\r
+  EFI_NOT_AVAILABLE_YET\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CoreEfiNotAvailableYetArg2 (\r
+  UINTN Arg1,\r
+  UINTN Arg2\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Place holder function until all the Boot Services and Runtime Services are available\r
+\r
+Arguments:\r
+\r
+  Arg1        - Undefined\r
+  \r
+  Arg2        - Undefined\r
+\r
+Returns:\r
+\r
+  EFI_NOT_AVAILABLE_YET\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CoreEfiNotAvailableYetArg3 (\r
+  UINTN Arg1,\r
+  UINTN Arg2,\r
+  UINTN Arg3\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Place holder function until all the Boot Services and Runtime Services are available\r
+\r
+Arguments:\r
+\r
+  Arg1        - Undefined\r
+  \r
+  Arg2        - Undefined\r
+  \r
+  Arg3        - Undefined\r
+\r
+Returns:\r
+\r
+  EFI_NOT_AVAILABLE_YET\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CoreEfiNotAvailableYetArg4 (\r
+  UINTN Arg1,\r
+  UINTN Arg2,\r
+  UINTN Arg3,\r
+  UINTN Arg4\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Place holder function until all the Boot Services and Runtime Services are available\r
+\r
+Arguments:\r
+\r
+  Arg1        - Undefined\r
+  \r
+  Arg2        - Undefined\r
+  \r
+  Arg3        - Undefined\r
+  \r
+  Arg4        - Undefined\r
+\r
+Returns:\r
+\r
+  EFI_NOT_AVAILABLE_YET\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CoreEfiNotAvailableYetArg5 (\r
+  UINTN Arg1,\r
+  UINTN Arg2,\r
+  UINTN Arg3,\r
+  UINTN Arg4,\r
+  UINTN Arg5\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Place holder function until all the Boot Services and Runtime Services are available\r
+\r
+Arguments:\r
+\r
+  Arg1        - Undefined\r
+  \r
+  Arg2        - Undefined\r
+  \r
+  Arg3        - Undefined\r
+  \r
+  Arg4        - Undefined\r
+  \r
+  Arg5        - Undefined\r
+\r
+Returns:\r
+\r
+  EFI_NOT_AVAILABLE_YET\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+CoreGetPeiProtocol (\r
+  IN EFI_GUID  *ProtocolGuid,\r
+  IN VOID      **Interface\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Searches for a Protocol Interface passed from PEI through a HOB\r
+\r
+Arguments:\r
+\r
+  ProtocolGuid - The Protocol GUID to search for in the HOB List\r
+\r
+  Interface    - A pointer to the interface for the Protocol GUID\r
+\r
+Returns:\r
+\r
+  EFI_SUCCESS   - The Protocol GUID was found and its interface is returned in Interface\r
+\r
+  EFI_NOT_FOUND - The Protocol GUID was not found in the HOB List\r
+\r
+--*/\r
+;\r
+  \r
+EFI_STATUS\r
+DxeMainUefiDecompressGetInfo (\r
+  IN EFI_DECOMPRESS_PROTOCOL            *This,\r
+  IN   VOID                             *Source,\r
+  IN   UINT32                           SourceSize,\r
+  OUT  UINT32                           *DestinationSize,\r
+  OUT  UINT32                           *ScratchSize\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+DxeMainUefiDecompress (\r
+  IN EFI_DECOMPRESS_PROTOCOL              *This,\r
+  IN     VOID                             *Source,\r
+  IN     UINT32                           SourceSize,\r
+  IN OUT VOID                             *Destination,\r
+  IN     UINT32                           DestinationSize,\r
+  IN OUT VOID                             *Scratch,\r
+  IN     UINT32                           ScratchSize\r
+  );\r
+\r
+EFI_STATUS\r
+DxeMainTianoDecompressGetInfo (\r
+  IN EFI_TIANO_DECOMPRESS_PROTOCOL      *This,\r
+  IN   VOID                             *Source,\r
+  IN   UINT32                           SourceSize,\r
+  OUT  UINT32                           *DestinationSize,\r
+  OUT  UINT32                           *ScratchSize\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+DxeMainTianoDecompress (\r
+  IN EFI_TIANO_DECOMPRESS_PROTOCOL        *This,\r
+  IN     VOID                             *Source,\r
+  IN     UINT32                           SourceSize,\r
+  IN OUT VOID                             *Destination,\r
+  IN     UINT32                           DestinationSize,\r
+  IN OUT VOID                             *Scratch,\r
+  IN     UINT32                           ScratchSize\r
+  );\r
+\r
+EFI_STATUS\r
+DxeMainCustomDecompressGetInfo (\r
+  IN EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL  *This,\r
+  IN   VOID                              *Source,\r
+  IN   UINT32                            SourceSize,\r
+  OUT  UINT32                            *DestinationSize,\r
+  OUT  UINT32                            *ScratchSize\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+DxeMainCustomDecompress (\r
+  IN EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL  *This,\r
+  IN     VOID                            *Source,\r
+  IN     UINT32                          SourceSize,\r
+  IN OUT VOID                            *Destination,\r
+  IN     UINT32                          DestinationSize,\r
+  IN OUT VOID                            *Scratch,\r
+  IN     UINT32                          ScratchSize\r
+  );\r
+\r
 #endif\r