Reviewed-by: Liming Gao <liming....@intel.com> > -----Original Message----- > From: Oleksiy Yakovlev <oleks...@ami.com> > Sent: Wednesday, May 13, 2020 6:06 AM > To: devel@edk2.groups.io > Cc: Gao, Liming <liming....@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Wang, Jian J <jian.j.w...@intel.com>; Wu, > Hao A <hao.a...@intel.com>; Yao, Jiewen <jiewen....@intel.com>; Zhang, Chao B > <chao.b.zh...@intel.com>; fel...@ami.com; > oleks...@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 <oleks...@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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-