xref: /optee_os/core/lib/libefi/include/efi/efi_types.h (revision f072a39aab8915df4e7c86e77dbc853d31d3aa82)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
4  */
5 
6 #ifndef __EFI_TYPES_H
7 #define __EFI_TYPES_H
8 
9 #include <stdint.h>
10 
11 typedef uint64_t efi_physical_address_t;
12 
13 /*****************************************************************************
14  *                            EFI_BOOT_MODE                                  *
15  *****************************************************************************/
16 
17 typedef uint32_t efi_boot_mode_t;
18 /**
19  * EFI boot mode.
20  */
21 #define BOOT_WITH_FULL_CONFIGURATION                   0x00
22 #define BOOT_WITH_MINIMAL_CONFIGURATION                0x01
23 #define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES         0x02
24 #define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS  0x03
25 #define BOOT_WITH_DEFAULT_SETTINGS                     0x04
26 #define BOOT_ON_S4_RESUME                              0x05
27 #define BOOT_ON_S5_RESUME                              0x06
28 #define BOOT_WITH_MFG_MODE_SETTINGS                    0x07
29 #define BOOT_ON_S2_RESUME                              0x10
30 #define BOOT_ON_S3_RESUME                              0x11
31 #define BOOT_ON_FLASH_UPDATE                           0x12
32 #define BOOT_IN_RECOVERY_MODE                          0x20
33 
34 /*****************************************************************************
35  *                            EFI_RESOURCE_TYPE                              *
36  *****************************************************************************/
37 
38 typedef uint32_t efi_resource_type_t;
39 
40 /**
41  * Value of EFI_RESOURCE_TYPE used in EFI_HOB_RESOURCE_DESCRIPTOR.
42  */
43 #define EFI_RESOURCE_SYSTEM_MEMORY          0x00000000
44 #define EFI_RESOURCE_MEMORY_MAPPED_IO       0x00000001
45 #define EFI_RESOURCE_IO                     0x00000002
46 #define EFI_RESOURCE_FIRMWARE_DEVICE        0x00000003
47 #define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT  0x00000004
48 #define EFI_RESOURCE_MEMORY_RESERVED        0x00000005
49 #define EFI_RESOURCE_IO_RESERVED            0x00000006
50 
51 /*****************************************************************************
52  *                       EFI_RESOURCE_ATTRIBUTE_TYPE                         *
53  *****************************************************************************/
54 
55 typedef uint32_t efi_resource_attribute_type_t;
56 
57 #define EFI_RESOURCE_ATTR_PRESENT                  0x00000001
58 #define EFI_RESOURCE_ATTR_INITIALIZED              0x00000002
59 #define EFI_RESOURCE_ATTR_TESTED                   0x00000004
60 #define EFI_RESOURCE_ATTR_RD_PROTECTED             0x00000080
61 #define EFI_RESOURCE_ATTR_WR_PROTECTED             0x00000100
62 #define EFI_RESOURCE_ATTR_EXECUTION_PROTECTED      0x00000200
63 #define EFI_RESOURCE_ATTR_PERSISTENT               0x00800000
64 #define EFI_RESOURCE_ATTR_SINGLE_BIT_ECC           0x00000008
65 #define EFI_RESOURCE_ATTR_MULTIPLE_BIT_ECC         0x00000010
66 #define EFI_RESOURCE_ATTR_ECC_RESERVED_1           0x00000020
67 #define EFI_RESOURCE_ATTR_ECC_RESERVED_2           0x00000040
68 #define EFI_RESOURCE_ATTR_UNCACHEABLE              0x00000400
69 #define EFI_RESOURCE_ATTR_WR_COMBINEABLE           0x00000800
70 #define EFI_RESOURCE_ATTR_WR_THROUGH_CACHEABLE     0x00001000
71 #define EFI_RESOURCE_ATTR_WR_BACK_CACHEABLE        0x00002000
72 #define EFI_RESOURCE_ATTR_16_BIT_IO                0x00004000
73 #define EFI_RESOURCE_ATTR_32_BIT_IO                0x00008000
74 #define EFI_RESOURCE_ATTR_64_BIT_IO                0x00010000
75 #define EFI_RESOURCE_ATTR_UNCACHED_EXPORTED        0x00020000
76 #define EFI_RESOURCE_ATTR_RD_PROTECTABLE           0x00100000
77 #define EFI_RESOURCE_ATTR_WR_PROTECTABLE           0x00200000
78 #define EFI_RESOURCE_ATTR_EXECUTION_PROTECTABLE    0x00400000
79 #define EFI_RESOURCE_ATTR_PERSISTABLE              0x01000000
80 #define EFI_RESOURCE_ATTR_RD_ONLY_PROTECTED        0x00040000
81 #define EFI_RESOURCE_ATTR_RD_ONLY_PROTECTABLE      0x00080000
82 #define EFI_RESOURCE_ATTR_MORE_RELIABLE            0x02000000
83 
84 #endif
85