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