/* 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 */