[patch 1/3] kdump: Add new machine_kexec_finish() architecture callback

From: Michael Holzheu
Date: Fri Jul 29 2011 - 08:40:28 EST


From: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>

In order to be able to set the "kdump active" flag on s390, this patch adds
the new kexec architecture callback "machine_kexec_finish()".

Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
---
include/linux/kexec.h | 1 +
kernel/kexec.c | 8 ++++++++
2 files changed, 9 insertions(+)

--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -115,6 +115,7 @@ struct kimage {
/* kexec interface functions */
extern void machine_kexec(struct kimage *image);
extern int machine_kexec_prepare(struct kimage *image);
+extern void machine_kexec_finish(struct kimage *image, int flags);
extern void machine_kexec_cleanup(struct kimage *image);
extern asmlinkage long sys_kexec_load(unsigned long entry,
unsigned long nr_segments,
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -1017,6 +1017,7 @@ SYSCALL_DEFINE4(kexec_load, unsigned lon
kimage_terminate(image);
}
/* Install the new kernel, and Uninstall the old */
+ machine_kexec_finish(image, flags);
image = xchg(dest_image, image);

out:
@@ -1026,6 +1027,13 @@ out:
return result;
}

+/*
+ * provide an empty default implementation here -- architecture
+ * code may override this
+ */
+void __weak machine_kexec_finish(struct kimage *image, int flags)
+{}
+
#ifdef CONFIG_COMPAT
asmlinkage long compat_sys_kexec_load(unsigned long entry,
unsigned long nr_segments,

--
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/