summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Core
diff options
context:
space:
mode:
Diffstat (limited to 'EdkModulePkg/Core')
-rw-r--r--EdkModulePkg/Core/Dxe/DxeMain/DxeMain.c11
-rw-r--r--EdkModulePkg/Core/Dxe/DxeMain/DxeProtocolNotify.c17
2 files changed, 25 insertions, 3 deletions
diff --git a/EdkModulePkg/Core/Dxe/DxeMain/DxeMain.c b/EdkModulePkg/Core/Dxe/DxeMain/DxeMain.c
index 9b8402b561..24568ea334 100644
--- a/EdkModulePkg/Core/Dxe/DxeMain/DxeMain.c
+++ b/EdkModulePkg/Core/Dxe/DxeMain/DxeMain.c
@@ -307,9 +307,16 @@ EFI_RUNTIME_SERVICES mEfiRuntimeServicesTableTemplate = {
(EFI_GET_NEXT_HIGH_MONO_COUNT) CoreEfiNotAvailableYetArg1, // GetNextHighMonotonicCount
(EFI_RESET_SYSTEM) CoreEfiNotAvailableYetArg4 // ResetSystem
#if ((EDK_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION < 0x00020000))
+ //
+ // This Tiano extension was removed when UEFI 2.0 support was added.
+ // It's now just a protocol.
+ //
,
(EFI_REPORT_STATUS_CODE) CoreEfiNotAvailableYetArg5 // ReportStatusCode
#elif (EFI_SPECIFICATION_VERSION >= 0x00020000)
+ //
+ // New runtime services added by UEFI 2.0
+ //
,
(EFI_UPDATE_CAPSULE) CoreEfiNotAvailableYetArg3, // UpdateCapsule
(EFI_QUERY_CAPSULE_CAPABILITIES) CoreEfiNotAvailableYetArg4, // QueryCapsuleCapabilities
@@ -452,6 +459,10 @@ Returns:
//
CoreGetPeiProtocol (&gEfiStatusCodeRuntimeProtocolGuid, (VOID **)&gStatusCode->ReportStatusCode);
#if ((EDK_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION < 0x00020000))
+ //
+ // This Tiano extension was removed when UEFI 2.0 support was added.
+ // It's now just a protocol.
+ //
gRT->ReportStatusCode = gStatusCode->ReportStatusCode;
#endif
diff --git a/EdkModulePkg/Core/Dxe/DxeMain/DxeProtocolNotify.c b/EdkModulePkg/Core/Dxe/DxeMain/DxeProtocolNotify.c
index 7c22a03f7f..53f3b3be9b 100644
--- a/EdkModulePkg/Core/Dxe/DxeMain/DxeProtocolNotify.c
+++ b/EdkModulePkg/Core/Dxe/DxeMain/DxeProtocolNotify.c
@@ -43,12 +43,23 @@ ARCHITECTURAL_PROTOCOL_ENTRY mArchProtocols[] = {
{ &gEfiRuntimeArchProtocolGuid, (VOID **)&gRuntime, NULL, NULL, FALSE },
{ &gEfiVariableArchProtocolGuid, (VOID **)NULL, NULL, NULL, FALSE },
{ &gEfiVariableWriteArchProtocolGuid, (VOID **)NULL, NULL, NULL, FALSE },
- #if (EFI_SPECIFICATION_VERSION >= 0x00020000)
+#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
+ //
+ // UEFI 2.0 added support for Capsule services. DXE CIS ??? Added support for this AP
+ //
{ &gEfiCapsuleArchProtocolGuid, (VOID **)NULL, NULL, NULL, FALSE},
- #endif
+#endif
{ &gEfiMonotonicCounterArchProtocolGuid, (VOID **)NULL, NULL, NULL, FALSE },
{ &gEfiResetArchProtocolGuid, (VOID **)NULL, NULL, NULL, FALSE },
-// { &gEfiStatusCodeRuntimeProtocolGuid, (VOID **)&gStatusCode, NULL, NULL, FALSE },
+#if ((EDK_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION < 0x00020000))
+ //
+ // The ReportStatusCode Runtime service is in conflict with the UEFI 2.0 specificaiton
+ // Thus gEfiStatusCodeRuntimeProtocolGuid becomes a normal protocol in UEFI 2.0 systems
+ // It is only included if the EFI 1.10 with Tiano extensions is enabled for backward
+ // compatability
+ //
+ { &gEfiStatusCodeRuntimeProtocolGuid, (VOID **)&gStatusCode, NULL, NULL, FALSE },
+#endif
{ &gEfiRealTimeClockArchProtocolGuid, (VOID **)NULL, NULL, NULL, FALSE },
{ NULL, (VOID **)NULL, NULL, NULL, FALSE }
};