diff options
author | Ian Campbell <ian.campbell@xensource.com> | 2006-11-30 12:38:50 +0000 |
---|---|---|
committer | Ian Campbell <ian.campbell@xensource.com> | 2006-11-30 12:38:50 +0000 |
commit | a173b7d011523df95259a206a5ff5d6ceeea336b (patch) | |
tree | b66cfc4f14c39531a5bcff134403904341a1550a /xen/include/xen/kexec.h | |
parent | dc7f685195f2097d99c82bbd1a643024a95331b9 (diff) | |
download | xen-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.h | 43 |
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: + */ |