1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2023, Unisoc (Shanghai) Technologies Co., Ltd
5 */
6
7 #ifndef _ANDROID_DEBUG_SYMBOLS_H
8 #define _ANDROID_DEBUG_SYMBOLS_H
9
10 enum android_debug_symbol {
11 ADS_PER_CPU_START = 0,
12 ADS_PER_CPU_END,
13 ADS_TEXT,
14 ADS_SEND,
15 ADS_MEM_BLOCK,
16 ADS_INIT_MM,
17 ADS_ITERATE_SUPERS,
18 ADS_DROP_SLAB,
19 ADS_FREE_PAGES,
20 ADS_COMPACT_PAGES,
21 ADS_SHOW_MEM, /* for debugging memory usage */
22 ADS_TOTAL_CMA, /* for debugging total cma pages */
23 ADS_SLAB_CACHES, /* for debugging slab */
24 ADS_SLAB_MUTEX, /* for debugging slab */
25 ADS_END
26 };
27
28 enum android_debug_per_cpu_symbol {
29 ADS_IRQ_STACK_PTR = 0,
30 ADS_DEBUG_PER_CPU_END
31 };
32
33 #ifdef CONFIG_ANDROID_DEBUG_SYMBOLS
34
35 void *android_debug_symbol(enum android_debug_symbol symbol);
36 void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol);
37
38 #else /* !CONFIG_ANDROID_DEBUG_SYMBOLS */
39
android_debug_symbol(enum android_debug_symbol symbol)40 static inline void *android_debug_symbol(enum android_debug_symbol symbol)
41 {
42 return NULL;
43 }
android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol)44 static inline void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol)
45 {
46 return NULL;
47 }
48
49 #endif /* CONFIG_ANDROID_DEBUG_SYMBOLS */
50
51 #endif /* _ANDROID_DEBUG_SYMBOLS_H */
52