1 /* SPDX-License-Identifier: GPL-2.0 */
7 * %g2 : Secondary temporary used by SKB data helper stubs.
8 * %g3 : packet offset passed into SKB data helper stubs.
9 * %o0 : pointer to skb (first argument given to JIT function)
10 * %o1 : BPF A accumulator
11 * %o2 : BPF X accumulator
12 * %o3 : Holds saved %o7 so we can call helper functions without needing
13 * to allocate a register window.
14 * %o4 : skb->len - skb->data_len
43 /* assembly code in arch/sparc/net/bpf_jit_asm_32.S */
44 extern u32 bpf_jit_load_word
[];
45 extern u32 bpf_jit_load_half
[];
46 extern u32 bpf_jit_load_byte
[];
47 extern u32 bpf_jit_load_byte_msh
[];
48 extern u32 bpf_jit_load_word_positive_offset
[];
49 extern u32 bpf_jit_load_half_positive_offset
[];
50 extern u32 bpf_jit_load_byte_positive_offset
[];
51 extern u32 bpf_jit_load_byte_msh_positive_offset
[];
52 extern u32 bpf_jit_load_word_negative_offset
[];
53 extern u32 bpf_jit_load_half_negative_offset
[];
54 extern u32 bpf_jit_load_byte_negative_offset
[];
55 extern u32 bpf_jit_load_byte_msh_negative_offset
[];
61 #define r_saved_O7 %o3
63 #define r_SKB_DATA %o5
69 #endif /* _BPF_JIT_H */