[PATCH v2 00/11] xen: Initial kexec/kdump implementation

From: Daniel Kiper
Date: Tue Nov 20 2012 - 10:18:53 EST



Hi,

This set of patches contains initial kexec/kdump implementation for Xen v2
(previous version were posted to few people by mistake; sorry for that).
Currently only dom0 is supported, however, almost all infrustructure
required for domU support is ready.

Jan Beulich suggested to merge Xen x86 assembler code with baremetal x86 code.
This could simplify and reduce a bit size of kernel code. However, this solution
requires some changes in baremetal x86 code. The most important thing which should
be changed in that case is format of page_list array. Xen kexec hypercall requires
to alternate physical addresses with virtual ones. This and other required things
have not done in that version because I am not sure that solution will be accepted
by kexec/kdump maintainers. I hope that this email spark discussion about that topic.

Daniel

arch/x86/include/asm/kexec.h | 10 +-
arch/x86/include/asm/xen/hypercall.h | 6 +
arch/x86/include/asm/xen/kexec.h | 83 +++++++++
arch/x86/kernel/machine_kexec_64.c | 12 +-
arch/x86/kernel/vmlinux.lds.S | 7 +-
arch/x86/xen/Makefile | 3 +
arch/x86/xen/enlighten.c | 12 ++
arch/x86/xen/kexec.c | 150 ++++++++++++++++
arch/x86/xen/machine_kexec_32.c | 245 ++++++++++++++++++++++++++
arch/x86/xen/machine_kexec_64.c | 301 +++++++++++++++++++++++++++++++
arch/x86/xen/relocate_kernel_32.S | 323 ++++++++++++++++++++++++++++++++++
arch/x86/xen/relocate_kernel_64.S | 309 ++++++++++++++++++++++++++++++++
drivers/xen/sys-hypervisor.c | 42 +++++-
include/linux/kexec.h | 18 ++
include/xen/interface/xen.h | 33 ++++
kernel/kexec.c | 125 ++++++++++----
16 files changed, 1636 insertions(+), 43 deletions(-)

Daniel Kiper (11):
kexec: introduce kexec_ops struct
x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE
xen: Introduce architecture independent data for kexec/kdump
x86/xen: Introduce architecture dependent data for kexec/kdump
x86/xen: Register resources required by kexec-tools
x86/xen: Add i386 kexec/kdump implementation
x86/xen: Add x86_64 kexec/kdump implementation
x86/xen: Add kexec/kdump makefile rules
x86/xen/enlighten: Add init and crash kexec/kdump hooks
drivers/xen: Export vmcoreinfo through sysfs
x86: Add Xen kexec control code size check to linker script
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/