android_debug_symbols.h 1.5 KB

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