Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | /*! * @header * AP chip environments. */ #ifndef __IMG4_CHIP_AP_H #define __IMG4_CHIP_AP_H #ifndef __IMG4_INDIRECT #error "Please #include <img4/firmware.h> instead of this file directly" #endif // __IMG4_INDIRECT __BEGIN_DECLS OS_ASSUME_NONNULL_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN /*! * @const IMG4_CHIP_AP_SHA1 * The Application Processor on an Apple ARM SoC with an embedded sha1 * certifcate chain. * * This chip environment represents one unique instance of such a chip. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_sha1; #define IMG4_CHIP_AP_SHA1 (&_img4_chip_ap_sha1) #else #define IMG4_CHIP_AP_SHA1 (img4if->i4if_v7.chip_ap_sha1) #endif /*! * @const IMG4_CHIP_AP_SHA2_384 * The Application Processor on an Apple ARM SoC with an embedded sha2-384 * certifcate chain. * * This chip environment represents one unique instance of such a chip. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_sha2_384; #define IMG4_CHIP_AP_SHA2_384 (&_img4_chip_ap_sha2_384) #else #define IMG4_CHIP_AP_SHA2_384 (img4if->i4if_v7.chip_ap_sha2_384) #endif /*! * @const IMG4_CHIP_AP_HYBRID * An Intel x86 processor whose chain of trust is rooted in an instance of a * {@link IMG4_CHIP_AP_SHA2_384} chip. Firmwares executed on this chip are * authenticated against the characteristics of the corresponding AP chip * environment and not the characteristics of the x86 processor. * * This chip environment represents one unique instance of such a chip pair. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_hybrid; #define IMG4_CHIP_AP_HYBRID (&_img4_chip_ap_hybrid) #else #define IMG4_CHIP_AP_HYBRID (img4if->i4if_v7.chip_ap_hybrid) #endif /*! * @const IMG4_CHIP_AP_REDUCED * An Application Processor on an Apple ARM SoC operating in a reduced security * configuration. * * This chip cannot be uniquely identified. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_reduced; #define IMG4_CHIP_AP_REDUCED (&_img4_chip_ap_reduced) #else #define IMG4_CHIP_AP_REDUCED (img4if->i4if_v7.chip_ap_reduced) #endif /*! * @const IMG4_CHIP_AP_PERMISSIVE * An Application Processor on an Apple ARM SoC operating entirely within the * user's authority. * * This chip's identity is rooted in a device-specific authority rather than one * maintained by Apple. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_permissive; #define IMG4_CHIP_AP_PERMISSIVE (&_img4_chip_ap_permissive) #else #define IMG4_CHIP_AP_PERMISSIVE (img4if->i4if_v8.chip_ap_permissive) #endif /*! * @const IMG4_CHIP_AP_LOCAL_BLESSED * An Application Processor on an Apple ARM SoC which is executing payloads from * a future local policy that has not yet booted. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20220513 OS_EXPORT const img4_chip_t _img4_chip_ap_local_blessed; #define IMG4_CHIP_AP_LOCAL_BLESSED (&_img4_chip_ap_local_blessed) #else #define IMG4_CHIP_AP_LOCAL_BLESSED (img4if->i4if_v18.chip_ap_local_blessed) #endif /*! * @const IMG4_CHIP_AP_HYBRID_MEDIUM * An Intel x86 processor whose chain of trust is rooted in an instance of a * {@link IMG4_CHIP_AP_SHA2_384} chip and is operating in a "medium security" * mode due to a user-approved security degradation. * * This chip cannot be uniquely identified. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_hybrid_medium; #define IMG4_CHIP_AP_HYBRID_MEDIUM (&_img4_chip_ap_hybrid_medium) #else #define IMG4_CHIP_AP_HYBRID_MEDIUM (img4if->i4if_v8.chip_ap_hybrid_medium) #endif /*! * @const IMG4_CHIP_AP_HYBRID_RELAXED * An Intel x86 processor whose chain of trust is rooted in an instance of a * {@link IMG4_CHIP_AP_SHA2_384} chip and is operating with no secure boot * due to a user-approved security degradation. * * This chip cannot be uniquely identified. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20200508 OS_EXPORT const img4_chip_t _img4_chip_ap_hybrid_relaxed; #define IMG4_CHIP_AP_HYBRID_RELAXED (&_img4_chip_ap_hybrid_relaxed) #else #define IMG4_CHIP_AP_HYBRID_RELAXED (img4if->i4if_v8.chip_ap_hybrid_relaxed) #endif /*! * @const IMG4_CHIP_AP_INTRANSIGENT * An Application Processor which is incapable of executing code. This chip * environment's root of trust is a certificate authority which has never and * will never issue any certificates. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20210113 OS_EXPORT const img4_chip_t _img4_chip_ap_intransigent; #define IMG4_CHIP_AP_INTRANSIGENT (&_img4_chip_ap_intransigent) #else #define IMG4_CHIP_AP_INTRANSIGENT (img4if->i4if_v11.chip_ap_intransigent) #endif /*! * @const IMG4_CHIP_AP_SUPPLEMENTAL * An Application Processor whose root of trust resides in the * {@link IMG4_RUNTIME_OBJECT_SPEC_SUPPLEMENTAL_ROOT} object. Once the * supplemental root object is executed on the host's AP, this chip environment * is available to execute payloads. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20210113 OS_EXPORT const img4_chip_t _img4_chip_ap_supplemental; #define IMG4_CHIP_AP_SUPPLEMENTAL (&_img4_chip_ap_supplemental) #else #define IMG4_CHIP_AP_SUPPLEMENTAL (img4if->i4if_v11.chip_ap_supplemental) #endif /*! * @const IMG4_CHIP_AP_VMA2 * The Application Processor of a virtualized Apple ARM device. * * This chip environment represents one unique instance of such a chip on the * host device. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20210113 OS_EXPORT const img4_chip_t _img4_chip_ap_vma2; #define IMG4_CHIP_AP_VMA2 (&_img4_chip_ap_vma2) #else #define IMG4_CHIP_AP_VMA2 (img4if->i4if_v13.chip_ap_vma2) #endif /*! * @const IMG4_CHIP_AP_VMA2_CLONE * The Application Processor of a virtualized Apple ARM device which has been * cloned from another on the same host. * * This chip environment cannot be uniquely identified. */ #if !XNU_KERNEL_PRIVATE IMG4_API_AVAILABLE_20210113 OS_EXPORT const img4_chip_t _img4_chip_ap_vma2_clone; #define IMG4_CHIP_AP_VMA2_CLONE (&_img4_chip_ap_vma2_clone) #else #define IMG4_CHIP_AP_VMA2_CLONE (img4if->i4if_v13.chip_ap_vma2_clone) #endif OS_ASSUME_PTR_ABI_SINGLE_END OS_ASSUME_NONNULL_END __END_DECLS #endif // __IMG4_CHIP_AP_H |