\r
CoreReleaseDispatcherLock ();\r
\r
- CoreReportProgressCodeSpecific (\r
+ \r
+ REPORT_STATUS_CODE_WITH_EXTENDED_DATA (\r
+ EFI_PROGRESS_CODE,\r
FixedPcdGet32(PcdStatusCodeValueDxeDriverBegin),\r
- DriverEntry->ImageHandle\r
+ &DriverEntry->ImageHandle,\r
+ sizeof (DriverEntry->ImageHandle)\r
);\r
+\r
Status = CoreStartImage (DriverEntry->ImageHandle, NULL, NULL);\r
- CoreReportProgressCodeSpecific (\r
+\r
+ REPORT_STATUS_CODE_WITH_EXTENDED_DATA (\r
+ EFI_PROGRESS_CODE,\r
FixedPcdGet32(PcdStatusCodeValueDxeDriverEnd),\r
- DriverEntry->ImageHandle\r
+ &DriverEntry->ImageHandle,\r
+ sizeof (DriverEntry->ImageHandle)\r
);\r
\r
ReturnStatus = EFI_SUCCESS;\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/ReportStatusCodeLib.h>\r
\r
#include "DebugImageInfo.h"\r
#include "Library.h"\r
MemoryAllocationLib\r
UefiBootServicesTableLib\r
DevicePathLib\r
+ ReportStatusCodeLib\r
\r
[Guids]\r
gEfiEventLegacyBootGuid # ALWAYS_CONSUMED\r
//\r
// Report Status Code here for DXE_ENTRY_POINT once it is available\r
//\r
- CoreReportProgressCode (FixedPcdGet32(PcdStatusCodeValueDxeCoreEntry));\r
+ REPORT_STATUS_CODE (\r
+ EFI_PROGRESS_CODE,\r
+ FixedPcdGet32(PcdStatusCodeValueDxeCoreEntry)\r
+ );\r
\r
//\r
// Create the aligned system table pointer structure that is used by external\r
//\r
// Report Status code before transfer control to BDS\r
//\r
- CoreReportProgressCode (FixedPcdGet32 (PcdStatusCodeValueDxeCoreHandoffToBds));\r
+ REPORT_STATUS_CODE (\r
+ EFI_PROGRESS_CODE,\r
+ FixedPcdGet32 (PcdStatusCodeValueDxeCoreHandoffToBds)\r
+ );\r
\r
//\r
// Display any drivers that were not dispatched because dependency expression\r
//\r
// Report that ExitBootServices() has been called\r
//\r
- // We are using gEfiCallerIdGuid as the caller ID for Dxe Core\r
- //\r
- CoreReportProgressCode (FixedPcdGet32 (PcdStatusCodeValueBootServiceExit));\r
+ REPORT_STATUS_CODE (\r
+ EFI_PROGRESS_CODE,\r
+ FixedPcdGet32 (PcdStatusCodeValueBootServiceExit)\r
+ );\r
\r
//\r
// Clear the non-runtime values of the EFI System Table\r
#define _DXE_LIBRARY_H_\r
\r
\r
-\r
-/**\r
- Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid.\r
-\r
- @param Value Describes the class/subclass/operation of the\r
- hardware or software entity that the Status Code\r
- relates to.\r
-\r
-**/\r
-VOID\r
-CoreReportProgressCode (\r
- IN EFI_STATUS_CODE_VALUE Value\r
- );\r
-\r
-\r
-/**\r
- Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid,\r
- with a handle as additional information.\r
-\r
- @param Value Describes the class/subclass/operation of the\r
- hardware or software entity that the Status Code\r
- relates to.\r
- @param Handle Additional information.\r
-\r
-**/\r
-VOID\r
-CoreReportProgressCodeSpecific (\r
- IN EFI_STATUS_CODE_VALUE Value,\r
- IN EFI_HANDLE Handle\r
- );\r
-\r
-\r
/**\r
Raising to the task priority level of the mutual exclusion\r
lock, and then acquires ownership of the lock.\r
\r
#include "DxeMain.h"\r
\r
-UINTN mErrorLevel = DEBUG_ERROR | DEBUG_LOAD;\r
-\r
-EFI_DXE_DEVICE_HANDLE_EXTENDED_DATA mStatusCodeData = {\r
- {\r
- sizeof (EFI_STATUS_CODE_DATA),\r
- 0,\r
- EFI_STATUS_CODE_DXE_CORE_GUID\r
- },\r
- NULL\r
-};\r
-\r
-\r
-/**\r
- Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid,\r
- with a handle as additional information.\r
-\r
- @param Value Describes the class/subclass/operation of the\r
- hardware or software entity that the Status Code\r
- relates to.\r
- @param Handle Additional information.\r
-\r
-**/\r
-VOID\r
-CoreReportProgressCodeSpecific (\r
- IN EFI_STATUS_CODE_VALUE Value,\r
- IN EFI_HANDLE Handle\r
- )\r
-{\r
- mStatusCodeData.DataHeader.Size = sizeof (EFI_DXE_DEVICE_HANDLE_EXTENDED_DATA) - sizeof (EFI_STATUS_CODE_DATA);\r
- mStatusCodeData.Handle = Handle;\r
-\r
- if ((gStatusCode != NULL) && (gStatusCode->ReportStatusCode != NULL) ) {\r
- gStatusCode->ReportStatusCode (\r
- EFI_PROGRESS_CODE,\r
- Value,\r
- 0,\r
- &gEfiCallerIdGuid,\r
- (EFI_STATUS_CODE_DATA *) &mStatusCodeData\r
- );\r
- }\r
-}\r
-\r
-\r
-/**\r
- Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid.\r
-\r
- @param Value Describes the class/subclass/operation of the\r
- hardware or software entity that the Status Code\r
- relates to.\r
-\r
-**/\r
-VOID\r
-CoreReportProgressCode (\r
- IN EFI_STATUS_CODE_VALUE Value\r
- )\r
-{\r
- if ((gStatusCode != NULL) && (gStatusCode->ReportStatusCode != NULL) ) {\r
- gStatusCode->ReportStatusCode (\r
- EFI_PROGRESS_CODE,\r
- Value,\r
- 0,\r
- &gEfiCallerIdGuid,\r
- NULL\r
- );\r
- }\r
-}\r
-\r
-\r
//\r
// Lock Stuff\r
//\r