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