linux/include/linux/kcore.h
<<
>>
Prefs
   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
  23struct vmcore {
  24        struct list_head list;
  25        unsigned long long paddr;
  26        unsigned long long size;
  27        loff_t offset;
  28};
  29
  30struct 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
  37void __init kclist_add(struct kcore_list *, void *, size_t, int type);
  38
  39extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn));
  40#else
  41static inline
  42void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
  43{
  44}
  45#endif
  46
  47#endif /* _LINUX_KCORE_H */
  48