xref: /linux/tools/testing/selftests/bpf/libarena/src/common.bpf.c (revision cfc00618b9dfc75cd507f1a4f0d83b4429627399)
1 // SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause
2 /* Copyright (c) 2026 Meta Platforms, Inc. and affiliates. */
3 #include <libarena/common.h>
4 
5 #include <libarena/asan.h>
6 
7 const volatile u32 zero = 0;
8 
9 int arena_fls(__u64 word)
10 {
11 	if (!word)
12 		return 0;
13 
14 	return 64 - __builtin_clzll(word);
15 }
16 
17 SEC("syscall")
18 __weak int arena_get_info(struct arena_get_info_args *args)
19 {
20 	args->arena_base = arena_base(&arena);
21 
22 	return 0;
23 }
24 
25 SEC("syscall")
26 __weak int arena_alloc_reserve(struct arena_alloc_reserve_args *args)
27 {
28 	return bpf_arena_reserve_pages(&arena, NULL, args->nr_pages);
29 }
30 
31 char _license[] SEC("license") = "GPL";
32