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