| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | #ifndef _BPF_JIT_H | 
 | #define _BPF_JIT_H | 
 |  | 
 | #ifndef __ASSEMBLER__ | 
 | #define G0		0x00 | 
 | #define G1		0x01 | 
 | #define G2		0x02 | 
 | #define G3		0x03 | 
 | #define G6		0x06 | 
 | #define G7		0x07 | 
 | #define O0		0x08 | 
 | #define O1		0x09 | 
 | #define O2		0x0a | 
 | #define O3		0x0b | 
 | #define O4		0x0c | 
 | #define O5		0x0d | 
 | #define SP		0x0e | 
 | #define O7		0x0f | 
 | #define L0		0x10 | 
 | #define L1		0x11 | 
 | #define L2		0x12 | 
 | #define L3		0x13 | 
 | #define L4		0x14 | 
 | #define L5		0x15 | 
 | #define L6		0x16 | 
 | #define L7		0x17 | 
 | #define I0		0x18 | 
 | #define I1		0x19 | 
 | #define I2		0x1a | 
 | #define I3		0x1b | 
 | #define I4		0x1c | 
 | #define I5		0x1d | 
 | #define FP		0x1e | 
 | #define I7		0x1f | 
 |  | 
 | #define r_SKB		L0 | 
 | #define r_HEADLEN	L4 | 
 | #define r_SKB_DATA	L5 | 
 | #define r_TMP		G1 | 
 | #define r_TMP2		G3 | 
 |  | 
 | /* assembly code in arch/sparc/net/bpf_jit_asm_64.S */ | 
 | extern u32 bpf_jit_load_word[]; | 
 | extern u32 bpf_jit_load_half[]; | 
 | extern u32 bpf_jit_load_byte[]; | 
 | extern u32 bpf_jit_load_byte_msh[]; | 
 | extern u32 bpf_jit_load_word_positive_offset[]; | 
 | extern u32 bpf_jit_load_half_positive_offset[]; | 
 | extern u32 bpf_jit_load_byte_positive_offset[]; | 
 | extern u32 bpf_jit_load_byte_msh_positive_offset[]; | 
 | extern u32 bpf_jit_load_word_negative_offset[]; | 
 | extern u32 bpf_jit_load_half_negative_offset[]; | 
 | extern u32 bpf_jit_load_byte_negative_offset[]; | 
 | extern u32 bpf_jit_load_byte_msh_negative_offset[]; | 
 |  | 
 | #else | 
 | #define r_RESULT	%o0 | 
 | #define r_SKB		%o0 | 
 | #define r_OFF		%o1 | 
 | #define r_HEADLEN	%l4 | 
 | #define r_SKB_DATA	%l5 | 
 | #define r_TMP		%g1 | 
 | #define r_TMP2		%g3 | 
 | #endif | 
 |  | 
 | #endif /* _BPF_JIT_H */ |