+ \r
+ //\r
+ // Fill in EFI_DEBUG_ASSERT_DATA\r
+ //\r
+ AssertData = (EFI_DEBUG_ASSERT_DATA *)Buffer;\r
+ AssertData->LineNumber = (UINT32)LineNumber;\r
+ TotalSize = sizeof (EFI_DEBUG_ASSERT_DATA);\r
+\r
+ //\r
+ // Copy Ascii FileName including NULL terminator.\r
+ //\r
+ Temp = AsciiStrnCpy ((CHAR8 *)(AssertData + 1), FileName, FileNameSize);\r
+ Temp[FileNameSize - 1] = 0;\r
+ TotalSize += FileNameSize;\r
+\r
+ //\r
+ // Copy Ascii Description include NULL terminator.\r
+ //\r
+ Temp = AsciiStrnCpy (Temp + FileNameSize, Description, DescriptionSize);\r
+ Temp[DescriptionSize - 1] = 0;\r
+ TotalSize += DescriptionSize;\r
+\r
+ REPORT_STATUS_CODE_EX (\r
+ (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED),\r
+ (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE),\r
+ 0,\r
+ NULL,\r
+ NULL,\r
+ AssertData,\r
+ TotalSize\r
+ );\r