]>
Commit | Line | Data |
---|---|---|
ea387910 LG |
1 | /** @file\r |
2 | Guid & data structure for EFI_RT _PROPERTIES_TABLE, designed to be published by a\r | |
3 | platform if it no longer supports all EFI runtime services once ExitBootServices()\r | |
4 | has been called by the OS. Introduced in UEFI 2.8a.\r | |
5 | \r | |
6 | \r | |
7 | Copyright (c) 2020, American Megatrends International LLC. All rights reserved.<BR>\r | |
8 | SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
9 | \r | |
10 | **/\r | |
11 | \r | |
12 | #ifndef __RT_PROPERTIES_TABLE_GUID_H__\r | |
13 | #define __RT_PROPERTIES_TABLE_GUID_H__\r | |
14 | \r | |
15 | //\r | |
16 | // Table, defined here, should be published by a platform if it no longer supports all EFI runtime\r | |
17 | // services once ExitBootServices() has been called by the OS. Note that this is merely a hint\r | |
18 | // to the OS, which it is free to ignore, and so the platform is still required to provide callable\r | |
19 | // implementations of unsupported runtime services that simply return EFI_UNSUPPORTED.\r | |
20 | //\r | |
21 | #define EFI_RT_PROPERTIES_TABLE_GUID \\r | |
22 | { 0xeb66918a, 0x7eef, 0x402a, \\r | |
23 | { 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }}\r | |
24 | \r | |
ea387910 LG |
25 | #pragma pack(1)\r |
26 | \r | |
27 | typedef struct {\r | |
28 | ///\r | |
29 | /// Version of the structure, must be 0x1.\r | |
30 | ///\r | |
2f88bd3a | 31 | UINT16 Version;\r |
ea387910 LG |
32 | \r |
33 | ///\r | |
34 | /// Size in bytes of the entire EFI_RT_PROPERTIES_TABLE, must be 8.\r | |
35 | ///\r | |
2f88bd3a | 36 | UINT16 Length;\r |
ea387910 LG |
37 | \r |
38 | ///\r | |
39 | /// Bitmask of which calls are or are not supported, where a bit set to 1 indicates\r | |
40 | /// that the call is supported, and 0 indicates that it is not.\r | |
41 | ///\r | |
2f88bd3a | 42 | UINT32 RuntimeServicesSupported;\r |
ea387910 LG |
43 | } EFI_RT_PROPERTIES_TABLE;\r |
44 | \r | |
45 | #pragma pack()\r | |
46 | \r | |
2f88bd3a | 47 | #define EFI_RT_PROPERTIES_TABLE_VERSION 0x1\r |
ea387910 LG |
48 | \r |
49 | #define EFI_RT_SUPPORTED_GET_TIME 0x0001\r | |
50 | #define EFI_RT_SUPPORTED_SET_TIME 0x0002\r | |
51 | #define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004\r | |
52 | #define EFI_RT_SUPPORTED_SET_WAKEUP_TIME 0x0008\r | |
53 | #define EFI_RT_SUPPORTED_GET_VARIABLE 0x0010\r | |
54 | #define EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME 0x0020\r | |
55 | #define EFI_RT_SUPPORTED_SET_VARIABLE 0x0040\r | |
56 | #define EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP 0x0080\r | |
57 | #define EFI_RT_SUPPORTED_CONVERT_POINTER 0x0100\r | |
58 | #define EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT 0x0200\r | |
59 | #define EFI_RT_SUPPORTED_RESET_SYSTEM 0x0400\r | |
60 | #define EFI_RT_SUPPORTED_UPDATE_CAPSULE 0x0800\r | |
61 | #define EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES 0x1000\r | |
62 | #define EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO 0x2000\r | |
63 | \r | |
2f88bd3a | 64 | extern EFI_GUID gEfiRtPropertiesTableGuid;\r |
ea387910 LG |
65 | \r |
66 | #endif\r |