summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c57
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/RuntimeLib.c62
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLib.c58
3 files changed, 85 insertions, 92 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c
index a8145cd..4c071f2 100644
--- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c
+++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c
@@ -23,9 +23,7 @@ Abstract:
#include EFI_GUID_DEFINITION (StatusCodeDataTypeId)
#include EFI_ARCH_PROTOCOL_DEFINITION (StatusCode)
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
STATIC EFI_STATUS_CODE_PROTOCOL *gStatusCode = NULL;
-#endif
EFI_STATUS
EfiLibReportStatusCode (
@@ -58,34 +56,37 @@ Returns:
--*/
{
EFI_STATUS Status;
-
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
- if (gStatusCode == NULL) {
- if (gBS == NULL) {
- return EFI_UNSUPPORTED;
- }
- Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
- if (EFI_ERROR (Status) || gStatusCode == NULL) {
- return EFI_UNSUPPORTED;
- }
- }
- Status = gStatusCode->ReportStatusCode (Type, Value, Instance, CallerId, Data);
- return Status;
-#else
- if (gRT == NULL) {
- return EFI_UNSUPPORTED;
- }
- //
- // Check whether EFI_RUNTIME_SERVICES has Tiano Extension
- //
+
Status = EFI_UNSUPPORTED;
- if (gRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&
- gRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&
- gRT->ReportStatusCode != NULL) {
- Status = gRT->ReportStatusCode (Type, Value, Instance, CallerId, Data);
- }
- return Status;
+
+ if (gRT->Hdr.Revision >= 0x00020000) {
+ if (gStatusCode == NULL) {
+ if (gBS == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
+ if (EFI_ERROR (Status) || gStatusCode == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ }
+ Status = gStatusCode->ReportStatusCode (Type, Value, Instance, CallerId, Data);
+ } else {
+ if (gRT == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ //
+ // Check whether EFI_RUNTIME_SERVICES has Tiano Extension
+ //
+ Status = EFI_UNSUPPORTED;
+#if (EFI_SPECIFICATION_VERSION < 0x00020000)
+ if (gRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&
+ gRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&
+ gRT->ReportStatusCode != NULL) {
+ Status = gRT->ReportStatusCode (Type, Value, Instance, CallerId, Data);
#endif
+ }
+ }
+ return Status;
}
EFI_STATUS
diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/RuntimeLib.c b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/RuntimeLib.c
index 2367e10..4fb0494 100644
--- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/RuntimeLib.c
+++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/RuntimeLib.c
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004 - 2008, Intel Corporation
+Copyright (c) 2005 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -42,9 +42,7 @@ EFI_CPU_IO_PROTOCOL *gCpuIo;
BOOLEAN mEfiAtRuntime = FALSE;
FVB_ENTRY *mFvbEntry;
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
static EFI_STATUS_CODE_PROTOCOL *gStatusCode = NULL;
-#endif
EFI_STATUS
EfiConvertPointer (
@@ -213,12 +211,10 @@ Returns:
// Update global for Runtime Services Table and IO
//
EfiConvertInternalPointer ((VOID **) &gCpuIo);
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
if (gStatusCode != NULL) {
EfiConvertInternalPointer ((VOID **) &gStatusCode->ReportStatusCode);
EfiConvertInternalPointer ((VOID **) &gStatusCode);
}
-#endif
EfiConvertInternalPointer ((VOID **) &mRT);
//
@@ -274,12 +270,10 @@ Returns:
Status = EfiLibGetSystemConfigurationTable (&gEfiDxeServicesTableGuid, (VOID **) &gDS);
ASSERT_EFI_ERROR (Status);
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
if (EFI_ERROR (Status)) {
gStatusCode = NULL;
}
-#endif
Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);
if (EFI_ERROR (Status)) {
@@ -405,12 +399,10 @@ Returns:
mRT = SystemTable->RuntimeServices;
ASSERT (mRT != NULL);
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
if (EFI_ERROR (Status)) {
gStatusCode = NULL;
}
-#endif
Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);
if (EFI_ERROR (Status)) {
@@ -664,7 +656,6 @@ Returns:
return mRT->SetVariable (VariableName, VendorGuid, Attributes, DataSize, Data);
}
-
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
EFI_STATUS
@@ -703,6 +694,7 @@ Returns:
#endif
+
EFI_STATUS
EfiGetNextHighMonotonicCount (
OUT UINT32 *HighCount
@@ -789,31 +781,35 @@ Returns:
--*/
{
EFI_STATUS Status;
-
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
- if (gStatusCode == NULL) {
- if (EfiAtRuntime ()) {
- return EFI_UNSUPPORTED;
- }
- Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
- if (EFI_ERROR (Status) || gStatusCode == NULL) {
- return EFI_UNSUPPORTED;
- }
- }
- Status = gStatusCode->ReportStatusCode (CodeType, Value, Instance, CallerId, Data);
-#else
- if (mRT == NULL) {
- return EFI_UNSUPPORTED;
- }
- //
- // Check whether EFI_RUNTIME_SERVICES has Tiano Extension
- //
+
Status = EFI_UNSUPPORTED;
- if (mRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&
- mRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&
- mRT->ReportStatusCode != NULL) {
+
+ if (mRT->Hdr.Revision >= 0x00020000) {
+ if (gStatusCode == NULL) {
+ if (EfiAtRuntime ()) {
+ return EFI_UNSUPPORTED;
+ }
+ Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
+ if (EFI_ERROR (Status) || gStatusCode == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ }
+ Status = gStatusCode->ReportStatusCode (CodeType, Value, Instance, CallerId, Data);
+ } else {
+ if (mRT == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ //
+ // Check whether EFI_RUNTIME_SERVICES has Tiano Extension
+ //
+ Status = EFI_UNSUPPORTED;
+#if (EFI_SPECIFICATION_VERSION < 0x00020000)
+ if (mRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&
+ mRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&
+ mRT->ReportStatusCode != NULL) {
Status = mRT->ReportStatusCode (CodeType, Value, Instance, CallerId, Data);
- }
#endif
+ }
+ }
return Status;
}
diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLib.c b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLib.c
index ad65350..4fb0494 100644
--- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLib.c
+++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLib.c
@@ -42,9 +42,7 @@ EFI_CPU_IO_PROTOCOL *gCpuIo;
BOOLEAN mEfiAtRuntime = FALSE;
FVB_ENTRY *mFvbEntry;
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
static EFI_STATUS_CODE_PROTOCOL *gStatusCode = NULL;
-#endif
EFI_STATUS
EfiConvertPointer (
@@ -213,12 +211,10 @@ Returns:
// Update global for Runtime Services Table and IO
//
EfiConvertInternalPointer ((VOID **) &gCpuIo);
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
if (gStatusCode != NULL) {
EfiConvertInternalPointer ((VOID **) &gStatusCode->ReportStatusCode);
EfiConvertInternalPointer ((VOID **) &gStatusCode);
}
-#endif
EfiConvertInternalPointer ((VOID **) &mRT);
//
@@ -274,12 +270,10 @@ Returns:
Status = EfiLibGetSystemConfigurationTable (&gEfiDxeServicesTableGuid, (VOID **) &gDS);
ASSERT_EFI_ERROR (Status);
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
if (EFI_ERROR (Status)) {
gStatusCode = NULL;
}
-#endif
Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);
if (EFI_ERROR (Status)) {
@@ -405,12 +399,10 @@ Returns:
mRT = SystemTable->RuntimeServices;
ASSERT (mRT != NULL);
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
if (EFI_ERROR (Status)) {
gStatusCode = NULL;
}
-#endif
Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);
if (EFI_ERROR (Status)) {
@@ -789,31 +781,35 @@ Returns:
--*/
{
EFI_STATUS Status;
-
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
- if (gStatusCode == NULL) {
- if (EfiAtRuntime ()) {
- return EFI_UNSUPPORTED;
- }
- Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
- if (EFI_ERROR (Status) || gStatusCode == NULL) {
- return EFI_UNSUPPORTED;
- }
- }
- Status = gStatusCode->ReportStatusCode (CodeType, Value, Instance, CallerId, Data);
-#else
- if (mRT == NULL) {
- return EFI_UNSUPPORTED;
- }
- //
- // Check whether EFI_RUNTIME_SERVICES has Tiano Extension
- //
+
Status = EFI_UNSUPPORTED;
- if (mRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&
- mRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&
- mRT->ReportStatusCode != NULL) {
+
+ if (mRT->Hdr.Revision >= 0x00020000) {
+ if (gStatusCode == NULL) {
+ if (EfiAtRuntime ()) {
+ return EFI_UNSUPPORTED;
+ }
+ Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID **)&gStatusCode);
+ if (EFI_ERROR (Status) || gStatusCode == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ }
+ Status = gStatusCode->ReportStatusCode (CodeType, Value, Instance, CallerId, Data);
+ } else {
+ if (mRT == NULL) {
+ return EFI_UNSUPPORTED;
+ }
+ //
+ // Check whether EFI_RUNTIME_SERVICES has Tiano Extension
+ //
+ Status = EFI_UNSUPPORTED;
+#if (EFI_SPECIFICATION_VERSION < 0x00020000)
+ if (mRT->Hdr.Revision == EFI_SPECIFICATION_VERSION &&
+ mRT->Hdr.HeaderSize == sizeof (EFI_RUNTIME_SERVICES) &&
+ mRT->ReportStatusCode != NULL) {
Status = mRT->ReportStatusCode (CodeType, Value, Instance, CallerId, Data);
- }
#endif
+ }
+ }
return Status;
}