VOID PeiDebugAssert ( IN CONST EFI_PEI_SERVICES **PeiServices, IN CHAR8 *FileName, IN INTN LineNumber, IN CHAR8 *Description ) /*++ Routine Description: Worker function for ASSERT(). If Error Logging hub is loaded log ASSERT information. If Error Logging hub is not loaded DEADLOOP (). Arguments: PeiServices - The PEI core services table. FileName - File name of failing routine. LineNumber - Line number of failing ASSERT(). Description - Description, usually the assertion, Returns: None --*/ { UINT64 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE]; EfiDebugAssertWorker (FileName, LineNumber, Description, sizeof (Buffer), Buffer); // // We choose NOT to use PEI_REPORT_STATUS_CODE here, because when debug is enable, // we want get enough information if assert. // (**PeiServices).PeiReportStatusCode ( (EFI_PEI_SERVICES**)PeiServices, (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED), (EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE), 0, &gEfiCallerIdGuid, (EFI_STATUS_CODE_DATA *) Buffer ); EFI_DEADLOOP (); }
VOID EfiDebugAssert ( IN CHAR8 *FileName, IN INTN LineNumber, IN CHAR8 *Description ) /*++ Routine Description: Worker function for ASSERT (). If Error Logging hub is loaded log ASSERT information. If Error Logging hub is not loaded BREAKPOINT (). Arguments: FileName - File name of failing routine. LineNumber - Line number of failing ASSERT (). Description - Description, usually the assertion, Returns: None --*/ { UINT64 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE64]; EfiDebugAssertWorker (FileName, LineNumber, Description, sizeof (Buffer), Buffer); EfiReportStatusCode ( (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED), (EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE), 0, &gEfiCallerIdGuid, (EFI_STATUS_CODE_DATA *) Buffer ); // // Put dead loop in module that contained the error. // EFI_DEADLOOP (); }