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 | 14 | KCORE_OTHER, |
6855dc41 | 15 | KCORE_REMAP, |
2f96b8c1 DH |
16 | }; |
17 | ||
18 | struct kcore_list { | |
19 | struct list_head list; | |
20 | unsigned long addr; | |
6855dc41 | 21 | unsigned long vaddr; |
2f96b8c1 DH |
22 | size_t size; |
23 | int type; | |
24 | }; | |
25 | ||
26 | struct vmcore { | |
27 | struct list_head list; | |
28 | unsigned long long paddr; | |
29 | unsigned long long size; | |
30 | loff_t offset; | |
31 | }; | |
32 | ||
2724273e RL |
33 | struct vmcoredd_node { |
34 | struct list_head list; /* List of dumps */ | |
35 | void *buf; /* Buffer containing device's dump */ | |
36 | unsigned int size; /* Size of the buffer */ | |
37 | }; | |
38 | ||
2f96b8c1 | 39 | #ifdef CONFIG_PROC_KCORE |
a8dd9c4d | 40 | void __init kclist_add(struct kcore_list *, void *, size_t, int type); |
6855dc41 AH |
41 | static inline |
42 | void kclist_add_remap(struct kcore_list *m, void *addr, void *vaddr, size_t sz) | |
43 | { | |
44 | m->vaddr = (unsigned long)vaddr; | |
45 | kclist_add(m, addr, sz, KCORE_REMAP); | |
46 | } | |
2f96b8c1 DH |
47 | #else |
48 | static inline | |
49 | void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) | |
50 | { | |
51 | } | |
6855dc41 AH |
52 | |
53 | static inline | |
54 | void kclist_add_remap(struct kcore_list *m, void *addr, void *vaddr, size_t sz) | |
55 | { | |
56 | } | |
2f96b8c1 DH |
57 | #endif |
58 | ||
59 | #endif /* _LINUX_KCORE_H */ |