blob: 80db19d3a5054d5c064727644af49fdf31310111 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
David Howells2f96b8c2013-04-12 00:10:25 +01002/*
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,
Jia Zhang595dd462018-02-12 22:44:53 +080013 KCORE_USER,
David Howells2f96b8c2013-04-12 00:10:25 +010014 KCORE_OTHER,
15};
16
17struct kcore_list {
18 struct list_head list;
19 unsigned long addr;
20 size_t size;
21 int type;
22};
23
24struct vmcore {
25 struct list_head list;
26 unsigned long long paddr;
27 unsigned long long size;
28 loff_t offset;
29};
30
31#ifdef CONFIG_PROC_KCORE
32extern void kclist_add(struct kcore_list *, void *, size_t, int type);
33#else
34static inline
35void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
36{
37}
38#endif
39
40#endif /* _LINUX_KCORE_H */