REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1907

Add pcd PcdRuntimeServicesSupport to control whether runtime
services is supported at runtime phase. It is a UINT16 type
bitmask value. Refer to Uefi Spec 2.8, Section 8.1.1.

Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Cc: Sean Brogan <sean.bro...@microsoft.com>
Cc: Michael Turner <michael.tur...@microsoft.com>
Cc: Bret Barkelew <bret.barke...@microsoft.com>
Signed-off-by: Zhichao Gao <zhichao....@intel.com>
---
 MdePkg/MdePkg.dec | 19 +++++++++++++++++++
 MdePkg/MdePkg.uni | 19 +++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index b382efd578..c66c88970e 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -2079,6 +2079,25 @@
   # @Prompt Speculation Barrier Type.
   gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x01|UINT8|0x30001018
 
+  ## Indicates the supported runtime services after exit boot services.
+  #  Uefi Spec 2.8, Section 8.1.1, RuntimeServicesSupported variable realted 
definitions.<BR><BR>
+  #   0x0001 (EFI_RT_SUPPORTED_GET_TIME)<BR>
+  #   0x0002 (EFI_RT_SUPPORTED_SET_TIME)<BR>
+  #   0x0004 (EFI_RT_SUPPORTED_GET_WAKEUP_TIME)<BR>
+  #   0x0008 (EFI_RT_SUPPORTED_SET_WAKEUP_TIME)<BR>
+  #   0x0010 (EFI_RT_SUPPORTED_GET_VARIABLE)<BR>
+  #   0x0020 (EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME)<BR>
+  #   0x0040 (EFI_RT_SUPPORTED_SET_VARIABLE)<BR>
+  #   0x0080 (EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP)<BR>
+  #   0x0100 (EFI_RT_SUPPORTED_CONVERT_POINTER)<BR>
+  #   0x0200 (EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT)<BR>
+  #   0x0400 (EFI_RT_SUPPORTED_RESET_SYSTEM)<BR>
+  #   0x0800 (EFI_RT_SUPPORTED_UPDATE_CAPSULE)<BR>
+  #   0x1000 (EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES)<BR>
+  #   0x2000 (EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO)
+  # @Prompt Runtime Services support.
+  gEfiMdePkgTokenSpaceGuid.PcdRuntimeServicesSupport|0x3FFF|UINT16|0x30001019
+
 [PcdsFixedAtBuild,PcdsPatchableInModule]
   ## Indicates the maximum length of unicode string used in the following
   #  BaseLib functions: StrLen(), StrSize(), StrCmp(), StrnCmp(), StrCpy(), 
StrnCpy()<BR><BR>
diff --git a/MdePkg/MdePkg.uni b/MdePkg/MdePkg.uni
index 5c1fa24065..09e0cf22f1 100644
--- a/MdePkg/MdePkg.uni
+++ b/MdePkg/MdePkg.uni
@@ -157,6 +157,25 @@
                                                                                
       "0x02 - CPUID  (IA32/X64).<BR>\n"
                                                                                
       "Other - reserved"
 
+#string STR_gEfiMdePkgTokenSpaceGuid_PcdRuntimeServicesSupport_PROMPT  
#language en-US "Runtime Services support."
+
+#string STR_gEfiMdePkgTokenSpaceGuid_PcdRuntimeServicesSupport_HELP  #language 
en-US "Indicates the supported runtime services after exit boot services."
+                                                                               
      "Uefi Spec 2.8, Section 8.1.1, RuntimeServicesSupported variable realted 
definitions.<BR><BR>"
+                                                                               
      " 0x0001 (EFI_RT_SUPPORTED_GET_TIME)<BR>"
+                                                                               
      " 0x0002 (EFI_RT_SUPPORTED_SET_TIME)<BR>"
+                                                                               
      " 0x0004 (EFI_RT_SUPPORTED_GET_WAKEUP_TIME)<BR>"
+                                                                               
      " 0x0008 (EFI_RT_SUPPORTED_SET_WAKEUP_TIME)<BR>"
+                                                                               
      " 0x0010 (EFI_RT_SUPPORTED_GET_VARIABLE)<BR>"
+                                                                               
      " 0x0020 (EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME)<BR>"
+                                                                               
      " 0x0040 (EFI_RT_SUPPORTED_SET_VARIABLE)<BR>"
+                                                                               
      " 0x0080 (EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP)<BR>"
+                                                                               
      " 0x0100 (EFI_RT_SUPPORTED_CONVERT_POINTER)<BR>"
+                                                                               
      " 0x0200 (EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT)<BR>"
+                                                                               
      " 0x0400 (EFI_RT_SUPPORTED_RESET_SYSTEM)<BR>"
+                                                                               
      " 0x0800 (EFI_RT_SUPPORTED_UPDATE_CAPSULE)<BR>"
+                                                                               
      " 0x1000 (EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES)<BR>"
+                                                                               
      " 0x2000 (EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO)"
+
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_PROMPT  
#language en-US "Maximum Length of Ascii String"
 
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_HELP  
#language en-US "Sets the maximum number of ASCII characters used for string 
functions.  This affects the following BaseLib functions: AsciiStrLen(), 
AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(), AsciiStrCpy(), AsciiStrnCpy(). 
<BR><BR>\n"
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44030): https://edk2.groups.io/g/devel/message/44030
Mute This Topic: https://groups.io/mt/32524670/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to