Commit 3b34bcb9 authored by Stanislav Fomichev's avatar Stanislav Fomichev Committed by Alexei Starovoitov

tools/bpf: Sync btf_ids.h to tools

Has been slowly getting out of sync, let's update it.

resolve_btfids usage has been updated to match the header changes.

Also bring new parts of tools/include/uapi/linux/bpf.h.
Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
Signed-off-by: default avatarStanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/r/20220628174314.1216643-8-sdf@google.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 9113d7e4
...@@ -73,7 +73,7 @@ asm( \ ...@@ -73,7 +73,7 @@ asm( \
__BTF_ID_LIST(name, local) \ __BTF_ID_LIST(name, local) \
extern u32 name[]; extern u32 name[];
#define BTF_ID_LIST_GLOBAL(name) \ #define BTF_ID_LIST_GLOBAL(name, n) \
__BTF_ID_LIST(name, globl) __BTF_ID_LIST(name, globl)
/* The BTF_ID_LIST_SINGLE macro defines a BTF_ID_LIST with /* The BTF_ID_LIST_SINGLE macro defines a BTF_ID_LIST with
...@@ -82,6 +82,9 @@ __BTF_ID_LIST(name, globl) ...@@ -82,6 +82,9 @@ __BTF_ID_LIST(name, globl)
#define BTF_ID_LIST_SINGLE(name, prefix, typename) \ #define BTF_ID_LIST_SINGLE(name, prefix, typename) \
BTF_ID_LIST(name) \ BTF_ID_LIST(name) \
BTF_ID(prefix, typename) BTF_ID(prefix, typename)
#define BTF_ID_LIST_GLOBAL_SINGLE(name, prefix, typename) \
BTF_ID_LIST_GLOBAL(name, 1) \
BTF_ID(prefix, typename)
/* /*
* The BTF_ID_UNUSED macro defines 4 zero bytes. * The BTF_ID_UNUSED macro defines 4 zero bytes.
...@@ -143,13 +146,14 @@ extern struct btf_id_set name; ...@@ -143,13 +146,14 @@ extern struct btf_id_set name;
#else #else
#define BTF_ID_LIST(name) static u32 name[5]; #define BTF_ID_LIST(name) static u32 __maybe_unused name[5];
#define BTF_ID(prefix, name) #define BTF_ID(prefix, name)
#define BTF_ID_UNUSED #define BTF_ID_UNUSED
#define BTF_ID_LIST_GLOBAL(name) u32 name[1]; #define BTF_ID_LIST_GLOBAL(name, n) u32 __maybe_unused name[n];
#define BTF_ID_LIST_SINGLE(name, prefix, typename) static u32 name[1]; #define BTF_ID_LIST_SINGLE(name, prefix, typename) static u32 __maybe_unused name[1];
#define BTF_SET_START(name) static struct btf_id_set name = { 0 }; #define BTF_ID_LIST_GLOBAL_SINGLE(name, prefix, typename) u32 __maybe_unused name[1];
#define BTF_SET_START_GLOBAL(name) static struct btf_id_set name = { 0 }; #define BTF_SET_START(name) static struct btf_id_set __maybe_unused name = { 0 };
#define BTF_SET_START_GLOBAL(name) static struct btf_id_set __maybe_unused name = { 0 };
#define BTF_SET_END(name) #define BTF_SET_END(name)
#endif /* CONFIG_DEBUG_INFO_BTF */ #endif /* CONFIG_DEBUG_INFO_BTF */
...@@ -172,7 +176,10 @@ extern struct btf_id_set name; ...@@ -172,7 +176,10 @@ extern struct btf_id_set name;
BTF_SOCK_TYPE(BTF_SOCK_TYPE_TCP_TW, tcp_timewait_sock) \ BTF_SOCK_TYPE(BTF_SOCK_TYPE_TCP_TW, tcp_timewait_sock) \
BTF_SOCK_TYPE(BTF_SOCK_TYPE_TCP6, tcp6_sock) \ BTF_SOCK_TYPE(BTF_SOCK_TYPE_TCP6, tcp6_sock) \
BTF_SOCK_TYPE(BTF_SOCK_TYPE_UDP, udp_sock) \ BTF_SOCK_TYPE(BTF_SOCK_TYPE_UDP, udp_sock) \
BTF_SOCK_TYPE(BTF_SOCK_TYPE_UDP6, udp6_sock) BTF_SOCK_TYPE(BTF_SOCK_TYPE_UDP6, udp6_sock) \
BTF_SOCK_TYPE(BTF_SOCK_TYPE_UNIX, unix_sock) \
BTF_SOCK_TYPE(BTF_SOCK_TYPE_MPTCP, mptcp_sock) \
BTF_SOCK_TYPE(BTF_SOCK_TYPE_SOCKET, socket)
enum { enum {
#define BTF_SOCK_TYPE(name, str) name, #define BTF_SOCK_TYPE(name, str) name,
...@@ -184,4 +191,18 @@ MAX_BTF_SOCK_TYPE, ...@@ -184,4 +191,18 @@ MAX_BTF_SOCK_TYPE,
extern u32 btf_sock_ids[]; extern u32 btf_sock_ids[];
#endif #endif
#define BTF_TRACING_TYPE_xxx \
BTF_TRACING_TYPE(BTF_TRACING_TYPE_TASK, task_struct) \
BTF_TRACING_TYPE(BTF_TRACING_TYPE_FILE, file) \
BTF_TRACING_TYPE(BTF_TRACING_TYPE_VMA, vm_area_struct)
enum {
#define BTF_TRACING_TYPE(name, type) name,
BTF_TRACING_TYPE_xxx
#undef BTF_TRACING_TYPE
MAX_BTF_TRACING_TYPE,
};
extern u32 btf_tracing_ids[];
#endif #endif
...@@ -1432,6 +1432,7 @@ union bpf_attr { ...@@ -1432,6 +1432,7 @@ union bpf_attr {
__u32 attach_flags; __u32 attach_flags;
__aligned_u64 prog_ids; __aligned_u64 prog_ids;
__u32 prog_cnt; __u32 prog_cnt;
__aligned_u64 prog_attach_flags; /* output: per-program attach_flags */
} query; } query;
struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */ struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */
...@@ -6076,6 +6077,8 @@ struct bpf_prog_info { ...@@ -6076,6 +6077,8 @@ struct bpf_prog_info {
__u64 run_cnt; __u64 run_cnt;
__u64 recursion_misses; __u64 recursion_misses;
__u32 verified_insns; __u32 verified_insns;
__u32 attach_btf_obj_id;
__u32 attach_btf_id;
} __attribute__((aligned(8))); } __attribute__((aligned(8)));
struct bpf_map_info { struct bpf_map_info {
......
...@@ -44,7 +44,7 @@ BTF_ID(union, U) ...@@ -44,7 +44,7 @@ BTF_ID(union, U)
BTF_ID(func, func) BTF_ID(func, func)
extern __u32 test_list_global[]; extern __u32 test_list_global[];
BTF_ID_LIST_GLOBAL(test_list_global) BTF_ID_LIST_GLOBAL(test_list_global, 1)
BTF_ID_UNUSED BTF_ID_UNUSED
BTF_ID(typedef, S) BTF_ID(typedef, S)
BTF_ID(typedef, T) BTF_ID(typedef, T)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment