\r
#if (EFI_SPECIFICATION_VERSION >= 0x00020000) \r
if (gStatusCode == NULL) {\r
- return EFI_UNSUPPORTED;\r
+ if (EfiAtRuntime ()) {\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 (CodeType, Value, Instance, CallerId, Data);\r
#else\r
#endif\r
return Status;\r
}\r
-\r
-//\r
-// Cache Flush Routine.\r
-//\r
-EFI_STATUS\r
-EfiCpuFlushCache (\r
- IN EFI_PHYSICAL_ADDRESS Start,\r
- IN UINT64 Length\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Flush cache with specified range.\r
-\r
-Arguments:\r
-\r
- Start - Start address\r
- Length - Length in bytes\r
-\r
-Returns:\r
-\r
- Status code\r
- \r
- EFI_SUCCESS - success\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS;\r
-}\r