]>
Commit | Line | Data |
---|---|---|
91dfef96 JM |
1 | ; Options for the eBPF compiler port. |
2 | ||
aeee4812 | 3 | ; Copyright (C) 2019-2023 Free Software Foundation, Inc. |
91dfef96 JM |
4 | ; |
5 | ; This file is part of GCC. | |
6 | ; | |
7 | ; GCC is free software; you can redistribute it and/or modify it under | |
8 | ; the terms of the GNU General Public License as published by the Free | |
9 | ; Software Foundation; either version 3, or (at your option) any later | |
10 | ; version. | |
11 | ; | |
12 | ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
13 | ; WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 | ; for more details. | |
16 | ; | |
17 | ; You should have received a copy of the GNU General Public License | |
18 | ; along with GCC; see the file COPYING3. If not see | |
19 | ; <http://www.gnu.org/licenses/>. | |
20 | ||
21 | HeaderInclude | |
22 | config/bpf/bpf-opts.h | |
23 | ||
51e10276 JM |
24 | ; Use xBPF extensions. |
25 | ||
26 | mxbpf | |
eece52b5 | 27 | Target Mask(XBPF) |
51e10276 JM |
28 | Generate xBPF. |
29 | ||
91dfef96 JM |
30 | ; Selecting big endian or little endian targets. |
31 | ||
32 | mbig-endian | |
eece52b5 | 33 | Target RejectNegative Mask(BIG_ENDIAN) |
91dfef96 JM |
34 | Generate big-endian eBPF. |
35 | ||
36 | mlittle-endian | |
eece52b5 | 37 | Target RejectNegative InverseMask(BIG_ENDIAN) |
91dfef96 JM |
38 | Generate little-endian eBPF. |
39 | ||
40 | mframe-limit= | |
35b5762a | 41 | Target Joined RejectNegative UInteger IntegerRange(0, 32767) Var(bpf_frame_limit) Init(32767) |
91dfef96 | 42 | Set a hard limit for the size of each stack frame, in bytes. |
e29a9607 IB |
43 | |
44 | mco-re | |
45 | Target Mask(BPF_CORE) | |
46 | Generate all necessary information for BPF Compile Once - Run Everywhere. | |
5b2ab1d3 DF |
47 | |
48 | ; Selecting BPF ISA features and versions | |
49 | ||
50 | mjmpext | |
51 | Target Var(bpf_has_jmpext) Init(-1) | |
52 | Enable extra conditional-branch instructions j(s)lt and j(s)le. | |
53 | ||
54 | malu32 | |
55 | Target Var(bpf_has_alu32) Init(-1) | |
56 | Enable 32-bit ALU instructions. | |
57 | ||
58 | mjmp32 | |
59 | Target Var(bpf_has_jmp32) Init(-1) | |
60 | Enable 32-bit jump instructions. | |
61 | ||
db189d02 DF |
62 | mv3-atomics |
63 | Target Var(bpf_has_v3_atomics) Init(-1) | |
64 | Enable general atomic operations introduced in v3 ISA. | |
65 | ||
f1e34551 JM |
66 | mbswap |
67 | Target Var(bpf_has_bswap) Init(-1) | |
68 | Enable byte swap instructions. | |
69 | ||
4be3919f JM |
70 | msdiv |
71 | Target Var(bpf_has_sdiv) Init(-1) | |
72 | Enable signed division and modulus instructions. | |
73 | ||
14dab1a1 DF |
74 | msmov |
75 | Target Var(bpf_has_smov) Init(-1) | |
76 | Enable signed move and memory load instructions. | |
77 | ||
5b2ab1d3 | 78 | mcpu= |
f1e34551 | 79 | Target RejectNegative Joined Var(bpf_isa) Enum(bpf_isa) Init(ISA_V4) |
5b2ab1d3 DF |
80 | |
81 | Enum | |
82 | Name(bpf_isa) Type(enum bpf_isa_version) | |
83 | ||
84 | EnumValue | |
85 | Enum(bpf_isa) String(v1) Value(ISA_V1) | |
86 | ||
87 | EnumValue | |
88 | Enum(bpf_isa) String(v2) Value(ISA_V2) | |
89 | ||
90 | EnumValue | |
91 | Enum(bpf_isa) String(v3) Value(ISA_V3) | |
77d0f9ec | 92 | |
f1e34551 JM |
93 | EnumValue |
94 | Enum(bpf_isa) String(v4) Value(ISA_V4) | |
95 | ||
77d0f9ec CM |
96 | masm= |
97 | Target RejectNegative Joined Var(asm_dialect) Enum(asm_dialect) Init(ASM_NORMAL) | |
98 | Use given assembler dialect. | |
99 | ||
100 | Enum | |
101 | Name(asm_dialect) Type(enum bpf_asm_dialect) | |
102 | Known assembler dialects (for use with the -masm= option) | |
103 | ||
104 | EnumValue | |
105 | Enum(asm_dialect) String(normal) Value(ASM_NORMAL) | |
106 | ||
107 | EnumValue | |
108 | Enum(asm_dialect) String(pseudoc) Value(ASM_PSEUDOC) |