]> git.ipfire.org Git - thirdparty/kernel/linux.git/blame - arch/sparc/net/bpf_jit_64.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[thirdparty/kernel/linux.git] / arch / sparc / net / bpf_jit_64.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
7a12b503
DM
2#ifndef _BPF_JIT_H
3#define _BPF_JIT_H
4
5#ifndef __ASSEMBLER__
6#define G0 0x00
7#define G1 0x01
8#define G2 0x02
9#define G3 0x03
10#define G6 0x06
11#define G7 0x07
12#define O0 0x08
13#define O1 0x09
14#define O2 0x0a
15#define O3 0x0b
16#define O4 0x0c
17#define O5 0x0d
18#define SP 0x0e
19#define O7 0x0f
20#define L0 0x10
21#define L1 0x11
22#define L2 0x12
23#define L3 0x13
24#define L4 0x14
25#define L5 0x15
26#define L6 0x16
27#define L7 0x17
28#define I0 0x18
29#define I1 0x19
30#define I2 0x1a
31#define I3 0x1b
32#define I4 0x1c
33#define I5 0x1d
34#define FP 0x1e
35#define I7 0x1f
36
37#define r_SKB L0
38#define r_HEADLEN L4
39#define r_SKB_DATA L5
40#define r_TMP G1
41#define r_TMP2 G3
42
43/* assembly code in arch/sparc/net/bpf_jit_asm_64.S */
44extern u32 bpf_jit_load_word[];
45extern u32 bpf_jit_load_half[];
46extern u32 bpf_jit_load_byte[];
47extern u32 bpf_jit_load_byte_msh[];
48extern u32 bpf_jit_load_word_positive_offset[];
49extern u32 bpf_jit_load_half_positive_offset[];
50extern u32 bpf_jit_load_byte_positive_offset[];
51extern u32 bpf_jit_load_byte_msh_positive_offset[];
52extern u32 bpf_jit_load_word_negative_offset[];
53extern u32 bpf_jit_load_half_negative_offset[];
54extern u32 bpf_jit_load_byte_negative_offset[];
55extern u32 bpf_jit_load_byte_msh_negative_offset[];
56
57#else
58#define r_RESULT %o0
59#define r_SKB %o0
60#define r_OFF %o1
61#define r_HEADLEN %l4
62#define r_SKB_DATA %l5
63#define r_TMP %g1
64#define r_TMP2 %g3
65#endif
66
67#endif /* _BPF_JIT_H */