minidump_memory.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #define MD_MEMINFO_PAGES 1
  7. #define MD_SLABINFO_PAGES 8
  8. #ifdef CONFIG_PAGE_OWNER
  9. extern size_t md_pageowner_dump_size;
  10. extern char *md_pageowner_dump_addr;
  11. #endif
  12. #ifdef CONFIG_SLUB_DEBUG
  13. extern size_t md_slabowner_dump_size;
  14. extern char *md_slabowner_dump_addr;
  15. #endif
  16. extern size_t md_dma_buf_info_size;
  17. extern char *md_dma_buf_info_addr;
  18. extern size_t md_dma_buf_procs_size;
  19. extern char *md_dma_buf_procs_addr;
  20. void md_dump_meminfo(struct seq_buf *m);
  21. #ifdef CONFIG_SLUB_DEBUG
  22. void md_dump_slabinfo(struct seq_buf *m);
  23. #else
  24. static inline void md_dump_slabinfo(struct seq_buf *m) {}
  25. #endif
  26. bool md_register_memory_dump(int size, char *name);
  27. bool md_unregister_memory_dump(char *name);
  28. #ifdef CONFIG_PAGE_OWNER
  29. bool is_page_owner_enabled(void);
  30. void md_dump_pageowner(char *addr, size_t dump_size);
  31. void md_debugfs_pageowner(struct dentry *minidump_dir);
  32. #else
  33. static inline bool is_page_owner_enabled(void) { return false; }
  34. static inline void md_dump_pageowner(char *addr, size_t dump_size) {}
  35. static inline void md_debugfs_pageowner(struct dentry *minidump_dir) {}
  36. #endif
  37. #ifdef CONFIG_SLUB_DEBUG
  38. bool is_slub_debug_enabled(void);
  39. void md_dump_slabowner(char *addr, size_t dump_size);
  40. void md_debugfs_slabowner(struct dentry *minidump_dir);
  41. #else
  42. static inline bool is_slub_debug_enabled(void) { return false; }
  43. static inline void md_dump_slabowner(char *addr, size_t dump_size) {}
  44. static inline void md_debugfs_slabowner(struct dentry *minidump_dir) {}
  45. #endif
  46. void md_dma_buf_info(char *m, size_t dump_size);
  47. void md_debugfs_dmabufinfo(struct dentry *minidump_dir);
  48. void md_dma_buf_procs(char *m, size_t dump_size);
  49. void md_debugfs_dmabufprocs(struct dentry *minidump_dir);
  50. int md_minidump_memory_init(void);