diff options
author | Vivek Goyal <vgoyal@in.ibm.com> | 2005-06-25 17:58:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:53 -0400 |
commit | 666bfddbe8b8fd4fd44617d6c55193d5ac7edb29 (patch) | |
tree | 74b03732131c51dbfd79a06f97d5ccec8894f9f3 /include/linux | |
parent | 2030eae52b416a9a9f0ffda74c982b7f1e19496d (diff) |
[PATCH] kdump: Access dump file in elf format (/proc/vmcore)
From: "Vivek Goyal" <vgoyal@in.ibm.com>
o Support for /proc/vmcore interface. This interface exports elf core image
either in ELF32 or ELF64 format, depending on the format in which elf headers
have been stored by crashed kernel.
o Added support for CONFIG_VMCORE config option.
o Removed the dependency on /proc/kcore.
From: "Eric W. Biederman" <ebiederm@xmission.com>
This patch has been refactored to more closely match the prevailing style in
the affected files. And to clearly indicate the dependency between
/proc/kcore and proc/vmcore.c
From: Hariprasad Nellitheertha <hari@in.ibm.com>
This patch contains the code that provides an ELF format interface to the
previous kernel's memory post kexec reboot.
Signed off by Hariprasad Nellitheertha <hari@in.ibm.com>
Signed-off-by: Eric Biederman <ebiederm@xmission.com>
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/crash_dump.h | 4 | ||||
-rw-r--r-- | include/linux/proc_fs.h | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h index 3f25fd1eaa4b..534d750d922d 100644 --- a/include/linux/crash_dump.h +++ b/include/linux/crash_dump.h | |||
@@ -7,8 +7,12 @@ | |||
7 | #include <linux/device.h> | 7 | #include <linux/device.h> |
8 | #include <linux/proc_fs.h> | 8 | #include <linux/proc_fs.h> |
9 | 9 | ||
10 | #define ELFCORE_ADDR_MAX (-1ULL) | ||
10 | extern unsigned long long elfcorehdr_addr; | 11 | extern unsigned long long elfcorehdr_addr; |
11 | extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, | 12 | extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, |
12 | unsigned long, int); | 13 | unsigned long, int); |
14 | extern struct file_operations proc_vmcore_operations; | ||
15 | extern struct proc_dir_entry *proc_vmcore; | ||
16 | |||
13 | #endif /* CONFIG_CRASH_DUMP */ | 17 | #endif /* CONFIG_CRASH_DUMP */ |
14 | #endif /* LINUX_CRASHDUMP_H */ | 18 | #endif /* LINUX_CRASHDUMP_H */ |
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index 59e505261fd6..0563581e3a02 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h | |||
@@ -74,6 +74,13 @@ struct kcore_list { | |||
74 | size_t size; | 74 | size_t size; |
75 | }; | 75 | }; |
76 | 76 | ||
77 | struct vmcore { | ||
78 | struct list_head list; | ||
79 | unsigned long long paddr; | ||
80 | unsigned long size; | ||
81 | loff_t offset; | ||
82 | }; | ||
83 | |||
77 | #ifdef CONFIG_PROC_FS | 84 | #ifdef CONFIG_PROC_FS |
78 | 85 | ||
79 | extern struct proc_dir_entry proc_root; | 86 | extern struct proc_dir_entry proc_root; |