]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/linux/kcore.h
team: avoid complex list operations in team_nl_cmd_options_set()
[mirror_ubuntu-jammy-kernel.git] / include / linux / kcore.h
CommitLineData
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
8enum 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
18struct 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
26struct vmcore {
27 struct list_head list;
28 unsigned long long paddr;
29 unsigned long long size;
30 loff_t offset;
31};
32
2724273e
RL
33struct 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 40void __init kclist_add(struct kcore_list *, void *, size_t, int type);
6855dc41
AH
41static inline
42void 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
48static inline
49void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
50{
51}
6855dc41
AH
52
53static inline
54void 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 */