Add conditional check before output status code.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7603 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2009-02-23 14:31:09 +00:00
parent 1d0cab2ec2
commit 15cd6a822c
2 changed files with 39 additions and 27 deletions

View File

@ -67,22 +67,28 @@ InternalReportStatusCode (
CONST EFI_PEI_SERVICES **PeiServices;
EFI_STATUS Status;
PeiServices = GetPeiServicesTablePointer ();
Status = (*PeiServices)->ReportStatusCode (
PeiServices,
Type,
Value,
Instance,
(EFI_GUID *)CallerId,
Data
);
if (Status == EFI_NOT_AVAILABLE_YET) {
Status = OemHookStatusCodeInitialize ();
if (!EFI_ERROR (Status)) {
return OemHookStatusCodeReport (Type, Value, Instance, (EFI_GUID *) CallerId, Data);
if ((ReportProgressCodeEnabled() && ((Type) & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) ||
(ReportErrorCodeEnabled() && ((Type) & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) ||
(ReportDebugCodeEnabled() && ((Type) & EFI_STATUS_CODE_TYPE_MASK) == EFI_DEBUG_CODE)) {
PeiServices = GetPeiServicesTablePointer ();
Status = (*PeiServices)->ReportStatusCode (
PeiServices,
Type,
Value,
Instance,
(EFI_GUID *)CallerId,
Data
);
if (Status == EFI_NOT_AVAILABLE_YET) {
Status = OemHookStatusCodeInitialize ();
if (!EFI_ERROR (Status)) {
return OemHookStatusCodeReport (Type, Value, Instance, (EFI_GUID *) CallerId, Data);
}
}
return Status;
}
return Status;
return EFI_UNSUPPORTED;
}