[edk2-devel] [PATCH 3/4] MdePkg: Add EFI_PROPERTIES_TABLE

Zhiguang Liu zhiguang.liu at intel.com
Mon Apr 27 09:04:03 UTC 2020


Hi Oleksiy,
I have added my comment inline.
And as I mentioned before, please use ECC check tool or PatchCheck.py to make sure your patch is align with edk2 coding style. Thanks
You can also refer to https://github.com/tianocore/tianocore.github.io/wiki/Code-Style-C to check edk2 C code style.

Thanks
Zhiguang

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Oleksiy
> Yakovlev
> Sent: Saturday, April 11, 2020 3:58 AM
> To: devel at edk2.groups.io
> Cc: Gao, Liming <liming.gao at intel.com>; Kinney, Michael D
> <michael.d.kinney at intel.com>; Felixp at ami.com; oleksiyy at ami.com
> Subject: [edk2-devel] [PATCH 3/4] MdePkg: Add EFI_PROPERTIES_TABLE
> 
> Define Guid & data structure for EFI_RT _PROPERTIES_TABLE, designed to be

The space in "EFI_RT _PROPERTIES_TABLE" is unnecessary.

> published by a
> platform if it no longer  supports all EFI runtime services once
> ExitBootServices()
> has been called by the OS.
> (UEFI 2.8 errata a, mantis 2049)
> 
> Signed-off-by: Oleksiy Yakovlev <oleksiyy at ami.com>
> ---
>  MdePkg/Include/Guid/RtPropertiesTable.h | 71
> +++++++++++++++++++++++++++++++++
>  MdePkg/MdePkg.dec                       |  6 +++
>  2 files changed, 77 insertions(+)
>  create mode 100644 MdePkg/Include/Guid/RtPropertiesTable.h
> 
> diff --git a/MdePkg/Include/Guid/RtPropertiesTable.h
> b/MdePkg/Include/Guid/RtPropertiesTable.h
> new file mode 100644
> index 0000000..a5b6c14
> --- /dev/null
> +++ b/MdePkg/Include/Guid/RtPropertiesTable.h
> @@ -0,0 +1,71 @@
> +/** @file
> +Guid & data structure for EFI_RT _PROPERTIES_TABLE, designed to be

The space in "EFI_RT _PROPERTIES_TABLE" is unnecessary.

> published by a
> +platform if it no longer  supports all EFI runtime services once
> ExitBootServices()
> +has been called by the OS.
> +
> +
> +Copyright (c) 2020, American Megatrends International LLC. All rights
> reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef _RT _PROPERTIES_TABLE_GUID_H__
> +#define _RT _PROPERTIES_TABLE_GUID_H__
> +
> +//
> +// Table, defined here, should be published by a platform if it no longer
> supports all EFI runtime
> +// services once ExitBootServices() has been called by the OS. Note that this
> is merely a hint
> +// to the OS, which it is free to ignore, and so the platform is still required to
> provide callable
> +// implementations of unsupported runtime services that simply return
> EFI_UNSUPPORTED.
> +//
> +#define EFI_RT_PROPERTIES_TABLE_GUID \
> +    { 0xeb66918a, 0x7eef, 0x402a, \
> +    { 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }}
> +
> +
> +
> +
> +#pragma pack(1)
> +
> +typedef struct {
> +  ///
> +  /// Version of the structure, must be 0x1.
> +  ///
> +  UINT16 Version;
> +
> +  ///
> +  /// Size in bytes of the entire EFI_RT_PROPERTIES_TABLE, must be 8.
> +  ///
> +  UINT16 Length;
> +
> +  ///
> +  /// The length of the JSON payload immediately following this header, in
> bytes.
> +  ///

The upper comments is incorrect.

> +  UINT32 RuntimeServicesSupported;
> +
> +  ///
> +  /// Bitmask of which calls are or are not supported, where a bit set to 1
> indicates
> +  /// that the call is supported, and 0 indicates that it is not.
> +  ///

Move the comment up to describe RuntimeServicesSupported

> +} EFI_RT_PROPERTIES_TABLE;
> +
> +#pragma pack()
> +

I think " #define EFI_RT_PROPERTIES_TABLE_VERSION 0x1" should be added

> +#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
> +
> +extern EFI_GUID gEfiRtPropertiesTableGuid;
> +
> +#endif
> diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
> index 99e75f7..d5340c5 100644
> --- a/MdePkg/MdePkg.dec
> +++ b/MdePkg/MdePkg.dec
> @@ -655,6 +655,12 @@
>    gEfiBttAbstractionGuid         = { 0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9,
> 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 }}
> 
>    #
> +  # GUIDs defined in UEFI2.8a
> +  #
> +  ## Include/Guid/RtPropertiesTable.h
> +  gEfiRtPropertiesTableGuid      = { 0xeb66918a, 0x7eef, 0x402a, { 0x84, 0x2e,
> 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }}
> +
> +  #
>    # GUID defined in PI1.0
>    #
>    ## Include/Guid/AprioriFileName.h
> --
> 2.9.0.windows.1
> 
> 
> Please consider the environment before printing this email.
> 
> The information contained in this message may be confidential and
> proprietary to American Megatrends (AMI).  This communication is intended
> to be read only by the individual or entity to whom it is addressed or by their
> designee. If the reader of this message is not the intended recipient, you are
> on notice that any distribution of this message, in any form, is strictly
> prohibited.  Please promptly notify the sender by reply e-mail or by
> telephone at 770-246-8600, and then delete or destroy all copies of the
> transmission.
> 
> 


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

View/Reply Online (#58166): https://edk2.groups.io/g/devel/message/58166
Mute This Topic: https://groups.io/mt/72930097/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list