* [PATCH 0/3] Support for RuntimeServicesSupported global variable @ 2019-11-15 17:42 Jeff Brasen 2019-11-15 17:42 ` [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations Jeff Brasen ` (3 more replies) 0 siblings, 4 replies; 14+ messages in thread From: Jeff Brasen @ 2019-11-15 17:42 UTC (permalink / raw) To: edk2-devel, devel Cc: Jeff Brasen, liming.gao, michael.d.kinney, hao.a.wu, ray.ni, zhichao.gao Add support for the new UEFI 2.8 runtime services supported variable that is used to indicate which runtime services a platform supports. Also, add support for initializing this variable based on a PCD. Jeff Brasen (3): MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations MdePkg/MdeModule: Add support for RuntimeServicesSupported variable MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable .../VarCheckUefiLib/VarCheckUefiLibNullClass.c | 11 +++++++ MdeModulePkg/MdeModulePkg.dec | 18 +++++++++++ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 +++++++++++++++++++++- MdePkg/Include/Guid/GlobalVariable.h | 7 +++++ MdePkg/Include/Uefi/UefiSpec.h | 18 +++++++++++ 6 files changed, 89 insertions(+), 1 deletion(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations 2019-11-15 17:42 [PATCH 0/3] Support for RuntimeServicesSupported global variable Jeff Brasen @ 2019-11-15 17:42 ` Jeff Brasen 2019-11-21 5:44 ` Ni, Ray 2019-11-15 17:42 ` [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable Jeff Brasen ` (2 subsequent siblings) 3 siblings, 1 reply; 14+ messages in thread From: Jeff Brasen @ 2019-11-15 17:42 UTC (permalink / raw) To: edk2-devel, devel Cc: Jeff Brasen, liming.gao, michael.d.kinney, hao.a.wu, ray.ni, zhichao.gao Add bitmask values for the value of the RuntimeServicesSupported variable defined in the UEFI 2.8 specification. This is used to describe what services the platform supports while in runtime. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> --- MdePkg/Include/Uefi/UefiSpec.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h index 444aa35..7e2b719 100644 --- a/MdePkg/Include/Uefi/UefiSpec.h +++ b/MdePkg/Include/Uefi/UefiSpec.h @@ -1783,6 +1783,24 @@ EFI_STATUS #define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040 // +// Bitmasks of supported runtime functions for RuntimeServicesSupported variable +// +#define EFI_RT_SUPPORTED_GET_TIME 0x0001 +#define EFI_RT_SUPPORTED_SET_TIME 0x0002 +#define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004 +#define EFI_RT_SUPPORTED_SET_WAKEUP_TIME 0x0008 +#define EFI_RT_SUPPORTED_GET_VARIABLE 0x0010 +#define EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME 0x0020 +#define EFI_RT_SUPPORTED_SET_VARIABLE 0x0040 +#define EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP 0x0080 +#define EFI_RT_SUPPORTED_CONVERT_POINTER 0x0100 +#define EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT 0x0200 +#define EFI_RT_SUPPORTED_RESET_SYSTEM 0x0400 +#define EFI_RT_SUPPORTED_UPDATE_CAPSULE 0x0800 +#define EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES 0x1000 +#define EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO 0x2000 + +// // EFI Runtime Services Table // #define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T') -- 2.7.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations 2019-11-15 17:42 ` [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations Jeff Brasen @ 2019-11-21 5:44 ` Ni, Ray 0 siblings, 0 replies; 14+ messages in thread From: Ni, Ray @ 2019-11-21 5:44 UTC (permalink / raw) To: Jeff Brasen, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Gao, Zhichao Jeff, I feel the BIT definitions can be together with the RuntimeServicesSuppported variable. But I found the EFI_OS_INDICATIONS_XXX macros are already in UefiSpec.h. So I am fine with that. Reviewed-by: Ray Ni <ray.ni@intel.com> > -----Original Message----- > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Saturday, November 16, 2019 1:43 AM > To: edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <liming.gao@intel.com>; > Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao > <zhichao.gao@intel.com> > Subject: [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 > RuntimeServicesSuppported definations > > Add bitmask values for the value of the RuntimeServicesSupported variable > defined in the UEFI 2.8 specification. This is used to describe what services > the platform supports while in runtime. > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > --- > MdePkg/Include/Uefi/UefiSpec.h | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/MdePkg/Include/Uefi/UefiSpec.h > b/MdePkg/Include/Uefi/UefiSpec.h index 444aa35..7e2b719 100644 > --- a/MdePkg/Include/Uefi/UefiSpec.h > +++ b/MdePkg/Include/Uefi/UefiSpec.h > @@ -1783,6 +1783,24 @@ EFI_STATUS > #define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY > 0x0000000000000040 > > // > +// Bitmasks of supported runtime functions for RuntimeServicesSupported > +variable // > +#define EFI_RT_SUPPORTED_GET_TIME 0x0001 > +#define EFI_RT_SUPPORTED_SET_TIME 0x0002 > +#define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004 > +#define EFI_RT_SUPPORTED_SET_WAKEUP_TIME 0x0008 > +#define EFI_RT_SUPPORTED_GET_VARIABLE 0x0010 > +#define EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME 0x0020 > +#define EFI_RT_SUPPORTED_SET_VARIABLE 0x0040 > +#define EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP 0x0080 > +#define EFI_RT_SUPPORTED_CONVERT_POINTER 0x0100 > +#define EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT > 0x0200 > +#define EFI_RT_SUPPORTED_RESET_SYSTEM 0x0400 > +#define EFI_RT_SUPPORTED_UPDATE_CAPSULE 0x0800 > +#define EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES 0x1000 > +#define EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO 0x2000 > + > +// > // EFI Runtime Services Table > // > #define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' > ','S','Y','S','T') > -- > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable 2019-11-15 17:42 [PATCH 0/3] Support for RuntimeServicesSupported global variable Jeff Brasen 2019-11-15 17:42 ` [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations Jeff Brasen @ 2019-11-15 17:42 ` Jeff Brasen 2019-11-21 5:45 ` Ni, Ray 2019-11-15 17:42 ` [PATCH 3/3] MdeModulePkg/BdsDxe: Set " Jeff Brasen 2019-11-19 14:19 ` [PATCH 0/3] Support for RuntimeServicesSupported global variable Liming Gao 3 siblings, 1 reply; 14+ messages in thread From: Jeff Brasen @ 2019-11-15 17:42 UTC (permalink / raw) To: edk2-devel, devel Cc: Jeff Brasen, liming.gao, michael.d.kinney, hao.a.wu, ray.ni, zhichao.gao Add support for new global variable defined in the UEFI 2.8 specification. This provides a bitmask of which calls are implemented by the firmware during runtime services. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> --- .../Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c | 11 +++++++++++ MdePkg/Include/Guid/GlobalVariable.h | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c b/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c index e3bf04a..4264892 100644 --- a/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c +++ b/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c @@ -553,6 +553,17 @@ UEFI_DEFINED_VARIABLE_ENTRY mGlobalVariableList[] = { }, NULL }, + { + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, + { + VAR_CHECK_VARIABLE_PROPERTY_REVISION, + VAR_CHECK_VARIABLE_PROPERTY_READ_ONLY, + VARIABLE_ATTRIBUTE_BS_RT, + sizeof (UINT16), + sizeof (UINT16) + }, + NULL + }, }; UEFI_DEFINED_VARIABLE_ENTRY mGlobalVariableList2[] = { diff --git a/MdePkg/Include/Guid/GlobalVariable.h b/MdePkg/Include/Guid/GlobalVariable.h index 7abc103..06a8a12 100644 --- a/MdePkg/Include/Guid/GlobalVariable.h +++ b/MdePkg/Include/Guid/GlobalVariable.h @@ -182,5 +182,12 @@ extern EFI_GUID gEfiGlobalVariableGuid; /// Its attribute is BS+RT. /// #define EFI_VENDOR_KEYS_VARIABLE_NAME L"VendorKeys" +/// +/// Bitmask of which calls are implemented by the firmware during runtime services. +/// RT access is required only if GetVariable() is implemented by runtime services. +/// Should be treated as read-only. +/// Its attribute is BS+RT. +/// +#define EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME L"RuntimeServicesSupported" #endif -- 2.7.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable 2019-11-15 17:42 ` [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable Jeff Brasen @ 2019-11-21 5:45 ` Ni, Ray 2019-11-21 6:24 ` Zeng, Star 0 siblings, 1 reply; 14+ messages in thread From: Ni, Ray @ 2019-11-21 5:45 UTC (permalink / raw) To: Jeff Brasen, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Gao, Zhichao, Zeng, Star Reviewed-by: Ray Ni <ray.ni@intel.com> + VarCheck expert Star Zeng. > -----Original Message----- > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Saturday, November 16, 2019 1:43 AM > To: edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <liming.gao@intel.com>; > Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao > <zhichao.gao@intel.com> > Subject: [PATCH 2/3] MdePkg/MdeModule: Add support for > RuntimeServicesSupported variable > > Add support for new global variable defined in the UEFI 2.8 specification. This > provides a bitmask of which calls are implemented by the firmware during > runtime services. > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > --- > .../Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c | 11 > +++++++++++ > MdePkg/Include/Guid/GlobalVariable.h | 7 +++++++ > 2 files changed, 18 insertions(+) > > diff --git > a/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > b/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > index e3bf04a..4264892 100644 > --- a/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > +++ b/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > @@ -553,6 +553,17 @@ UEFI_DEFINED_VARIABLE_ENTRY > mGlobalVariableList[] = { > }, > NULL > }, > + { > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > + { > + VAR_CHECK_VARIABLE_PROPERTY_REVISION, > + VAR_CHECK_VARIABLE_PROPERTY_READ_ONLY, > + VARIABLE_ATTRIBUTE_BS_RT, > + sizeof (UINT16), > + sizeof (UINT16) > + }, > + NULL > + }, > }; > > UEFI_DEFINED_VARIABLE_ENTRY mGlobalVariableList2[] = { diff --git > a/MdePkg/Include/Guid/GlobalVariable.h > b/MdePkg/Include/Guid/GlobalVariable.h > index 7abc103..06a8a12 100644 > --- a/MdePkg/Include/Guid/GlobalVariable.h > +++ b/MdePkg/Include/Guid/GlobalVariable.h > @@ -182,5 +182,12 @@ extern EFI_GUID gEfiGlobalVariableGuid; /// Its > attribute is BS+RT. > /// > #define EFI_VENDOR_KEYS_VARIABLE_NAME L"VendorKeys" > +/// > +/// Bitmask of which calls are implemented by the firmware during runtime > services. > +/// RT access is required only if GetVariable() is implemented by runtime > services. > +/// Should be treated as read-only. > +/// Its attribute is BS+RT. > +/// > +#define EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > L"RuntimeServicesSupported" > > #endif > -- > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable 2019-11-21 5:45 ` Ni, Ray @ 2019-11-21 6:24 ` Zeng, Star 0 siblings, 0 replies; 14+ messages in thread From: Zeng, Star @ 2019-11-21 6:24 UTC (permalink / raw) To: Ni, Ray, Jeff Brasen, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Gao, Zhichao, Zeng, Star Reviewed-by: Star Zeng <star.zeng@intel.com> -----Original Message----- From: Ni, Ray Sent: Thursday, November 21, 2019 1:46 PM To: Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; devel@edk2.groups.io Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>; Zeng, Star <star.zeng@intel.com> Subject: RE: [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable Reviewed-by: Ray Ni <ray.ni@intel.com> + VarCheck expert Star Zeng. > -----Original Message----- > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Saturday, November 16, 2019 1:43 AM > To: edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <liming.gao@intel.com>; > Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao > <zhichao.gao@intel.com> > Subject: [PATCH 2/3] MdePkg/MdeModule: Add support for > RuntimeServicesSupported variable > > Add support for new global variable defined in the UEFI 2.8 specification. This > provides a bitmask of which calls are implemented by the firmware during > runtime services. > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > --- > .../Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c | 11 > +++++++++++ > MdePkg/Include/Guid/GlobalVariable.h | 7 +++++++ > 2 files changed, 18 insertions(+) > > diff --git > a/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > b/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > index e3bf04a..4264892 100644 > --- a/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > +++ b/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLibNullClass.c > @@ -553,6 +553,17 @@ UEFI_DEFINED_VARIABLE_ENTRY > mGlobalVariableList[] = { > }, > NULL > }, > + { > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > + { > + VAR_CHECK_VARIABLE_PROPERTY_REVISION, > + VAR_CHECK_VARIABLE_PROPERTY_READ_ONLY, > + VARIABLE_ATTRIBUTE_BS_RT, > + sizeof (UINT16), > + sizeof (UINT16) > + }, > + NULL > + }, > }; > > UEFI_DEFINED_VARIABLE_ENTRY mGlobalVariableList2[] = { diff --git > a/MdePkg/Include/Guid/GlobalVariable.h > b/MdePkg/Include/Guid/GlobalVariable.h > index 7abc103..06a8a12 100644 > --- a/MdePkg/Include/Guid/GlobalVariable.h > +++ b/MdePkg/Include/Guid/GlobalVariable.h > @@ -182,5 +182,12 @@ extern EFI_GUID gEfiGlobalVariableGuid; /// Its > attribute is BS+RT. > /// > #define EFI_VENDOR_KEYS_VARIABLE_NAME L"VendorKeys" > +/// > +/// Bitmask of which calls are implemented by the firmware during runtime > services. > +/// RT access is required only if GetVariable() is implemented by runtime > services. > +/// Should be treated as read-only. > +/// Its attribute is BS+RT. > +/// > +#define EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > L"RuntimeServicesSupported" > > #endif > -- > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable 2019-11-15 17:42 [PATCH 0/3] Support for RuntimeServicesSupported global variable Jeff Brasen 2019-11-15 17:42 ` [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations Jeff Brasen 2019-11-15 17:42 ` [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable Jeff Brasen @ 2019-11-15 17:42 ` Jeff Brasen 2019-11-21 5:42 ` Ni, Ray 2019-11-19 14:19 ` [PATCH 0/3] Support for RuntimeServicesSupported global variable Liming Gao 3 siblings, 1 reply; 14+ messages in thread From: Jeff Brasen @ 2019-11-15 17:42 UTC (permalink / raw) To: edk2-devel, devel Cc: Jeff Brasen, liming.gao, michael.d.kinney, hao.a.wu, ray.ni, zhichao.gao Add support for initializing and setting the UEFI 2.8 global variable RuntimeServicesSupported based on the value of a PCD. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> --- MdeModulePkg/MdeModulePkg.dec | 18 ++++++++++++++++ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 +++++++++++++++++++++++++++++++- 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 41b9e70..a1767e4 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -2003,6 +2003,24 @@ # @Prompt Capsule On Disk relocation device path. gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOID*|0x0000002f + ## Bitmask of supported runtime services<BR> + # BIT0 - GetTime + # BIT1 - SetTime + # BIT2 - GetWakeupTime + # BIT3 - SetWakeupTime + # BIT4 - GetVariable + # BIT5 - GetNextVariableName + # BIT6 - SetVariable + # BIT7 - SetVirtualAddressMap + # BIT8 - ConvertPointer + # BIT9 - GetNextHighMonotonicCount + # BIT10 - ResetSystem + # BIT11 - UpdateCapsule + # BIT12 - QueryCapsuleCapabilites + # BIT13 - QueryVariableInfo + # @Prompt Supported Runtime services bitmask. + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported|0x3FFF|UINT16|0x00000030 + [PcdsPatchableInModule] ## Specify memory size with page number for PEI code when # Loading Module at Fixed Address feature is enabled. diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf index 9310b4d..e4ba9be 100644 --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf @@ -97,6 +97,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed ## CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport ## CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported ## CONSUMES [Depex] TRUE diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c index d387dbe..16bc593 100644 --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c @@ -40,7 +40,8 @@ CHAR16 *mReadOnlyVariables[] = { EFI_LANG_CODES_VARIABLE_NAME, EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME, - EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME + EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME, + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME }; CHAR16 *mBdsLoadOptionName[] = { @@ -626,6 +627,33 @@ BdsFormalizeOSIndicationVariable ( /** + Formalize RuntimeServicesSupported variable. + +**/ +VOID +BdsFormalizeRuntimeServicesSupportedVariable ( + VOID + ) +{ + EFI_STATUS Status; + UINT16 RuntimeServicesSupported; + + RuntimeServicesSupported = PcdGet16 (PcdRuntimeServicesSupported); + Status = gRT->SetVariable ( + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, + &gEfiGlobalVariableGuid, + EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, + sizeof(RuntimeServicesSupported), + &RuntimeServicesSupported + ); + // + // Platform needs to make sure setting volatile variable before calling 3rd party code shouldn't fail. + // + ASSERT_EFI_ERROR (Status); +} + +/** + Validate variables. **/ @@ -645,6 +673,11 @@ BdsFormalizeEfiGlobalVariable ( // Validate OSIndication related variable. // BdsFormalizeOSIndicationVariable (); + + // + // Validate Runtime Services Supported variable. + // + BdsFormalizeRuntimeServicesSupportedVariable (); } /** -- 2.7.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable 2019-11-15 17:42 ` [PATCH 3/3] MdeModulePkg/BdsDxe: Set " Jeff Brasen @ 2019-11-21 5:42 ` Ni, Ray 2019-11-21 6:12 ` Gao, Zhichao 0 siblings, 1 reply; 14+ messages in thread From: Ni, Ray @ 2019-11-21 5:42 UTC (permalink / raw) To: Jeff Brasen, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Gao, Zhichao Jeff, I suggest you add the PCD definition to MdePkg.dec because this PCD just maps to the spec defined variable RuntimeServicesSupported. And can you put this PCD to [PcdsFixedAtBuild, PcdsPatchableInModule] section only? Thanks, Ray > -----Original Message----- > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Saturday, November 16, 2019 1:43 AM > To: edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <liming.gao@intel.com>; > Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao > <zhichao.gao@intel.com> > Subject: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > RuntimeServicesSupported variable > > Add support for initializing and setting the UEFI 2.8 global variable > RuntimeServicesSupported based on the value of a PCD. > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > --- > MdeModulePkg/MdeModulePkg.dec | 18 ++++++++++++++++ > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 > +++++++++++++++++++++++++++++++- > 3 files changed, 53 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/MdeModulePkg.dec > b/MdeModulePkg/MdeModulePkg.dec index 41b9e70..a1767e4 100644 > --- a/MdeModulePkg/MdeModulePkg.dec > +++ b/MdeModulePkg/MdeModulePkg.dec > @@ -2003,6 +2003,24 @@ > # @Prompt Capsule On Disk relocation device path. > > gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOI > D*|0x0000002f > > + ## Bitmask of supported runtime services<BR> # BIT0 - GetTime # > + BIT1 - SetTime # BIT2 - GetWakeupTime # BIT3 - SetWakeupTime # > + BIT4 - GetVariable # BIT5 - GetNextVariableName # BIT6 - > + SetVariable # BIT7 - SetVirtualAddressMap # BIT8 - > + ConvertPointer # BIT9 - GetNextHighMonotonicCount # BIT10 - > + ResetSystem # BIT11 - UpdateCapsule # BIT12 - > + QueryCapsuleCapabilites # BIT13 - QueryVariableInfo # @Prompt > + Supported Runtime services bitmask. > + > + > gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported|0x3FFF > |UINT > + 16|0x00000030 > + > [PcdsPatchableInModule] > ## Specify memory size with page number for PEI code when > # Loading Module at Fixed Address feature is enabled. > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > index 9310b4d..e4ba9be 100644 > --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > @@ -97,6 +97,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed ## > CONSUMES > gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport ## > CONSUMES > gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport ## > CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported > ## CONSUMES > > [Depex] > TRUE > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > index d387dbe..16bc593 100644 > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > @@ -40,7 +40,8 @@ CHAR16 *mReadOnlyVariables[] = { > EFI_LANG_CODES_VARIABLE_NAME, > EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, > EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME, > - EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME > + EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME, > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > }; > > CHAR16 *mBdsLoadOptionName[] = { > @@ -626,6 +627,33 @@ BdsFormalizeOSIndicationVariable ( > > /** > > + Formalize RuntimeServicesSupported variable. > + > +**/ > +VOID > +BdsFormalizeRuntimeServicesSupportedVariable ( > + VOID > + ) > +{ > + EFI_STATUS Status; > + UINT16 RuntimeServicesSupported; > + > + RuntimeServicesSupported = PcdGet16 (PcdRuntimeServicesSupported); > + Status = gRT->SetVariable ( > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > + &gEfiGlobalVariableGuid, > + EFI_VARIABLE_BOOTSERVICE_ACCESS | > EFI_VARIABLE_RUNTIME_ACCESS, > + sizeof(RuntimeServicesSupported), > + &RuntimeServicesSupported > + ); > + // > + // Platform needs to make sure setting volatile variable before calling 3rd > party code shouldn't fail. > + // > + ASSERT_EFI_ERROR (Status); > +} > + > +/** > + > Validate variables. > > **/ > @@ -645,6 +673,11 @@ BdsFormalizeEfiGlobalVariable ( > // Validate OSIndication related variable. > // > BdsFormalizeOSIndicationVariable (); > + > + // > + // Validate Runtime Services Supported variable. > + // > + BdsFormalizeRuntimeServicesSupportedVariable (); > } > > /** > -- > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable 2019-11-21 5:42 ` Ni, Ray @ 2019-11-21 6:12 ` Gao, Zhichao 2019-11-21 11:26 ` [edk2-devel] " Wang, Sunny (HPS SW) 0 siblings, 1 reply; 14+ messages in thread From: Gao, Zhichao @ 2019-11-21 6:12 UTC (permalink / raw) To: Ni, Ray, Jeff Brasen, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A Agree with Ray, and we should update the uni file at the same time when add the new pcd. Thanks, Zhichao > -----Original Message----- > From: Ni, Ray <ray.ni@intel.com> > Sent: Thursday, November 21, 2019 11:13 AM > To: Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; > devel@edk2.groups.io > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Gao, > Zhichao <zhichao.gao@intel.com> > Subject: RE: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > RuntimeServicesSupported variable > > Jeff, > I suggest you add the PCD definition to MdePkg.dec because this PCD just maps > to the spec defined variable RuntimeServicesSupported. > > And can you put this PCD to [PcdsFixedAtBuild, PcdsPatchableInModule] section > only? > > Thanks, > Ray > > > -----Original Message----- > > From: Jeff Brasen <jbrasen@nvidia.com> > > Sent: Saturday, November 16, 2019 1:43 AM > > To: edk2-devel@lists.01.org; devel@edk2.groups.io > > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming > > <liming.gao@intel.com>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray > > <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> > > Subject: [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported > > variable > > > > Add support for initializing and setting the UEFI 2.8 global variable > > RuntimeServicesSupported based on the value of a PCD. > > > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > > --- > > MdeModulePkg/MdeModulePkg.dec | 18 ++++++++++++++++ > > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 > > +++++++++++++++++++++++++++++++- > > 3 files changed, 53 insertions(+), 1 deletion(-) > > > > diff --git a/MdeModulePkg/MdeModulePkg.dec > > b/MdeModulePkg/MdeModulePkg.dec index 41b9e70..a1767e4 100644 > > --- a/MdeModulePkg/MdeModulePkg.dec > > +++ b/MdeModulePkg/MdeModulePkg.dec > > @@ -2003,6 +2003,24 @@ > > # @Prompt Capsule On Disk relocation device path. > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOI > > D*|0x0000002f > > > > + ## Bitmask of supported runtime services<BR> # BIT0 - GetTime # > > + BIT1 - SetTime # BIT2 - GetWakeupTime # BIT3 - SetWakeupTime > > + # > > + BIT4 - GetVariable # BIT5 - GetNextVariableName # BIT6 - > > + SetVariable # BIT7 - SetVirtualAddressMap # BIT8 - > > + ConvertPointer # BIT9 - GetNextHighMonotonicCount # BIT10 - > > + ResetSystem # BIT11 - UpdateCapsule # BIT12 - > > + QueryCapsuleCapabilites # BIT13 - QueryVariableInfo # @Prompt > > + Supported Runtime services bitmask. > > + > > + > > gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported|0x3FFF > > |UINT > > + 16|0x00000030 > > + > > [PcdsPatchableInModule] > > ## Specify memory size with page number for PEI code when > > # Loading Module at Fixed Address feature is enabled. > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > index 9310b4d..e4ba9be 100644 > > --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > @@ -97,6 +97,7 @@ > > gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed ## > > CONSUMES > > gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport ## > > CONSUMES > > gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport ## > > CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported > > ## CONSUMES > > > > [Depex] > > TRUE > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > index d387dbe..16bc593 100644 > > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > @@ -40,7 +40,8 @@ CHAR16 *mReadOnlyVariables[] = { > > EFI_LANG_CODES_VARIABLE_NAME, > > EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, > > EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME, > > - EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME > > + EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME, > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > > }; > > > > CHAR16 *mBdsLoadOptionName[] = { > > @@ -626,6 +627,33 @@ BdsFormalizeOSIndicationVariable ( > > > > /** > > > > + Formalize RuntimeServicesSupported variable. > > + > > +**/ > > +VOID > > +BdsFormalizeRuntimeServicesSupportedVariable ( > > + VOID > > + ) > > +{ > > + EFI_STATUS Status; > > + UINT16 RuntimeServicesSupported; > > + > > + RuntimeServicesSupported = PcdGet16 (PcdRuntimeServicesSupported); > > + Status = gRT->SetVariable ( > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > > + &gEfiGlobalVariableGuid, > > + EFI_VARIABLE_BOOTSERVICE_ACCESS | > > EFI_VARIABLE_RUNTIME_ACCESS, > > + sizeof(RuntimeServicesSupported), > > + &RuntimeServicesSupported > > + ); > > + // > > + // Platform needs to make sure setting volatile variable before > > + calling 3rd > > party code shouldn't fail. > > + // > > + ASSERT_EFI_ERROR (Status); > > +} > > + > > +/** > > + > > Validate variables. > > > > **/ > > @@ -645,6 +673,11 @@ BdsFormalizeEfiGlobalVariable ( > > // Validate OSIndication related variable. > > // > > BdsFormalizeOSIndicationVariable (); > > + > > + // > > + // Validate Runtime Services Supported variable. > > + // > > + BdsFormalizeRuntimeServicesSupportedVariable (); > > } > > > > /** > > -- > > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable 2019-11-21 6:12 ` Gao, Zhichao @ 2019-11-21 11:26 ` Wang, Sunny (HPS SW) 2019-11-21 11:51 ` Ni, Ray 0 siblings, 1 reply; 14+ messages in thread From: Wang, Sunny (HPS SW) @ 2019-11-21 11:26 UTC (permalink / raw) To: devel@edk2.groups.io, zhichao.gao@intel.com, Ni, Ray, Jeff Brasen, edk2-devel@lists.01.org Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Spottswood, Jason, Wang, Sunny (HPS SW) Hi Ray, May I know why we need to put this PCD to [PcdsFixedAtBuild, PcdsPatchableInModule] section only? If the reason is the security concern, Locking the variable (value of PCD) at the EndOfDxe should be secure enough. For the platforms that want to make it more secure (don't want the PCD to be modified), they can override the PCD type in their .dsc file. I can imagine that there are still some use cases that need to modify the PCD during boot. Can we put this PCD in [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] to make it more flexible? Regards, Sunny Wang -----Original Message----- From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Gao, Zhichao Sent: Thursday, November 21, 2019 2:12 PM To: Ni, Ray <ray.ni@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; devel@edk2.groups.io Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com> Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable Agree with Ray, and we should update the uni file at the same time when add the new pcd. Thanks, Zhichao > -----Original Message----- > From: Ni, Ray <ray.ni@intel.com> > Sent: Thursday, November 21, 2019 11:13 AM > To: Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; > devel@edk2.groups.io > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Gao, > Zhichao <zhichao.gao@intel.com> > Subject: RE: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > RuntimeServicesSupported variable > > Jeff, > I suggest you add the PCD definition to MdePkg.dec because this PCD > just maps to the spec defined variable RuntimeServicesSupported. > > And can you put this PCD to [PcdsFixedAtBuild, PcdsPatchableInModule] > section only? > > Thanks, > Ray > > > -----Original Message----- > > From: Jeff Brasen <jbrasen@nvidia.com> > > Sent: Saturday, November 16, 2019 1:43 AM > > To: edk2-devel@lists.01.org; devel@edk2.groups.io > > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming > > <liming.gao@intel.com>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ni, > > Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> > > Subject: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > > RuntimeServicesSupported variable > > > > Add support for initializing and setting the UEFI 2.8 global > > variable RuntimeServicesSupported based on the value of a PCD. > > > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > > --- > > MdeModulePkg/MdeModulePkg.dec | 18 ++++++++++++++++ > > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 > > +++++++++++++++++++++++++++++++- > > 3 files changed, 53 insertions(+), 1 deletion(-) > > > > diff --git a/MdeModulePkg/MdeModulePkg.dec > > b/MdeModulePkg/MdeModulePkg.dec index 41b9e70..a1767e4 100644 > > --- a/MdeModulePkg/MdeModulePkg.dec > > +++ b/MdeModulePkg/MdeModulePkg.dec > > @@ -2003,6 +2003,24 @@ > > # @Prompt Capsule On Disk relocation device path. > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOI > > D*|0x0000002f > > > > + ## Bitmask of supported runtime services<BR> # BIT0 - GetTime > > + # > > + BIT1 - SetTime # BIT2 - GetWakeupTime # BIT3 - > > + SetWakeupTime # > > + BIT4 - GetVariable # BIT5 - GetNextVariableName # BIT6 - > > + SetVariable # BIT7 - SetVirtualAddressMap # BIT8 - > > + ConvertPointer # BIT9 - GetNextHighMonotonicCount # BIT10 - > > + ResetSystem # BIT11 - UpdateCapsule # BIT12 - > > + QueryCapsuleCapabilites # BIT13 - QueryVariableInfo # @Prompt > > + Supported Runtime services bitmask. > > + > > + > > gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported|0x3FFF > > |UINT > > + 16|0x00000030 > > + > > [PcdsPatchableInModule] > > ## Specify memory size with page number for PEI code when > > # Loading Module at Fixed Address feature is enabled. > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > index 9310b4d..e4ba9be 100644 > > --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > @@ -97,6 +97,7 @@ > > gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed ## > > CONSUMES > > gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport ## > > CONSUMES > > gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport ## > > CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported > > ## CONSUMES > > > > [Depex] > > TRUE > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > index d387dbe..16bc593 100644 > > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > @@ -40,7 +40,8 @@ CHAR16 *mReadOnlyVariables[] = { > > EFI_LANG_CODES_VARIABLE_NAME, > > EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, > > EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME, > > - EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME > > + EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME, > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > > }; > > > > CHAR16 *mBdsLoadOptionName[] = { > > @@ -626,6 +627,33 @@ BdsFormalizeOSIndicationVariable ( > > > > /** > > > > + Formalize RuntimeServicesSupported variable. > > + > > +**/ > > +VOID > > +BdsFormalizeRuntimeServicesSupportedVariable ( > > + VOID > > + ) > > +{ > > + EFI_STATUS Status; > > + UINT16 RuntimeServicesSupported; > > + > > + RuntimeServicesSupported = PcdGet16 > > + (PcdRuntimeServicesSupported); Status = gRT->SetVariable ( > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > > + &gEfiGlobalVariableGuid, > > + EFI_VARIABLE_BOOTSERVICE_ACCESS | > > EFI_VARIABLE_RUNTIME_ACCESS, > > + sizeof(RuntimeServicesSupported), > > + &RuntimeServicesSupported > > + ); > > + // > > + // Platform needs to make sure setting volatile variable before > > + calling 3rd > > party code shouldn't fail. > > + // > > + ASSERT_EFI_ERROR (Status); > > +} > > + > > +/** > > + > > Validate variables. > > > > **/ > > @@ -645,6 +673,11 @@ BdsFormalizeEfiGlobalVariable ( > > // Validate OSIndication related variable. > > // > > BdsFormalizeOSIndicationVariable (); > > + > > + // > > + // Validate Runtime Services Supported variable. > > + // > > + BdsFormalizeRuntimeServicesSupportedVariable (); > > } > > > > /** > > -- > > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable 2019-11-21 11:26 ` [edk2-devel] " Wang, Sunny (HPS SW) @ 2019-11-21 11:51 ` Ni, Ray 2019-11-22 8:10 ` Wang, Sunny (HPS SW) 0 siblings, 1 reply; 14+ messages in thread From: Ni, Ray @ 2019-11-21 11:51 UTC (permalink / raw) To: devel@edk2.groups.io, sunnywang@hpe.com, Gao, Zhichao, Jeff Brasen, edk2-devel@lists.01.org Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Spottswood, Jason Sunny, I am fine to put it to dynamic section if there are real requirements. I thought if the platform doesn't support runtime services, it always doesn't support. Thanks, Ray > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wang, Sunny (HPS SW) > Sent: Thursday, November 21, 2019 7:27 PM > To: devel@edk2.groups.io; Gao, Zhichao <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Jeff Brasen > <jbrasen@nvidia.com>; edk2-devel@lists.01.org > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A > <hao.a.wu@intel.com>; Spottswood, Jason <jason.spottswood@hpe.com>; Wang, Sunny (HPS SW) <sunnywang@hpe.com> > Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable > > Hi Ray, > > May I know why we need to put this PCD to [PcdsFixedAtBuild, PcdsPatchableInModule] section only? If the reason is the > security concern, Locking the variable (value of PCD) at the EndOfDxe should be secure enough. For the platforms that > want to make it more secure (don't want the PCD to be modified), they can override the PCD type in their .dsc file. > I can imagine that there are still some use cases that need to modify the PCD during boot. Can we put this PCD in > [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] to make it more flexible? > > Regards, > Sunny Wang > > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Gao, Zhichao > Sent: Thursday, November 21, 2019 2:12 PM > To: Ni, Ray <ray.ni@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A > <hao.a.wu@intel.com> > Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable > > Agree with Ray, and we should update the uni file at the same time when add the new pcd. > > Thanks, > Zhichao > > > -----Original Message----- > > From: Ni, Ray <ray.ni@intel.com> > > Sent: Thursday, November 21, 2019 11:13 AM > > To: Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; > > devel@edk2.groups.io > > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Gao, > > Zhichao <zhichao.gao@intel.com> > > Subject: RE: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > > RuntimeServicesSupported variable > > > > Jeff, > > I suggest you add the PCD definition to MdePkg.dec because this PCD > > just maps to the spec defined variable RuntimeServicesSupported. > > > > And can you put this PCD to [PcdsFixedAtBuild, PcdsPatchableInModule] > > section only? > > > > Thanks, > > Ray > > > > > -----Original Message----- > > > From: Jeff Brasen <jbrasen@nvidia.com> > > > Sent: Saturday, November 16, 2019 1:43 AM > > > To: edk2-devel@lists.01.org; devel@edk2.groups.io > > > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming > > > <liming.gao@intel.com>; Kinney, Michael D > > > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ni, > > > Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> > > > Subject: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > > > RuntimeServicesSupported variable > > > > > > Add support for initializing and setting the UEFI 2.8 global > > > variable RuntimeServicesSupported based on the value of a PCD. > > > > > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > > > --- > > > MdeModulePkg/MdeModulePkg.dec | 18 ++++++++++++++++ > > > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > > > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 > > > +++++++++++++++++++++++++++++++- > > > 3 files changed, 53 insertions(+), 1 deletion(-) > > > > > > diff --git a/MdeModulePkg/MdeModulePkg.dec > > > b/MdeModulePkg/MdeModulePkg.dec index 41b9e70..a1767e4 100644 > > > --- a/MdeModulePkg/MdeModulePkg.dec > > > +++ b/MdeModulePkg/MdeModulePkg.dec > > > @@ -2003,6 +2003,24 @@ > > > # @Prompt Capsule On Disk relocation device path. > > > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOI > > > D*|0x0000002f > > > > > > + ## Bitmask of supported runtime services<BR> # BIT0 - GetTime > > > + # > > > + BIT1 - SetTime # BIT2 - GetWakeupTime # BIT3 - > > > + SetWakeupTime # > > > + BIT4 - GetVariable # BIT5 - GetNextVariableName # BIT6 - > > > + SetVariable # BIT7 - SetVirtualAddressMap # BIT8 - > > > + ConvertPointer # BIT9 - GetNextHighMonotonicCount # BIT10 - > > > + ResetSystem # BIT11 - UpdateCapsule # BIT12 - > > > + QueryCapsuleCapabilites # BIT13 - QueryVariableInfo # @Prompt > > > + Supported Runtime services bitmask. > > > + > > > + > > > gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported|0x3FFF > > > |UINT > > > + 16|0x00000030 > > > + > > > [PcdsPatchableInModule] > > > ## Specify memory size with page number for PEI code when > > > # Loading Module at Fixed Address feature is enabled. > > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > index 9310b4d..e4ba9be 100644 > > > --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > @@ -97,6 +97,7 @@ > > > gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed ## > > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport ## > > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport ## > > > CONSUMES > > > + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported > > > ## CONSUMES > > > > > > [Depex] > > > TRUE > > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > index d387dbe..16bc593 100644 > > > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > @@ -40,7 +40,8 @@ CHAR16 *mReadOnlyVariables[] = { > > > EFI_LANG_CODES_VARIABLE_NAME, > > > EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, > > > EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME, > > > - EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME > > > + EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME, > > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > > > }; > > > > > > CHAR16 *mBdsLoadOptionName[] = { > > > @@ -626,6 +627,33 @@ BdsFormalizeOSIndicationVariable ( > > > > > > /** > > > > > > + Formalize RuntimeServicesSupported variable. > > > + > > > +**/ > > > +VOID > > > +BdsFormalizeRuntimeServicesSupportedVariable ( > > > + VOID > > > + ) > > > +{ > > > + EFI_STATUS Status; > > > + UINT16 RuntimeServicesSupported; > > > + > > > + RuntimeServicesSupported = PcdGet16 > > > + (PcdRuntimeServicesSupported); Status = gRT->SetVariable ( > > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > > > + &gEfiGlobalVariableGuid, > > > + EFI_VARIABLE_BOOTSERVICE_ACCESS | > > > EFI_VARIABLE_RUNTIME_ACCESS, > > > + sizeof(RuntimeServicesSupported), > > > + &RuntimeServicesSupported > > > + ); > > > + // > > > + // Platform needs to make sure setting volatile variable before > > > + calling 3rd > > > party code shouldn't fail. > > > + // > > > + ASSERT_EFI_ERROR (Status); > > > +} > > > + > > > +/** > > > + > > > Validate variables. > > > > > > **/ > > > @@ -645,6 +673,11 @@ BdsFormalizeEfiGlobalVariable ( > > > // Validate OSIndication related variable. > > > // > > > BdsFormalizeOSIndicationVariable (); > > > + > > > + // > > > + // Validate Runtime Services Supported variable. > > > + // > > > + BdsFormalizeRuntimeServicesSupportedVariable (); > > > } > > > > > > /** > > > -- > > > 2.7.4 > > > > > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable 2019-11-21 11:51 ` Ni, Ray @ 2019-11-22 8:10 ` Wang, Sunny (HPS SW) 0 siblings, 0 replies; 14+ messages in thread From: Wang, Sunny (HPS SW) @ 2019-11-22 8:10 UTC (permalink / raw) To: Ni, Ray, devel@edk2.groups.io, Gao, Zhichao, Jeff Brasen, edk2-devel@lists.01.org Cc: Gao, Liming, Kinney, Michael D, Wu, Hao A, Spottswood, Jason Thanks for the clarification, Ray. Regards, Sunny Wang -----Original Message----- From: Ni, Ray [mailto:ray.ni@intel.com] Sent: Thursday, November 21, 2019 7:51 PM To: devel@edk2.groups.io; Wang, Sunny (HPS SW) <sunnywang@hpe.com>; Gao, Zhichao <zhichao.gao@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Spottswood, Jason <jason.spottswood@hpe.com> Subject: RE: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable Importance: High Sunny, I am fine to put it to dynamic section if there are real requirements. I thought if the platform doesn't support runtime services, it always doesn't support. Thanks, Ray > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wang, > Sunny (HPS SW) > Sent: Thursday, November 21, 2019 7:27 PM > To: devel@edk2.groups.io; Gao, Zhichao <zhichao.gao@intel.com>; Ni, > Ray <ray.ni@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; > edk2-devel@lists.01.org > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; > Spottswood, Jason <jason.spottswood@hpe.com>; Wang, Sunny (HPS SW) > <sunnywang@hpe.com> > Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set > RuntimeServicesSupported variable > > Hi Ray, > > May I know why we need to put this PCD to [PcdsFixedAtBuild, > PcdsPatchableInModule] section only? If the reason is the security > concern, Locking the variable (value of PCD) at the EndOfDxe should be secure enough. For the platforms that want to make it more secure (don't want the PCD to be modified), they can override the PCD type in their .dsc file. > I can imagine that there are still some use cases that need to modify > the PCD during boot. Can we put this PCD in [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] to make it more flexible? > > Regards, > Sunny Wang > > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Gao, Zhichao > Sent: Thursday, November 21, 2019 2:12 PM > To: Ni, Ray <ray.ni@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; > edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com> > Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/BdsDxe: Set > RuntimeServicesSupported variable > > Agree with Ray, and we should update the uni file at the same time when add the new pcd. > > Thanks, > Zhichao > > > -----Original Message----- > > From: Ni, Ray <ray.ni@intel.com> > > Sent: Thursday, November 21, 2019 11:13 AM > > To: Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org; > > devel@edk2.groups.io > > Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Gao, > > Zhichao <zhichao.gao@intel.com> > > Subject: RE: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > > RuntimeServicesSupported variable > > > > Jeff, > > I suggest you add the PCD definition to MdePkg.dec because this PCD > > just maps to the spec defined variable RuntimeServicesSupported. > > > > And can you put this PCD to [PcdsFixedAtBuild, > > PcdsPatchableInModule] section only? > > > > Thanks, > > Ray > > > > > -----Original Message----- > > > From: Jeff Brasen <jbrasen@nvidia.com> > > > Sent: Saturday, November 16, 2019 1:43 AM > > > To: edk2-devel@lists.01.org; devel@edk2.groups.io > > > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming > > > <liming.gao@intel.com>; Kinney, Michael D > > > <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ni, > > > Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> > > > Subject: [PATCH 3/3] MdeModulePkg/BdsDxe: Set > > > RuntimeServicesSupported variable > > > > > > Add support for initializing and setting the UEFI 2.8 global > > > variable RuntimeServicesSupported based on the value of a PCD. > > > > > > Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> > > > --- > > > MdeModulePkg/MdeModulePkg.dec | 18 ++++++++++++++++ > > > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > > > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 > > > +++++++++++++++++++++++++++++++- > > > 3 files changed, 53 insertions(+), 1 deletion(-) > > > > > > diff --git a/MdeModulePkg/MdeModulePkg.dec > > > b/MdeModulePkg/MdeModulePkg.dec index 41b9e70..a1767e4 100644 > > > --- a/MdeModulePkg/MdeModulePkg.dec > > > +++ b/MdeModulePkg/MdeModulePkg.dec > > > @@ -2003,6 +2003,24 @@ > > > # @Prompt Capsule On Disk relocation device path. > > > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOI > > > D*|0x0000002f > > > > > > + ## Bitmask of supported runtime services<BR> # BIT0 - > > > + GetTime # > > > + BIT1 - SetTime # BIT2 - GetWakeupTime # BIT3 - > > > + SetWakeupTime # > > > + BIT4 - GetVariable # BIT5 - GetNextVariableName # BIT6 - > > > + SetVariable # BIT7 - SetVirtualAddressMap # BIT8 - > > > + ConvertPointer # BIT9 - GetNextHighMonotonicCount # BIT10 - > > > + ResetSystem # BIT11 - UpdateCapsule # BIT12 - > > > + QueryCapsuleCapabilites # BIT13 - QueryVariableInfo # @Prompt > > > + Supported Runtime services bitmask. > > > + > > > + > > > gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported|0x3FFF > > > |UINT > > > + 16|0x00000030 > > > + > > > [PcdsPatchableInModule] > > > ## Specify memory size with page number for PEI code when > > > # Loading Module at Fixed Address feature is enabled. > > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > index 9310b4d..e4ba9be 100644 > > > --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > @@ -97,6 +97,7 @@ > > > gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed ## > > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport ## > > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport ## > > > CONSUMES > > > + gEfiMdeModulePkgTokenSpaceGuid.PcdRuntimeServicesSupported > > > ## CONSUMES > > > > > > [Depex] > > > TRUE > > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > index d387dbe..16bc593 100644 > > > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > > > @@ -40,7 +40,8 @@ CHAR16 *mReadOnlyVariables[] = { > > > EFI_LANG_CODES_VARIABLE_NAME, > > > EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, > > > EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME, > > > - EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME > > > + EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME, > > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME > > > }; > > > > > > CHAR16 *mBdsLoadOptionName[] = { > > > @@ -626,6 +627,33 @@ BdsFormalizeOSIndicationVariable ( > > > > > > /** > > > > > > + Formalize RuntimeServicesSupported variable. > > > + > > > +**/ > > > +VOID > > > +BdsFormalizeRuntimeServicesSupportedVariable ( > > > + VOID > > > + ) > > > +{ > > > + EFI_STATUS Status; > > > + UINT16 RuntimeServicesSupported; > > > + > > > + RuntimeServicesSupported = PcdGet16 > > > + (PcdRuntimeServicesSupported); Status = gRT->SetVariable ( > > > + EFI_RUNTIME_SERVICES_SUPPORTED_VARIABLE_NAME, > > > + &gEfiGlobalVariableGuid, > > > + EFI_VARIABLE_BOOTSERVICE_ACCESS | > > > EFI_VARIABLE_RUNTIME_ACCESS, > > > + sizeof(RuntimeServicesSupported), > > > + &RuntimeServicesSupported > > > + ); > > > + // > > > + // Platform needs to make sure setting volatile variable before > > > + calling 3rd > > > party code shouldn't fail. > > > + // > > > + ASSERT_EFI_ERROR (Status); > > > +} > > > + > > > +/** > > > + > > > Validate variables. > > > > > > **/ > > > @@ -645,6 +673,11 @@ BdsFormalizeEfiGlobalVariable ( > > > // Validate OSIndication related variable. > > > // > > > BdsFormalizeOSIndicationVariable (); > > > + > > > + // > > > + // Validate Runtime Services Supported variable. > > > + // > > > + BdsFormalizeRuntimeServicesSupportedVariable (); > > > } > > > > > > /** > > > -- > > > 2.7.4 > > > > > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] Support for RuntimeServicesSupported global variable 2019-11-15 17:42 [PATCH 0/3] Support for RuntimeServicesSupported global variable Jeff Brasen ` (2 preceding siblings ...) 2019-11-15 17:42 ` [PATCH 3/3] MdeModulePkg/BdsDxe: Set " Jeff Brasen @ 2019-11-19 14:19 ` Liming Gao 2019-11-19 18:50 ` Jeff Brasen 3 siblings, 1 reply; 14+ messages in thread From: Liming Gao @ 2019-11-19 14:19 UTC (permalink / raw) To: Jeff Brasen, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Kinney, Michael D, Wu, Hao A, Ni, Ray, Gao, Zhichao Jeff: This patch set is a new feature support. Now, edk2 enters into soft feature freeze. No feature is allowed to be added. So, this feature will not catch edk2 2019 stable tag. Thanks Liming > -----Original Message----- > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Saturday, November 16, 2019 1:43 AM > To: edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao > A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> > Subject: [PATCH 0/3] Support for RuntimeServicesSupported global variable > > Add support for the new UEFI 2.8 runtime services supported variable > that is used to indicate which runtime services a platform supports. > Also, add support for initializing this variable based on a PCD. > > Jeff Brasen (3): > MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations > MdePkg/MdeModule: Add support for RuntimeServicesSupported variable > MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable > > .../VarCheckUefiLib/VarCheckUefiLibNullClass.c | 11 +++++++ > MdeModulePkg/MdeModulePkg.dec | 18 +++++++++++ > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 +++++++++++++++++++++- > MdePkg/Include/Guid/GlobalVariable.h | 7 +++++ > MdePkg/Include/Uefi/UefiSpec.h | 18 +++++++++++ > 6 files changed, 89 insertions(+), 1 deletion(-) > > -- > 2.7.4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] Support for RuntimeServicesSupported global variable 2019-11-19 14:19 ` [PATCH 0/3] Support for RuntimeServicesSupported global variable Liming Gao @ 2019-11-19 18:50 ` Jeff Brasen 0 siblings, 0 replies; 14+ messages in thread From: Jeff Brasen @ 2019-11-19 18:50 UTC (permalink / raw) To: Gao, Liming, edk2-devel@lists.01.org, devel@edk2.groups.io Cc: Kinney, Michael D, Wu, Hao A, Ni, Ray, Gao, Zhichao [-- Attachment #1: Type: text/plain, Size: 2729 bytes --] Not a problem, I expected that, just wanted to get this up for review so it can go in after the freeze is over. Thanks, Jeff ________________________________ From: Gao, Liming <liming.gao@intel.com> Sent: Tuesday, November 19, 2019 7:19 AM To: Jeff Brasen <jbrasen@nvidia.com>; edk2-devel@lists.01.org <edk2-devel@lists.01.org>; devel@edk2.groups.io <devel@edk2.groups.io> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> Subject: RE: [PATCH 0/3] Support for RuntimeServicesSupported global variable Jeff: This patch set is a new feature support. Now, edk2 enters into soft feature freeze. No feature is allowed to be added. So, this feature will not catch edk2 2019 stable tag. Thanks Liming > -----Original Message----- > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Saturday, November 16, 2019 1:43 AM > To: edk2-devel@lists.01.org; devel@edk2.groups.io > Cc: Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Wu, Hao > A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com> > Subject: [PATCH 0/3] Support for RuntimeServicesSupported global variable > > Add support for the new UEFI 2.8 runtime services supported variable > that is used to indicate which runtime services a platform supports. > Also, add support for initializing this variable based on a PCD. > > Jeff Brasen (3): > MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations > MdePkg/MdeModule: Add support for RuntimeServicesSupported variable > MdeModulePkg/BdsDxe: Set RuntimeServicesSupported variable > > .../VarCheckUefiLib/VarCheckUefiLibNullClass.c | 11 +++++++ > MdeModulePkg/MdeModulePkg.dec | 18 +++++++++++ > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 35 +++++++++++++++++++++- > MdePkg/Include/Guid/GlobalVariable.h | 7 +++++ > MdePkg/Include/Uefi/UefiSpec.h | 18 +++++++++++ > 6 files changed, 89 insertions(+), 1 deletion(-) > > -- > 2.7.4 ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- [-- Attachment #2: Type: text/html, Size: 4500 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2019-11-22 8:10 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-11-15 17:42 [PATCH 0/3] Support for RuntimeServicesSupported global variable Jeff Brasen 2019-11-15 17:42 ` [PATCH 1/3] MdePkg-UefiSpec.h: Add UEFI 2.8 RuntimeServicesSuppported definations Jeff Brasen 2019-11-21 5:44 ` Ni, Ray 2019-11-15 17:42 ` [PATCH 2/3] MdePkg/MdeModule: Add support for RuntimeServicesSupported variable Jeff Brasen 2019-11-21 5:45 ` Ni, Ray 2019-11-21 6:24 ` Zeng, Star 2019-11-15 17:42 ` [PATCH 3/3] MdeModulePkg/BdsDxe: Set " Jeff Brasen 2019-11-21 5:42 ` Ni, Ray 2019-11-21 6:12 ` Gao, Zhichao 2019-11-21 11:26 ` [edk2-devel] " Wang, Sunny (HPS SW) 2019-11-21 11:51 ` Ni, Ray 2019-11-22 8:10 ` Wang, Sunny (HPS SW) 2019-11-19 14:19 ` [PATCH 0/3] Support for RuntimeServicesSupported global variable Liming Gao 2019-11-19 18:50 ` Jeff Brasen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox