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