libbpf: Allow specifying 64-bit integers in map BTF.
authorAlexei Starovoitov <ast@kernel.org>
Thu, 7 Mar 2024 03:12:26 +0000 (19:12 -0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Thu, 7 Mar 2024 22:58:48 +0000 (14:58 -0800)
commitd147357e2e5977c5fe9218457a1e359fd1d36609
tree3460c738a1dd66aeab815a4e10efee871376909a
parentcf2c2e4a3d910270903d50462aaa75140cdb2c96
libbpf: Allow specifying 64-bit integers in map BTF.

__uint() macro that is used to specify map attributes like:
  __uint(type, BPF_MAP_TYPE_ARRAY);
  __uint(map_flags, BPF_F_MMAPABLE);
It is limited to 32-bit, since BTF_KIND_ARRAY has u32 "number of elements"
field in "struct btf_array".

Introduce __ulong() macro that allows specifying values bigger than 32-bit.
In map definition "map_extra" is the only u64 field, so far.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/r/20240307031228.42896-5-alexei.starovoitov@gmail.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/lib/bpf/bpf_helpers.h
tools/lib/bpf/libbpf.c