#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
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
--*/\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
--*/\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
ExitData - Pointer to a pointer to a data buffer that includes a Null-terminated\r
Unicode string, optionally followed by additional binary data. The string\r
is a description that the caller may use to further indicate the reason for\r
- the image¡¯s exit.\r
+ the image's exit.\r
\r
Returns:\r
\r
\r
ImageHandle - Handle that identifies the image. This parameter is passed to the image \r
on entry.\r
- Status - The image¡¯s exit code.\r
+ Status - The image's exit code.\r
ExitDataSize - The size, in bytes, of ExitData. Ignored if ExitStatus is\r
EFI_SUCCESS.\r
ExitData - Pointer to a data buffer that includes a Null-terminated Unicode string,\r
optionally followed by additional binary data. The string is a \r
description that the caller may use to further indicate the reason for\r
- the image¡¯s exit.\r
+ the image's exit.\r
\r
Returns:\r
\r
\r
Type - The type of event to create and its mode and attributes\r
NotifyTpl - The task priority level of event notifications\r
- NotifyFunction - Pointer to the event\92s notification function\r
- NotifyContext - Pointer to the notification function\92s context; corresponds to\r
+ NotifyFunction - Pointer to the event's notification function\r
+ NotifyContext - Pointer to the notification function's context; corresponds to\r
parameter "Context" in the notification function\r
pEvent - Pointer to the newly created event if the call succeeds; undefined otherwise\r
\r
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