aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/kexec.h
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@xensource.com>2006-11-30 12:38:50 +0000
committerIan Campbell <ian.campbell@xensource.com>2006-11-30 12:38:50 +0000
commita173b7d011523df95259a206a5ff5d6ceeea336b (patch)
treeb66cfc4f14c39531a5bcff134403904341a1550a /xen/include/xen/kexec.h
parentdc7f685195f2097d99c82bbd1a643024a95331b9 (diff)
downloadxen-a173b7d011523df95259a206a5ff5d6ceeea336b.tar.gz
xen-a173b7d011523df95259a206a5ff5d6ceeea336b.tar.bz2
xen-a173b7d011523df95259a206a5ff5d6ceeea336b.zip
[XEN] Kexec / Kdump: Generic code
This patch implements the generic portion of the Kexec / Kdump port to Xen. Signed-Off-By: Magnus Damm <magnus@valinux.co.jp> Signed-Off-By: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'xen/include/xen/kexec.h')
-rw-r--r--xen/include/xen/kexec.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/xen/include/xen/kexec.h b/xen/include/xen/kexec.h
new file mode 100644
index 0000000000..cebc2d793a
--- /dev/null
+++ b/xen/include/xen/kexec.h
@@ -0,0 +1,43 @@
+#ifndef __XEN_KEXEC_H__
+#define __XEN_KEXEC_H__
+
+#include <public/kexec.h>
+#include <asm/percpu.h>
+#include <xen/elfcore.h>
+
+extern int crashing_cpu;
+
+typedef struct xen_kexec_reserve {
+ unsigned long size;
+ unsigned long start;
+} xen_kexec_reserve_t;
+
+/* We have space for 4 images to support atomic update
+ * of images. This is important for CRASH images since
+ * a panic can happen at any time...
+ */
+
+#define KEXEC_IMAGE_DEFAULT_BASE 0
+#define KEXEC_IMAGE_CRASH_BASE 2
+#define KEXEC_IMAGE_NR 4
+
+int machine_kexec_load(int type, int slot, xen_kexec_image_t *image);
+void machine_kexec_unload(int type, int slot, xen_kexec_image_t *image);
+void machine_kexec_reserved(xen_kexec_reserve_t *reservation);
+void machine_shutdown(xen_kexec_image_t *image);
+void machine_crash_kexec(void);
+void machine_crash_save_cpu(void);
+crash_xen_info_t *machine_crash_save_info(void);
+void machine_crash_shutdown(void);
+
+#endif /* __XEN_KEXEC_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */