Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2f96b8c1 DH |
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, | |
595dd46e | 13 | KCORE_USER, |
2f96b8c1 DH |
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 | ||
2724273e RL |
30 | struct 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 | ||
2f96b8c1 | 36 | #ifdef CONFIG_PROC_KCORE |
a8dd9c4d | 37 | void __init kclist_add(struct kcore_list *, void *, size_t, int type); |
ffc8599a KS |
38 | |
39 | extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn)); | |
2f96b8c1 DH |
40 | #else |
41 | static inline | |
42 | void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) | |
43 | { | |
44 | } | |
45 | #endif | |
46 | ||
47 | #endif /* _LINUX_KCORE_H */ |