[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