mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
selftests/bpf: __imm_insn & __imm_const macro for bpf_misc.h
Add two convenience macro for BPF test cases, allowing the following usage: #include <linux/filter.h> ... asm volatile ( ... ".8byte %[raw_insn];" ... "r1 += %[st_foo_offset];" ... : : __imm_insn(raw_insn, BPF_RAW_INSN(...)), __imm_const(st_foo_offset, offsetof(struct st, foo)) : __clobber_all); Signed-off-by: Eduard Zingerman <eddyz87@gmail.com> Link: https://lore.kernel.org/r/20230325025524.144043-3-eddyz87@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
3e5329e193
commit
207b1ba301
@ -35,8 +35,10 @@
|
||||
#define __clobber_all "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "memory"
|
||||
#define __clobber_common "r0", "r1", "r2", "r3", "r4", "r5", "memory"
|
||||
#define __imm(name) [name]"i"(name)
|
||||
#define __imm_const(name, expr) [name]"i"(expr)
|
||||
#define __imm_addr(name) [name]"i"(&name)
|
||||
#define __imm_ptr(name) [name]"p"(&name)
|
||||
#define __imm_insn(name, expr) [name]"i"(*(long *)&(expr))
|
||||
|
||||
#if defined(__TARGET_ARCH_x86)
|
||||
#define SYSCALL_WRAPPER 1
|
||||
|
Loading…
Reference in New Issue
Block a user