aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/prog_tests/linked_funcs.c
diff options
context:
space:
mode:
authorPuranjay Mohan <[email protected]>2023-03-07 12:04:40 +0000
committerAndrii Nakryiko <[email protected]>2023-03-07 23:35:53 +0000
commit720d93b60aec22abcb2a5b6d8de472f3a50694b1 (patch)
tree0d9224322daf284d462b8043b8ac069a97c83aed /tools/testing/selftests/bpf/prog_tests/linked_funcs.c
parentlibbpf: Refactor parse_usdt_arg() to re-use code (diff)
downloadkernel-720d93b60aec22abcb2a5b6d8de472f3a50694b1.tar.gz
kernel-720d93b60aec22abcb2a5b6d8de472f3a50694b1.zip
libbpf: USDT arm arg parsing support
Parsing of USDT arguments is architecture-specific; on arm it is relatively easy since registers used are r[0-10], fp, ip, sp, lr, pc. Format is slightly different compared to aarch64; forms are - "size @ [ reg, #offset ]" for dereferences, for example "-8 @ [ sp, #76 ]" ; " -4 @ [ sp ]" - "size @ reg" for register values; for example "-4@r0" - "size @ #value" for raw values; for example "-8@#1" Add support for parsing USDT arguments for ARM architecture. To test the above changes QEMU's virt[1] board with cortex-a15 CPU was used. libbpf-bootstrap's usdt example[2] was modified to attach to a test program with DTRACE_PROBE1/2/3/4... probes to test different combinations. [1] https://www.qemu.org/docs/master/system/arm/virt.html [2] https://github.com/libbpf/libbpf-bootstrap/blob/master/examples/c/usdt.bpf.c Signed-off-by: Puranjay Mohan <[email protected]> Signed-off-by: Andrii Nakryiko <[email protected]> Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/linked_funcs.c')
0 files changed, 0 insertions, 0 deletions