Blame view
include/linux/crash_dump.h
2.29 KB
60e64d46a [PATCH] kdump: Ro... |
1 2 3 4 5 |
#ifndef LINUX_CRASH_DUMP_H #define LINUX_CRASH_DUMP_H #ifdef CONFIG_CRASH_DUMP #include <linux/kexec.h> |
60e64d46a [PATCH] kdump: Ro... |
6 7 |
#include <linux/device.h> #include <linux/proc_fs.h> |
666bfddbe [PATCH] kdump: Ac... |
8 |
#define ELFCORE_ADDR_MAX (-1ULL) |
85a0ee342 kdump: add is_vmc... |
9 |
#define ELFCORE_ADDR_ERR (-2ULL) |
36ac26171 crashdump: fix un... |
10 |
|
2030eae52 [PATCH] Retrieve ... |
11 |
extern unsigned long long elfcorehdr_addr; |
36ac26171 crashdump: fix un... |
12 |
|
60e64d46a [PATCH] kdump: Ro... |
13 14 |
extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, unsigned long, int); |
666bfddbe [PATCH] kdump: Ac... |
15 |
|
79e030114 [PATCH] i386: All... |
16 17 18 19 20 |
/* Architecture code defines this if there are other possible ELF * machine types, e.g. on bi-arch capable hardware. */ #ifndef vmcore_elf_check_arch_cross #define vmcore_elf_check_arch_cross(x) 0 #endif |
9833c3940 ARM: 6485/5: proc... |
21 22 23 24 25 26 27 28 |
/* * Architecture code can redefine this if there are any special checks * needed for 64-bit ELF vmcores. In case of 32-bit only architecture, * this can be set to zero. */ #ifndef vmcore_elf64_check_arch #define vmcore_elf64_check_arch(x) (elf_check_arch(x) || vmcore_elf_check_arch_cross(x)) #endif |
79e030114 [PATCH] i386: All... |
29 |
|
57cac4d18 kdump: make elfco... |
30 31 32 33 34 35 36 37 38 |
/* * is_kdump_kernel() checks whether this kernel is booting after a panic of * previous kernel or not. This is determined by checking if previous kernel * has passed the elf core header address on command line. * * This is not just a test if CONFIG_CRASH_DUMP is enabled or not. It will * return 1 if CONFIG_CRASH_DUMP=y and if kernel is booting after a panic of * previous kernel. */ |
95b68dec0 calgary iommu: us... |
39 40 41 42 |
static inline int is_kdump_kernel(void) { return (elfcorehdr_addr != ELFCORE_ADDR_MAX) ? 1 : 0; } |
85a0ee342 kdump: add is_vmc... |
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
/* is_vmcore_usable() checks if the kernel is booting after a panic and * the vmcore region is usable. * * This makes use of the fact that due to alignment -2ULL is not * a valid pointer, much in the vain of IS_ERR(), except * dealing directly with an unsigned long long rather than a pointer. */ static inline int is_vmcore_usable(void) { return is_kdump_kernel() && elfcorehdr_addr != ELFCORE_ADDR_ERR ? 1 : 0; } /* vmcore_unusable() marks the vmcore as unusable, * without disturbing the logic of is_kdump_kernel() */ static inline void vmcore_unusable(void) { if (is_kdump_kernel()) elfcorehdr_addr = ELFCORE_ADDR_ERR; } |
997c136f5 fs/proc/vmcore.c:... |
66 67 68 69 |
#define HAVE_OLDMEM_PFN_IS_RAM 1 extern int register_oldmem_pfn_is_ram(int (*fn)(unsigned long pfn)); extern void unregister_oldmem_pfn_is_ram(void); |
95b68dec0 calgary iommu: us... |
70 71 |
#else /* !CONFIG_CRASH_DUMP */ static inline int is_kdump_kernel(void) { return 0; } |
60e64d46a [PATCH] kdump: Ro... |
72 |
#endif /* CONFIG_CRASH_DUMP */ |
95b68dec0 calgary iommu: us... |
73 74 |
extern unsigned long saved_max_pfn; |
60e64d46a [PATCH] kdump: Ro... |
75 |
#endif /* LINUX_CRASHDUMP_H */ |