diff options
Diffstat (limited to 'include/linux/kcore.h')
-rw-r--r-- | include/linux/kcore.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/kcore.h b/include/linux/kcore.h new file mode 100644 index 000000000..86c0f1d18 --- /dev/null +++ b/include/linux/kcore.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * /proc/kcore definitions + */ +#ifndef _LINUX_KCORE_H +#define _LINUX_KCORE_H + +enum kcore_type { + KCORE_TEXT, + KCORE_VMALLOC, + KCORE_RAM, + KCORE_VMEMMAP, + KCORE_USER, +}; + +struct kcore_list { + struct list_head list; + unsigned long addr; + size_t size; + int type; +}; + +struct vmcore { + struct list_head list; + unsigned long long paddr; + unsigned long long size; + loff_t offset; +}; + +struct vmcoredd_node { + struct list_head list; /* List of dumps */ + void *buf; /* Buffer containing device's dump */ + unsigned int size; /* Size of the buffer */ +}; + +#ifdef CONFIG_PROC_KCORE +void __init kclist_add(struct kcore_list *, void *, size_t, int type); + +extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn)); +#else +static inline +void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) +{ +} +#endif + +#endif /* _LINUX_KCORE_H */ |