| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * Copyright (c) 2021, The Linux Foundation. All rights reserved. | |
| */ | |
| #ifndef _ANDROID_DEBUG_SYMBOLS_H | |
| #define _ANDROID_DEBUG_SYMBOLS_H | |
| enum android_debug_symbol { | |
| ADS_SDATA = 0, | |
| ADS_BSS_END, | |
| ADS_PER_CPU_START, | |
| ADS_PER_CPU_END, | |
| ADS_START_RO_AFTER_INIT, | |
| ADS_END_RO_AFTER_INIT, | |
| ADS_LINUX_BANNER, | |
| #ifdef CONFIG_CMA | |
| ADS_TOTAL_CMA, | |
| #endif | |
| ADS_SLAB_CACHES, | |
| ADS_SLAB_MUTEX, | |
| ADS_MIN_LOW_PFN, | |
| ADS_MAX_PFN, | |
| #ifdef CONFIG_PAGE_OWNER | |
| ADS_PAGE_OWNER_ENABLED, | |
| #endif | |
| #ifdef CONFIG_SLUB_DEBUG | |
| ADS_SLUB_DEBUG, | |
| #endif | |
| #ifdef CONFIG_SWAP | |
| ADS_NR_SWAP_PAGES, | |
| #endif | |
| #ifdef CONFIG_MMU | |
| ADS_MMAP_MIN_ADDR, | |
| #endif | |
| ADS_STACK_GUARD_GAP, | |
| #ifdef CONFIG_SYSCTL | |
| ADS_SYSCTL_LEGACY_VA_LAYOUT, | |
| #endif | |
| ADS_END | |
| }; | |
| enum android_debug_per_cpu_symbol { | |
| ADS_IRQ_STACK_PTR = 0, | |
| ADS_DEBUG_PER_CPU_END | |
| }; | |
| #ifdef CONFIG_ANDROID_DEBUG_SYMBOLS | |
| void *android_debug_symbol(enum android_debug_symbol symbol); | |
| void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol); | |
| void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr, void *data), | |
| void *data); | |
| #else /* !CONFIG_ANDROID_DEBUG_SYMBOLS */ | |
| static inline void *android_debug_symbol(enum android_debug_symbol symbol) | |
| { | |
| return NULL; | |
| } | |
| static inline void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol) | |
| { | |
| return NULL; | |
| } | |
| static inline void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr, | |
| void *data), void *data) {} | |
| #endif /* CONFIG_ANDROID_DEBUG_SYMBOLS */ | |
| #endif /* _ANDROID_DEBUG_SYMBOLS_H */ |