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_OTHER, 14 }; 15 16 struct kcore_list { 17 struct list_head list; 18 unsigned long addr; 19 size_t size; 20 int type; 21 }; 22 23 struct vmcore { 24 struct list_head list; 25 unsigned long long paddr; 26 unsigned long long size; 27 loff_t offset; 28 }; 29 30 #ifdef CONFIG_PROC_KCORE 31 extern void kclist_add(struct kcore_list *, void *, size_t, int type); 32 #else 33 static inline 34 void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) 35 { 36 } 37 #endif 38 39 #endif /* _LINUX_KCORE_H */ 40