selftests/bpf: __imm_insn & __imm_const macro for bpf_misc.h
authorEduard Zingerman <eddyz87@gmail.com>
Sat, 25 Mar 2023 02:54:43 +0000 (04:54 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 26 Mar 2023 00:02:02 +0000 (17:02 -0700)
commit207b1ba3019100d862931e97b49f76ff1e0a89f2
treee3be60c0708851eb931e9b300bae9f86aa5ddf33
parent3e5329e193f463e6aaf98c33f7cb1308160880ab
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>
tools/testing/selftests/bpf/progs/bpf_misc.h