ia64/xen-unstable

view xen/include/xen/kexec.h @ 18811:390ef36eb596

Remove Xen-private definitions from kexec public header.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Wed Nov 19 13:13:39 2008 +0000 (2008-11-19)
parents c88394b7c05a
children
line source
1 #ifndef __XEN_KEXEC_H__
2 #define __XEN_KEXEC_H__
4 #include <public/kexec.h>
5 #include <asm/percpu.h>
6 #include <xen/elfcore.h>
8 typedef struct xen_kexec_reserve {
9 unsigned long size;
10 unsigned long start;
11 } xen_kexec_reserve_t;
13 extern xen_kexec_reserve_t kexec_crash_area;
15 /* We have space for 4 images to support atomic update
16 * of images. This is important for CRASH images since
17 * a panic can happen at any time...
18 */
20 #define KEXEC_IMAGE_DEFAULT_BASE 0
21 #define KEXEC_IMAGE_CRASH_BASE 2
22 #define KEXEC_IMAGE_NR 4
24 int machine_kexec_load(int type, int slot, xen_kexec_image_t *image);
25 void machine_kexec_unload(int type, int slot, xen_kexec_image_t *image);
26 void machine_kexec_reserved(xen_kexec_reserve_t *reservation);
27 void machine_reboot_kexec(xen_kexec_image_t *image);
28 void machine_kexec(xen_kexec_image_t *image);
29 void kexec_crash(void);
30 void kexec_disable_iosapic(void);
31 void kexec_crash_save_cpu(void);
32 crash_xen_info_t *kexec_crash_save_info(void);
33 void machine_crash_shutdown(void);
34 int machine_kexec_get(xen_kexec_range_t *range);
36 /* vmcoreinfo stuff */
37 #define VMCOREINFO_BYTES (4096)
38 #define VMCOREINFO_NOTE_NAME "VMCOREINFO_XEN"
39 void arch_crash_save_vmcoreinfo(void);
40 void vmcoreinfo_append_str(const char *fmt, ...)
41 __attribute__ ((format (printf, 1, 2)));
42 #define VMCOREINFO_PAGESIZE(value) \
43 vmcoreinfo_append_str("PAGESIZE=%ld\n", value)
44 #define VMCOREINFO_SYMBOL(name) \
45 vmcoreinfo_append_str("SYMBOL(%s)=%lx\n", #name, (unsigned long)&name)
46 #define VMCOREINFO_SYMBOL_ALIAS(alias, name) \
47 vmcoreinfo_append_str("SYMBOL(%s)=%lx\n", #alias, (unsigned long)&name)
48 #define VMCOREINFO_STRUCT_SIZE(name) \
49 vmcoreinfo_append_str("SIZE(%s)=%zu\n", #name, sizeof(struct name))
50 #define VMCOREINFO_OFFSET(name, field) \
51 vmcoreinfo_append_str("OFFSET(%s.%s)=%lu\n", #name, #field, \
52 (unsigned long)offsetof(struct name, field))
53 #define VMCOREINFO_OFFSET_ALIAS(name, field, alias) \
54 vmcoreinfo_append_str("OFFSET(%s.%s)=%lu\n", #name, #alias, \
55 (unsigned long)offsetof(struct name, field))
57 #endif /* __XEN_KEXEC_H__ */
59 /*
60 * Local variables:
61 * mode: C
62 * c-set-style: "BSD"
63 * c-basic-offset: 4
64 * tab-width: 4
65 * indent-tabs-mode: nil
66 * End:
67 */