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
//\r
extern EFI_TIMER_ARCH_PROTOCOL *gTimer;\r
extern EFI_SECURITY_ARCH_PROTOCOL *gSecurity;\r
extern EFI_BDS_ARCH_PROTOCOL *gBds;\r
-extern EFI_STATUS_CODE_PROTOCOL *gStatusCode;\r
\r
extern EFI_TPL gEfiCurrentTpl;\r
\r
);\r
\r
\r
-/**\r
- Searches for a Protocol Interface passed from PEI through a HOB.\r
-\r
- @param ProtocolGuid The Protocol GUID to search for in the HOB List\r
- @param Interface A pointer to the interface for the Protocol GUID\r
-\r
- @retval EFI_SUCCESS The Protocol GUID was found and its interface is\r
- returned in Interface\r
- @retval EFI_NOT_FOUND The Protocol GUID was not found in the HOB List\r
-\r
-**/\r
-EFI_STATUS\r
-CoreGetPeiProtocol (\r
- IN EFI_GUID *ProtocolGuid,\r
- IN VOID **Interface\r
- );\r
-\r
-\r
/**\r
Given a compressed source buffer, this function retrieves the size of the\r
uncompressed buffer and the size of the scratch buffer required to decompress\r
EFI_GUID *gDxeCoreFileName;\r
EFI_LOADED_IMAGE_PROTOCOL *gDxeCoreLoadedImage;\r
\r
-//\r
-// BugBug: I'n not runtime, but is the PPI?\r
-//\r
-EFI_STATUS_CODE_PROTOCOL gStatusCodeInstance = {\r
- NULL\r
-};\r
-\r
-EFI_STATUS_CODE_PROTOCOL *gStatusCode = &gStatusCodeInstance;\r
-\r
//\r
// DXE Core Module Variables\r
//\r
-\r
EFI_BOOT_SERVICES mBootServices = {\r
{\r
EFI_BOOT_SERVICES_SIGNATURE, // Signature\r
Status = CoreInstallConfigurationTable (&gEfiMemoryTypeInformationGuid, &gMemoryTypeInformation);\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Initialize the ReportStatusCode with PEI version, if available\r
- //\r
- CoreGetPeiProtocol (&gEfiStatusCodeRuntimeProtocolGuid, (VOID **) &gStatusCode->ReportStatusCode);\r
-\r
//\r
// Report Status Code here for DXE_ENTRY_POINT once it is available\r
//\r
}\r
\r
\r
-\r
-/**\r
- Searches for a Protocol Interface passed from PEI through a HOB.\r
-\r
- @param ProtocolGuid The Protocol GUID to search for in the HOB List\r
- @param Interface A pointer to the interface for the Protocol GUID\r
-\r
- @retval EFI_SUCCESS The Protocol GUID was found and its interface is\r
- returned in Interface\r
- @retval EFI_NOT_FOUND The Protocol GUID was not found in the HOB List\r
-\r
-**/\r
-EFI_STATUS\r
-CoreGetPeiProtocol (\r
- IN EFI_GUID *ProtocolGuid,\r
- IN VOID **Interface\r
- )\r
-{\r
- EFI_HOB_GUID_TYPE *GuidHob;\r
- VOID *Buffer;\r
-\r
- GuidHob = GetFirstGuidHob (ProtocolGuid);\r
- if (GuidHob == NULL) {\r
- return EFI_NOT_FOUND;\r
- }\r
-\r
- Buffer = GET_GUID_HOB_DATA (GuidHob);\r
- ASSERT (Buffer != NULL);\r
-\r
- *Interface = (VOID *)(*(UINTN *)(Buffer));\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-\r
-\r
/**\r
Calcualte the 32-bit CRC in a EFI table using the service provided by the\r
gRuntime service.\r
}\r
\r
\r
-\r
-\r
/**\r
Terminates all boot services.\r
\r