xref: /xnu-10063.141.1/EXTERNAL_HEADERS/img4/shim.h (revision d8b80295118ef25ac3a784134bcf95cd8e88109f)
1 /*!
2  * @header
3  * Shims for the SPI.
4  */
5 #ifndef __IMG4_SHIM_H
6 #define __IMG4_SHIM_H
7 
8 #ifndef __IMG4_INDIRECT
9 #error "Please #include <img4/firmware.h> instead of this file directly"
10 #endif // __IMG4_INDIRECT
11 
12 #include <stdint.h>
13 #include <stddef.h>
14 #include <stdbool.h>
15 
16 #if KERNEL
17 #define IMG4_TARGET_SHIM_FOUND 1
18 #define IMG4_TARGET_XNU 1
19 
20 #if __has_include(<img4/shim_xnu.h>)
21 #include <img4/shim_xnu.h>
22 #endif
23 
24 #if XNU_KERNEL_PRIVATE
25 #define IMG4_TARGET_XNU_PROPER 1
26 #else
27 #define IMG4_TARGET_XNU_PROPER 0
28 #endif
29 #endif // KERNEL
30 
31 
32 #if !IMG4_TARGET_SHIM_FOUND
33 #if EFI
34 #define IMG4_TARGET_EFI 1
35 #if __has_include(<img4/shim_efi.h>)
36 #pragma clang diagnostic push
37 #pragma clang diagnostic ignored "-Wpragma-pack"
38 #include <img4/shim_efi.h>
39 #pragma clang diagnostic pop
40 #endif // __has_include(<img4/shim_efi.h>)
41 #elif SEP // EFI
42 #define IMG4_TARGET_SEP 1
43 #include <img4/shim_sep.h>
44 #else // EFI
45 #define IMG4_TARGET_DARWIN 1
46 #if __has_include(<img4/shim_darwin.h>)
47 #include <img4/shim_darwin.h>
48 #endif
49 #endif // EFI
50 #endif // !IMG4_TARGET_SHIM_FOUND
51 
52 #if IMG4_TARGET_XNU || IMG4_TARGET_DARWIN
53 #define IMG4_TARGET_DARWIN_GENERIC 1
54 #endif
55 
56 #endif // __IMG4_SHIM_H
57