efi_loader: use predefined constants in crt0_*_efi.S
[oweals/u-boot.git] / include / asm-generic / pe.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  *  Portable Executable and Common Object Constants
4  *
5  *  Copyright (c) 2018 Heinrich Schuchardt
6  *
7  *  based on the "Microsoft Portable Executable and Common Object File Format
8  *  Specification", revision 11, 2017-01-23
9  */
10
11 #ifndef _ASM_PE_H
12 #define _ASM_PE_H
13
14 /* Characteristics */
15 #define IMAGE_FILE_RELOCS_STRIPPED              0x0001
16 #define IMAGE_FILE_EXECUTABLE_IMAGE             0x0002
17 #define IMAGE_FILE_LINE_NUMS_STRIPPED           0x0004
18 #define IMAGE_FILE_LOCAL_SYMS_STRIPPED          0x0008
19 #define IMAGE_FILE_AGGRESSIVE_WS_TRIM           0x0010
20 #define IMAGE_FILE_LARGE_ADDRESS_AWARE          0x0020
21 /* Reserved                                     0x0040 */
22 #define IMAGE_FILE_BYTES_REVERSED_LO            0x0080
23 #define IMAGE_FILE_32BIT_MACHINE                0x0100
24 #define IMAGE_FILE_DEBUG_STRIPPED               0x0200
25 #define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP      0x0400
26 #define IMAGE_FILE_NET_RUN_FROM_SWAP            0x0800
27 #define IMAGE_FILE_SYSTEM                       0x1000
28 #define IMAGE_FILE_DLL                          0x2000
29 #define IMAGE_FILE_UP_SYSTEM_ONLY               0x4000
30 #define IMAGE_FILE_BYTES_REVERSED_HI            0x8000
31
32 /* Machine types */
33 #define IMAGE_FILE_MACHINE_I386                 0x014c
34 #define IMAGE_FILE_MACHINE_ARM                  0x01c0
35 #define IMAGE_FILE_MACHINE_THUMB                0x01c2
36 #define IMAGE_FILE_MACHINE_ARMNT                0x01c4
37 #define IMAGE_FILE_MACHINE_AMD64                0x8664
38 #define IMAGE_FILE_MACHINE_ARM64                0xaa64
39 #define IMAGE_FILE_MACHINE_RISCV32              0x5032
40 #define IMAGE_FILE_MACHINE_RISCV64              0x5064
41
42 /* Header magic constants */
43 #define IMAGE_NT_OPTIONAL_HDR32_MAGIC           0x010b
44 #define IMAGE_NT_OPTIONAL_HDR64_MAGIC           0x020b
45 #define IMAGE_DOS_SIGNATURE                     0x5a4d     /* MZ   */
46 #define IMAGE_NT_SIGNATURE                      0x00004550 /* PE00 */
47
48 /* Subsystem type */
49 #define IMAGE_SUBSYSTEM_EFI_APPLICATION         10
50 #define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
51 #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER      12
52 #define IMAGE_SUBSYSTEM_EFI_ROM                 13
53
54 #endif /* _ASM_PE_H */