1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * /proc/kcore definitions 4 */ 5 #ifndef _LINUX_KCORE_H 6 #define _LINUX_KCORE_H 7 8 enum kcore_type { 9 KCORE_TEXT, 10 KCORE_VMALLOC, 11 KCORE_RAM, 12 KCORE_VMEMMAP, 13 KCORE_USER, 14 KCORE_OTHER, 15 }; 16 17 struct kcore_list { 18 struct list_head list; 19 unsigned long addr; 20 size_t size; 21 int type; 22 }; 23 24 struct vmcore { 25 struct list_head list; 26 unsigned long long paddr; 27 unsigned long long size; 28 loff_t offset; 29 }; 30 31 struct vmcoredd_node { 32 struct list_head list; /* List of dumps */ 33 void *buf; /* Buffer containing device's dump */ 34 unsigned int size; /* Size of the buffer */ 35 }; 36 37 #ifdef CONFIG_PROC_KCORE 38 extern void kclist_add(struct kcore_list *, void *, size_t, int type); 39 #else 40 static inline 41 void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) 42 { 43 } 44 #endif 45 46 #endif /* _LINUX_KCORE_H */ 47