Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * /proc/kcore definitions
0004  */
0005 #ifndef _LINUX_KCORE_H
0006 #define _LINUX_KCORE_H
0007 
0008 enum kcore_type {
0009     KCORE_TEXT,
0010     KCORE_VMALLOC,
0011     KCORE_RAM,
0012     KCORE_VMEMMAP,
0013     KCORE_USER,
0014 };
0015 
0016 struct kcore_list {
0017     struct list_head list;
0018     unsigned long addr;
0019     size_t size;
0020     int type;
0021 };
0022 
0023 struct vmcore {
0024     struct list_head list;
0025     unsigned long long paddr;
0026     unsigned long long size;
0027     loff_t offset;
0028 };
0029 
0030 struct vmcoredd_node {
0031     struct list_head list;  /* List of dumps */
0032     void *buf;      /* Buffer containing device's dump */
0033     unsigned int size;  /* Size of the buffer */
0034 };
0035 
0036 #ifdef CONFIG_PROC_KCORE
0037 void __init kclist_add(struct kcore_list *, void *, size_t, int type);
0038 
0039 extern int __init register_mem_pfn_is_ram(int (*fn)(unsigned long pfn));
0040 #else
0041 static inline
0042 void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
0043 {
0044 }
0045 #endif
0046 
0047 #endif /* _LINUX_KCORE_H */