#include EFI_GUID_DEFINITION (StatusCodeDataTypeId)\r
#include EFI_ARCH_PROTOCOL_DEFINITION (StatusCode)\r
\r
+#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
STATIC EFI_STATUS_CODE_PROTOCOL *gStatusCode = NULL;\r
+#endif\r
\r
EFI_STATUS\r
EfiLibReportStatusCode (\r
--*/\r
{\r
EFI_STATUS Status;\r
- \r
- Status = EFI_UNSUPPORTED;\r
\r
- if (gRT->Hdr.Revision >= 0x00020000) {\r
- if (gStatusCode == NULL) {\r
- if (gBS == NULL) {\r
- return EFI_UNSUPPORTED;\r
- }\r
- Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);\r
- if (EFI_ERROR (Status) || gStatusCode == NULL) {\r
- return EFI_UNSUPPORTED;\r
- }\r
- }\r
- Status = gStatusCode->ReportStatusCode (Type, Value, Instance, CallerId, Data);\r
- } else {\r
- if (gRT == NULL) {\r
- return EFI_UNSUPPORTED;\r
- }\r
- //\r
- // Check whether EFI_RUNTIME_SERVICES has Tiano Extension\r
- //\r
- Status = EFI_UNSUPPORTED;\r
-#if (EFI_SPECIFICATION_VERSION < 0x00020000)\r
- if (gRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&\r
- gRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&\r
- gRT->ReportStatusCode != NULL) {\r
- Status = gRT->ReportStatusCode (Type, Value, Instance, CallerId, Data);\r
-#endif\r
- }\r
- }\r
+#if (EFI_SPECIFICATION_VERSION >= 0x00020000) \r
+ if (gStatusCode == NULL) {\r
+ if (gBS == NULL) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);\r
+ if (EFI_ERROR (Status) || gStatusCode == NULL) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ }\r
+ Status = gStatusCode->ReportStatusCode (Type, Value, Instance, CallerId, Data);\r
return Status;\r
+#else\r
+ if (gRT == NULL) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ //\r
+ // Check whether EFI_RUNTIME_SERVICES has Tiano Extension\r
+ //\r
+ Status = EFI_UNSUPPORTED;\r
+ if (gRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&\r
+ gRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&\r
+ gRT->ReportStatusCode != NULL) {\r
+ Status = gRT->ReportStatusCode (Type, Value, Instance, CallerId, Data);\r
+ }\r
+ return Status;\r
+#endif\r
}\r
\r
EFI_STATUS\r