]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen: Introduce architecture independent data for kexec/kdump
authorDaniel Kiper <daniel.kiper@oracle.com>
Thu, 21 Jun 2012 13:25:02 +0000 (15:25 +0200)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 28 Jun 2012 07:45:23 +0000 (09:45 +0200)
Introduce architecture independent constants and structures
required by Xen kexec/kdump implementation.

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
include/xen/interface/xen.h

index fcdecd74a9168dc9095e18d9ec1767bd4ab7b9ea..65a36bcdb0a3fc3a10961033847f17003c37c08f 100644 (file)
@@ -58,6 +58,7 @@
 #define __HYPERVISOR_event_channel_op     32
 #define __HYPERVISOR_physdev_op           33
 #define __HYPERVISOR_hvm_op               34
+#define __HYPERVISOR_kexec_op             37
 #define __HYPERVISOR_tmem_op              38
 
 /* Architecture-specific hypercall definitions. */
@@ -249,7 +250,39 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
 #define VMASST_TYPE_pae_extended_cr3     3
 #define MAX_VMASST_TYPE 3
 
+/*
+ * Commands to HYPERVISOR_kexec_op().
+ */
+#define KEXEC_CMD_kexec                        0
+#define KEXEC_CMD_kexec_load           1
+#define KEXEC_CMD_kexec_unload         2
+#define KEXEC_CMD_kexec_get_range      3
+
+/*
+ * Memory ranges for kdump (utilized by HYPERVISOR_kexec_op()).
+ */
+#define KEXEC_RANGE_MA_CRASH           0
+#define KEXEC_RANGE_MA_XEN             1
+#define KEXEC_RANGE_MA_CPU             2
+#define KEXEC_RANGE_MA_XENHEAP         3
+#define KEXEC_RANGE_MA_BOOT_PARAM      4
+#define KEXEC_RANGE_MA_EFI_MEMMAP      5
+#define KEXEC_RANGE_MA_VMCOREINFO      6
+
 #ifndef __ASSEMBLY__
+struct xen_kexec_exec {
+       int type;
+};
+
+struct xen_kexec_range {
+       int range;
+       int nr;
+       unsigned long size;
+       unsigned long start;
+};
+
+extern unsigned long xen_vmcoreinfo_maddr;
+extern unsigned long xen_vmcoreinfo_max_size;
 
 typedef uint16_t domid_t;