[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [LINUX] Update crash-kernel-32-on-64.patch with more sensible version from -mm.
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxxxxx> # Date 1174312807 0 # Node ID bbda4759791789229d08499e194db8cdb418c4e7 # Parent 0611355e0df246070c7459f51106eda98447911e [LINUX] Update crash-kernel-32-on-64.patch with more sensible version from -mm. The previous version had side effects outside of the crash dump code. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxxxxx> --- patches/linux-2.6.18/crash-kernel-32-on-64.patch | 9 - linux-2.6-xen-sparse/include/asm-i386/kexec.h | 3 patches/linux-2.6.18/allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch | 28 +++++ patches/linux-2.6.18/allow-i386-crash-kernels-to-handle-x86_64-dumps.patch | 51 ++++++++++ patches/linux-2.6.18/series | 3 5 files changed, 84 insertions(+), 10 deletions(-) diff -r 0611355e0df2 -r bbda47597917 linux-2.6-xen-sparse/include/asm-i386/kexec.h --- a/linux-2.6-xen-sparse/include/asm-i386/kexec.h Mon Mar 19 13:48:00 2007 +0000 +++ b/linux-2.6-xen-sparse/include/asm-i386/kexec.h Mon Mar 19 14:00:07 2007 +0000 @@ -46,6 +46,9 @@ /* The native architecture */ #define KEXEC_ARCH KEXEC_ARCH_386 + +/* We can also handle crash dumps from 64 bit kernel. */ +#define vmcore_elf_check_arch_cross(x) ((x)->e_machine == EM_X86_64) #define MAX_NOTE_BYTES 1024 diff -r 0611355e0df2 -r bbda47597917 patches/linux-2.6.18/allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/linux-2.6.18/allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch Mon Mar 19 14:00:07 2007 +0000 @@ -0,0 +1,30 @@ +From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> + +In file included from arch/i386/kernel/setup.c:46: +include/linux/crash_dump.h:19:36: warning: extra tokens at end of #ifndef directive + +Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> +Cc: Andi Kleen <ak@xxxxxxx> +Cc: Horms <horms@xxxxxxxxxxxx> +Cc: Ian Campbell <ian.campbell@xxxxxxxxxxxxx> +Cc: Magnus Damm <magnus.damm@xxxxxxxxx> +Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> +Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> +--- + + include/linux/crash_dump.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff -puN include/linux/crash_dump.h~allow-i386-crash-kernels-to-handle-x86_64-dumps-fix include/linux/crash_dump.h +--- a/include/linux/crash_dump.h~allow-i386-crash-kernels-to-handle-x86_64-dumps-fix ++++ a/include/linux/crash_dump.h +@@ -16,7 +16,7 @@ extern struct proc_dir_entry *proc_vmcor + + /* 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(x) ++#ifndef vmcore_elf_check_arch_cross + #define vmcore_elf_check_arch_cross(x) 0 + #endif + +_ diff -r 0611355e0df2 -r bbda47597917 patches/linux-2.6.18/allow-i386-crash-kernels-to-handle-x86_64-dumps.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/linux-2.6.18/allow-i386-crash-kernels-to-handle-x86_64-dumps.patch Mon Mar 19 14:00:07 2007 +0000 @@ -0,0 +1,66 @@ +From: Ian Campbell <ian.campbell@xxxxxxxxxxxxx> + +The specific case I am encountering is kdump under Xen with a 64 bit +hypervisor and 32 bit kernel/userspace. The dump created is 64 bit due to +the hypervisor but the dump kernel is 32 bit for maximum compatibility. + +It's possibly less likely to be useful in a purely native scenario but I +see no reason to disallow it. + +Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxxxxx> +Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> +Cc: Horms <horms@xxxxxxxxxxxx> +Cc: Magnus Damm <magnus.damm@xxxxxxxxx> +Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> +Cc: Andi Kleen <ak@xxxxxxx> +Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> +--- + + fs/proc/vmcore.c | 2 +- + include/asm-i386/kexec.h | 3 +++ + include/linux/crash_dump.h | 8 ++++++++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +diff -puN fs/proc/vmcore.c~allow-i386-crash-kernels-to-handle-x86_64-dumps fs/proc/vmcore.c +--- a/fs/proc/vmcore.c~allow-i386-crash-kernels-to-handle-x86_64-dumps ++++ a/fs/proc/vmcore.c +@@ -514,7 +514,7 @@ static int __init parse_crash_elf64_head + /* Do some basic Verification. */ + if (memcmp(ehdr.e_ident, ELFMAG, SELFMAG) != 0 || + (ehdr.e_type != ET_CORE) || +- !elf_check_arch(&ehdr) || ++ !vmcore_elf_check_arch(&ehdr) || + ehdr.e_ident[EI_CLASS] != ELFCLASS64 || + ehdr.e_ident[EI_VERSION] != EV_CURRENT || + ehdr.e_version != EV_CURRENT || +diff -puN include/asm-i386/kexec.h~allow-i386-crash-kernels-to-handle-x86_64-dumps include/asm-i386/kexec.h +--- a/include/asm-i386/kexec.h~allow-i386-crash-kernels-to-handle-x86_64-dumps ++++ a/include/asm-i386/kexec.h +@@ -47,6 +47,9 @@ + /* The native architecture */ + #define KEXEC_ARCH KEXEC_ARCH_386 + ++/* We can also handle crash dumps from 64 bit kernel. */ ++#define vmcore_elf_check_arch_cross(x) ((x)->e_machine == EM_X86_64) ++ + #define MAX_NOTE_BYTES 1024 + + /* CPU does not save ss and esp on stack if execution is already +diff -puN include/linux/crash_dump.h~allow-i386-crash-kernels-to-handle-x86_64-dumps include/linux/crash_dump.h +--- a/include/linux/crash_dump.h~allow-i386-crash-kernels-to-handle-x86_64-dumps ++++ a/include/linux/crash_dump.h +@@ -14,5 +14,13 @@ extern ssize_t copy_oldmem_page(unsigned + extern const struct file_operations proc_vmcore_operations; + extern struct proc_dir_entry *proc_vmcore; + ++/* 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(x) ++#define vmcore_elf_check_arch_cross(x) 0 ++#endif ++ ++#define vmcore_elf_check_arch(x) (elf_check_arch(x) || vmcore_elf_check_arch_cross(x)) ++ + #endif /* CONFIG_CRASH_DUMP */ + #endif /* LINUX_CRASHDUMP_H */ +_ diff -r 0611355e0df2 -r bbda47597917 patches/linux-2.6.18/crash-kernel-32-on-64.patch --- a/patches/linux-2.6.18/crash-kernel-32-on-64.patch Mon Mar 19 13:48:00 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- pristine-linux-2.6.18/include/asm-i386/elf.h 2006-09-20 04:42:06.000000000 +0100 -+++ linux-2.6.18-xen/include/asm-i386/elf.h 2007-03-14 16:42:30.000000000 +0000 -@@ -36,7 +36,7 @@ - * This is used to ensure we don't load something for the wrong architecture. - */ - #define elf_check_arch(x) \ -- (((x)->e_machine == EM_386) || ((x)->e_machine == EM_486)) -+ (((x)->e_machine == EM_386) || ((x)->e_machine == EM_486) || ((x)->e_machine == EM_X86_64)) - - /* - * These are used to set parameters in the core dumps. diff -r 0611355e0df2 -r bbda47597917 patches/linux-2.6.18/series --- a/patches/linux-2.6.18/series Mon Mar 19 13:48:00 2007 +0000 +++ b/patches/linux-2.6.18/series Mon Mar 19 14:00:07 2007 +0000 @@ -19,4 +19,5 @@ fixaddr-top.patch fixaddr-top.patch git-c06cb8b1c4d25e5b4d7a2d7c2462619de1e0dbc4.patch softlockup-no-idle-hz.patch -crash-kernel-32-on-64.patch +allow-i386-crash-kernels-to-handle-x86_64-dumps.patch +allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |