1/* SPDX-License-Identifier: GPL-2.0 */
2/*
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,
13 KCORE_USER,
14};
15
16struct kcore_list {
17 struct list_head list;
18 unsigned long addr;
19 size_t size;
20 int type;
21};
22
23#ifdef CONFIG_PROC_KCORE
24void __init kclist_add(struct kcore_list *, void *, size_t, int type);
25
26extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn));
27#else
28static inline
29void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
30{
31}
32#endif
33
34#endif /* _LINUX_KCORE_H */
35