]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Core/Dxe/DxeMain.h
1) Initialize gBS, gST, gImageHandle in UefiBootServicesTableLib.c to NULL
[mirror_edk2.git] / EdkModulePkg / Core / Dxe / DxeMain.h
index 28c805703ae813a5be73e31496e91bfbfe3b4bca..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
@@ -2495,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