public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "Ren, SuqiangX" <suqiangx.ren@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Gao, Liming" <gaoliming@byosoft.com.cn>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH 1/1] MdePkg: Add EFI_UNSUPPORTED return for some Runtime Service functions
Date: Tue, 23 Jan 2024 01:07:50 +0000	[thread overview]
Message-ID: <CO1PR11MB49295A308271D37A40738E73D2742@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CO1PR11MB491649815E4B9D9E66F58C6896682@CO1PR11MB4916.namprd11.prod.outlook.com>

Hi Suqiang,

The changes to this one .h file look ok.

However, there are implementations of the Runtime Services in the edk2 repo
that also need their function headers updates.  Can you please add those
changes to this patch series?

Thanks,

Mike





> -----Original Message-----
> From: Ren, SuqiangX <suqiangx.ren@intel.com>
> Sent: Thursday, January 11, 2024 1:05 AM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>
> Subject: RE: [edk2-devel] [PATCH 1/1] MdePkg: Add EFI_UNSUPPORTED return
> for some Runtime Service functions
> 
> Hi All,
> 
> 	Any comments about this patch?
> 
> Thanks
> Ren, Suqiang
> 
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ren,
> Suqiang
> Sent: Wednesday, December 27, 2023 4:47 PM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>
> Subject: [edk2-devel] [PATCH 1/1] MdePkg: Add EFI_UNSUPPORTED return for
> some Runtime Service functions
> 
> According to UEFI Spec 2.10 page 206, if any EFI_RUNTIME_SERVICES* calls
> are not supported for use by the OS at runtime, an
> EFI_RT_PROPERTIES_TABLE configuration table should be published
> describing which runtime services are supported at runtime. So need to
> add EFI_UNSUPPORTED return for some Runtime Service functions.
> 
> REF: UEFI spec 2.10 section 8 Services — Runtime Services
> 
> Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> ---
>  MdePkg/Include/Uefi/UefiSpec.h | 40 ++++++++++++++++++++++++++++++++--
>  1 file changed, 38 insertions(+), 2 deletions(-)
> 
> diff --git a/MdePkg/Include/Uefi/UefiSpec.h
> b/MdePkg/Include/Uefi/UefiSpec.h index 5de00e8ea2af..b25485b06763 100644
> --- a/MdePkg/Include/Uefi/UefiSpec.h
> +++ b/MdePkg/Include/Uefi/UefiSpec.h
> @@ -320,6 +320,9 @@ EFI_STATUS
>                                  map that requires a mapping.
>    @retval EFI_NOT_FOUND         A virtual address was supplied for an
> address that is not found
>                                  in the memory map.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -415,6 +418,9 @@ EFI_STATUS
>                                  not have the EFI_OPTIONAL_PTR bit set.
>    @retval EFI_NOT_FOUND         The pointer pointed to by Address was
> not found to be part
>                                  of the current memory map. This is
> normally fatal.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -679,6 +685,10 @@ VOID
>    @retval EFI_INVALID_PARAMETER  The DataSize is not too small and Data
> is NULL.
>    @retval EFI_DEVICE_ERROR       The variable could not be retrieved
> due to a hardware error.
>    @retval EFI_SECURITY_VIOLATION The variable could not be retrieved
> due to an authentication failure.
> +  @retval EFI_UNSUPPORTED        After ExitBootServices() has been
> called, this return code may be returned
> +                                 if no variable storage is supported.
> The platform should describe this
> +                                 runtime service as unsupported at
> runtime via an EFI_RT_PROPERTIES_TABLE
> +                                 configuration table.
> 
>  **/
>  typedef
> @@ -715,6 +725,10 @@ EFI_STATUS
>    @retval EFI_INVALID_PARAMETER Null-terminator is not found in the
> first VariableNameSize bytes of
>                                  the input VariableName buffer.
>    @retval EFI_DEVICE_ERROR      The variable could not be retrieved due
> to a hardware error.
> +  @retval EFI_UNSUPPORTED       After ExitBootServices() has been
> called, this return code may be returned
> +                                if no variable storage is supported.
> The platform should describe this
> +                                runtime service as unsupported at
> runtime via an EFI_RT_PROPERTIES_TABLE
> +                                configuration table.
> 
>  **/
>  typedef
> @@ -757,6 +771,9 @@ EFI_STATUS
>                                   but the AuthInfo does NOT pass the
> validation check carried out by the firmware.
> 
>    @retval EFI_NOT_FOUND          The variable trying to be updated or
> deleted was not found.
> +  @retval EFI_UNSUPPORTED        This call is not supported by this
> platform at the time the call is made.
> +                                 The platform should describe this
> runtime service as unsupported at runtime
> +                                 via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -809,6 +826,9 @@ typedef struct {
>    @retval EFI_SUCCESS           The operation completed successfully.
>    @retval EFI_INVALID_PARAMETER Time is NULL.
>    @retval EFI_DEVICE_ERROR      The time could not be retrieved due to
> hardware error.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -826,6 +846,9 @@ EFI_STATUS
>    @retval EFI_SUCCESS           The operation completed successfully.
>    @retval EFI_INVALID_PARAMETER A time field is out of range.
>    @retval EFI_DEVICE_ERROR      The time could not be set due due to
> hardware error.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -846,7 +869,9 @@ EFI_STATUS
>    @retval EFI_INVALID_PARAMETER Pending is NULL.
>    @retval EFI_INVALID_PARAMETER Time is NULL.
>    @retval EFI_DEVICE_ERROR      The wakeup time could not be retrieved
> due to a hardware error.
> -  @retval EFI_UNSUPPORTED       A wakeup timer is not supported on this
> platform.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -868,7 +893,9 @@ EFI_STATUS
>                                  Enable is FALSE, then the wakeup alarm
> was disabled.
>    @retval EFI_INVALID_PARAMETER A time field is out of range.
>    @retval EFI_DEVICE_ERROR      The wakeup time could not be set due to
> a hardware error.
> -  @retval EFI_UNSUPPORTED       A wakeup timer is not supported on this
> platform.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -1090,6 +1117,9 @@ EFI_STATUS
>    @retval EFI_SUCCESS           The next high monotonic count was
> returned.
>    @retval EFI_INVALID_PARAMETER HighCount is NULL.
>    @retval EFI_DEVICE_ERROR      The device is not functioning properly.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -1716,6 +1746,9 @@ typedef struct {
>                                  in runtime. The caller may resubmit the
> capsule prior to ExitBootServices().
>    @retval EFI_OUT_OF_RESOURCES  When ExitBootServices() has not been
> previously called then this error indicates
>                                  the capsule is compatible with this
> platform but there are insufficient resources to process.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> @@ -1747,6 +1780,9 @@ EFI_STATUS
>                                  in runtime. The caller may resubmit the
> capsule prior to ExitBootServices().
>    @retval EFI_OUT_OF_RESOURCES  When ExitBootServices() has not been
> previously called then this error indicates
>                                  the capsule is compatible with this
> platform but there are insufficient resources to process.
> +  @retval EFI_UNSUPPORTED       This call is not supported by this
> platform at the time the call is made.
> +                                The platform should describe this
> runtime service as unsupported at runtime
> +                                via an EFI_RT_PROPERTIES_TABLE
> configuration table.
> 
>  **/
>  typedef
> --
> 2.26.2.windows.1
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114158): https://edk2.groups.io/g/devel/message/114158
Mute This Topic: https://groups.io/mt/103382190/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2024-01-23  1:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1703666756.git.suqiangx.ren@intel.com>
2023-12-27  8:46 ` [edk2-devel] [PATCH 1/1] MdePkg: Add EFI_UNSUPPORTED return for some Runtime Service functions Ren, Suqiang
     [not found] ` <17A4A3F1B91C144F.18542@groups.io>
2024-01-11  9:04   ` Ren, Suqiang
2024-01-19  9:29     ` Ren, Suqiang
2024-01-23  1:07     ` Michael D Kinney [this message]
2024-01-29  2:41       ` Ren, Suqiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO1PR11MB49295A308271D37A40738E73D2742@CO1PR11MB4929.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox