[edk2-devel] [PATCH V4 3/6] MdePkg: Add EFI_RT_PROPERTIES_TABLE

Liming Gao liming.gao at intel.com
Wed May 13 16:32:31 UTC 2020


Reviewed-by: Liming Gao <liming.gao at intel.com>

> -----Original Message-----
> From: Oleksiy Yakovlev <oleksiyy at ami.com>
> Sent: Wednesday, May 13, 2020 6:06 AM
> To: devel at edk2.groups.io
> Cc: Gao, Liming <liming.gao at intel.com>; Kinney, Michael D <michael.d.kinney at intel.com>; Wang, Jian J <jian.j.wang at intel.com>; Wu,
> Hao A <hao.a.wu at intel.com>; Yao, Jiewen <jiewen.yao at intel.com>; Zhang, Chao B <chao.b.zhang at intel.com>; Felixp at ami.com;
> oleksiyy at ami.com
> Subject: [PATCH V4 3/6] MdePkg: Add EFI_RT_PROPERTIES_TABLE
> 
> Define Guid & data structure for EFI_RT_PROPERTIES_TABLE, designed
> to be 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 | 69 +++++++++++++++++++++++++++++++++
>  MdePkg/MdePkg.dec                       |  5 +++
>  2 files changed, 74 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..1b07bf2
> --- /dev/null
> +++ b/MdePkg/Include/Guid/RtPropertiesTable.h
> @@ -0,0 +1,69 @@
> +/** @file
> +Guid & data structure for EFI_RT _PROPERTIES_TABLE, designed to be published by a
> +platform if it no longer  supports all EFI runtime services once ExitBootServices()
> +has been called by the OS. Introduced in UEFI 2.8a.
> +
> +
> +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;
> +
> +  ///
> +  /// 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.
> +  ///
> +  UINT32 RuntimeServicesSupported;
> +} EFI_RT_PROPERTIES_TABLE;
> +
> +#pragma pack()
> +
> +#define EFI_RT_PROPERTIES_TABLE_VERSION 0x1
> +
> +#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 ecd7822..0dd20ad 100644
> --- a/MdePkg/MdePkg.dec
> +++ b/MdePkg/MdePkg.dec
> @@ -654,6 +654,11 @@
>    ## Include/Guid/Btt.h
>    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
>    #
> --
> 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 (#59446): https://edk2.groups.io/g/devel/message/59446
Mute This Topic: https://groups.io/mt/74169594/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