From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atlmailgw1.ami.com (atlmailgw1.ami.com []) by mx.groups.io with SMTP id smtpd.web11.4762.1586548746457454550 for ; Fri, 10 Apr 2020 12:59:07 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: ami.com, ip: , mailfrom: oleksiyy@ami.com) X-AuditID: ac1060b2-0e1ff700000018d4-c2-5e90d00a93a8 Received: from atlms1.us.megatrends.com (atlms1.us.megatrends.com [172.16.96.144]) (using TLS with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client did not present a certificate) by atlmailgw1.ami.com (Symantec Messaging Gateway) with SMTP id 7A.1C.06356.B00D09E5; Fri, 10 Apr 2020 15:59:07 -0400 (EDT) Received: from Oleksiy77.us.megatrends.com (172.16.97.158) by atlms1.us.megatrends.com (172.16.96.144) with Microsoft SMTP Server id 14.3.468.0; Fri, 10 Apr 2020 15:58:09 -0400 From: "Oleksiy Yakovlev" To: CC: , , , Subject: [PATCH 3/4] MdePkg: Add EFI_PROPERTIES_TABLE Date: Fri, 10 Apr 2020 15:58:02 -0400 Message-ID: <20200410195803.19972-4-oleksiyy@ami.com> X-Mailer: git-send-email 2.9.0.windows.1 In-Reply-To: <20200410195803.19972-1-oleksiyy@ami.com> References: <20200410195803.19972-1-oleksiyy@ami.com> MIME-Version: 1.0 Return-Path: oleksiyy@ami.com X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDIsWRmVeSWpSXmKPExsWyRiBhgi73hQlxButW8Vq0T5jNZrHi3gZ2 i46Of0wOzB7bv19g9Fi85yVTAFNUA6NNYl5efkliSapCSmpxsq1SQFFmWWJypZJCZoqtkqGS QkFOYnJqbmpeia1SYkFBal6Kkh2XAgawASrLzFNIzUvOT8nMS7dV8gz217WwMLXUNVSyC8lI VcjMS8svyk0syczPU0jOzysBqk5NAYoqJHRzZlw7vYit4IhcxaMvXUwNjB/Euxg5OSQETCS+ Lf/G1MXIxSEksItJ4uKC9VDOFkaJCQ9OM4FUsQloShw4NoURxBYRkJKYcmAmWJxZIEHi7o17 bF2MHBzCAqYSd2aYgZgsAqoSx3aXgFTwAkV/HH/LDrFLQ2LamrtMICWcAmYSO6fZg5hCQCWT 1wRDVAtKnJz5hAVitoTEwRcvmEFsIQFZibbjz9knMPLPQlI2C0nZAkamVYxCiSU5uYmZOenl hnqJuZl6yfm5mxghUbVpB2PLRfNDjEwcjIcYJTiYlUR4vZt644R4UxIrq1KL8uOLSnNSiw8x OgFdP5FZihsUesDoiDc2MJAShXEMTcxMzI3MDS1NzI2NlcR5a/R94oQE0oHRmp2aWpBaBDOE iYNTqoGxbk5/nuCX9h9XLB23Hvf1bluh5bns7CXuA3tKcuKl1k5pXKnwVnf/Zzvt25wb/11b 73sg5lNTspfQZJMnLgwLpoUp73E7WCH4L3Jids2xD1sW+Zr9Cg2pVLixW7nfqjba8J1TYIZ3 O8vKtPjqP/vnPM7gj/6adilkuVDBzqqKbIuQ3Rdv1e9QYinOSDTUYi4qTgQAXPpLob8CAAA= Content-Type: text/plain 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 --- 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 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.
+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. + /// + 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. + /// +} EFI_RT_PROPERTIES_TABLE; + +#pragma pack() + +#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.