async: Introduce async_schedule_dev_nocall()
[platform/kernel/linux-starfive.git] / include / linux / kcore.h
1 /* SPDX-License-Identifier: GPL-2.0 */
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,
13         KCORE_USER,
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
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
36 #ifdef CONFIG_PROC_KCORE
37 void __init kclist_add(struct kcore_list *, void *, size_t, int type);
38
39 extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn));
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 */