| /** @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 |