Blame view

include/linux/kcore.h 941 Bytes
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
2f96b8c1d   David Howells   proc: Split kcore...
2
3
4
5
6
7
8
9
10
11
12
  /*
   * /proc/kcore definitions
   */
  #ifndef _LINUX_KCORE_H
  #define _LINUX_KCORE_H
  
  enum kcore_type {
  	KCORE_TEXT,
  	KCORE_VMALLOC,
  	KCORE_RAM,
  	KCORE_VMEMMAP,
595dd46eb   Jia Zhang   vfs/proc/kcore, x...
13
  	KCORE_USER,
2f96b8c1d   David Howells   proc: Split kcore...
14
  	KCORE_OTHER,
6855dc41b   Adrian Hunter   x86: Add entry tr...
15
  	KCORE_REMAP,
2f96b8c1d   David Howells   proc: Split kcore...
16
17
18
19
20
  };
  
  struct kcore_list {
  	struct list_head list;
  	unsigned long addr;
6855dc41b   Adrian Hunter   x86: Add entry tr...
21
  	unsigned long vaddr;
2f96b8c1d   David Howells   proc: Split kcore...
22
23
24
25
26
27
28
29
30
31
  	size_t size;
  	int type;
  };
  
  struct vmcore {
  	struct list_head list;
  	unsigned long long paddr;
  	unsigned long long size;
  	loff_t offset;
  };
2724273e8   Rahul Lakkireddy   vmcore: add API t...
32
33
34
35
36
  struct vmcoredd_node {
  	struct list_head list;	/* List of dumps */
  	void *buf;		/* Buffer containing device's dump */
  	unsigned int size;	/* Size of the buffer */
  };
2f96b8c1d   David Howells   proc: Split kcore...
37
  #ifdef CONFIG_PROC_KCORE
a8dd9c4df   Omar Sandoval   proc/kcore: don't...
38
  void __init kclist_add(struct kcore_list *, void *, size_t, int type);
ffc8599aa   Kairui Song   x86/gart: Exclude...
39
40
  
  extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn));
2f96b8c1d   David Howells   proc: Split kcore...
41
42
43
44
45
46
47
48
  #else
  static inline
  void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
  {
  }
  #endif
  
  #endif /* _LINUX_KCORE_H */