• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4  */
5 
6 #ifndef _ANDROID_DEBUG_SYMBOLS_H
7 #define _ANDROID_DEBUG_SYMBOLS_H
8 
9 enum android_debug_symbol {
10 	ADS_SDATA = 0,
11 	ADS_BSS_END,
12 	ADS_PER_CPU_START,
13 	ADS_PER_CPU_END,
14 	ADS_START_RO_AFTER_INIT,
15 	ADS_END_RO_AFTER_INIT,
16 	ADS_LINUX_BANNER,
17 #ifdef CONFIG_CMA
18 	ADS_TOTAL_CMA,
19 #endif
20 	ADS_SLAB_CACHES,
21 	ADS_SLAB_MUTEX,
22 	ADS_MIN_LOW_PFN,
23 	ADS_MAX_PFN,
24 	ADS_VMALLOC_NR_PAGES,
25 	ADS_PCPU_NR_PAGES,
26 #ifdef CONFIG_PAGE_OWNER
27 	ADS_PAGE_OWNER_ENABLED,
28 #endif
29 #ifdef CONFIG_SLUB_DEBUG
30 	ADS_SLUB_DEBUG,
31 #endif
32 #ifdef CONFIG_SWAP
33 	ADS_NR_SWAP_PAGES,
34 #endif
35 #ifdef CONFIG_MMU
36 	ADS_MMAP_MIN_ADDR,
37 #endif
38 	ADS_STACK_GUARD_GAP,
39 #ifdef CONFIG_SYSCTL
40 	ADS_SYSCTL_LEGACY_VA_LAYOUT,
41 #endif
42 	ADS_SHOW_MEM,
43 	ADS_END
44 };
45 
46 enum android_debug_per_cpu_symbol {
47 	ADS_IRQ_STACK_PTR = 0,
48 	ADS_DEBUG_PER_CPU_END
49 };
50 
51 #ifdef CONFIG_ANDROID_DEBUG_SYMBOLS
52 
53 void *android_debug_symbol(enum android_debug_symbol symbol);
54 void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol);
55 
56 void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr, void *data),
57 	void *data);
58 
59 #else /* !CONFIG_ANDROID_DEBUG_SYMBOLS */
60 
android_debug_symbol(enum android_debug_symbol symbol)61 static inline void *android_debug_symbol(enum android_debug_symbol symbol)
62 {
63 	return NULL;
64 }
android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol)65 static inline void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol)
66 {
67 	return NULL;
68 }
69 
android_debug_for_each_module(int (* fn)(const char * mod_name,void * mod_addr,void * data),void * data)70 static inline void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr,
71 	void *data), void *data) {}
72 #endif /* CONFIG_ANDROID_DEBUG_SYMBOLS */
73 
74 #endif /* _ANDROID_DEBUG_SYMBOLS_H */
75