#include <linux/pci.h>
#include <linux/gfp.h>
#include <linux/memblock.h>
+#include <linux/kexec.h>
#include <xen/xen.h>
#include <xen/interface/xen.h>
#include <asm/hypervisor.h>
#include <asm/mwait.h>
#include <asm/pci_x86.h>
+#include <asm/xen/kexec.h>
#ifdef CONFIG_ACPI
#include <asm/acpi.h>
static void xen_crash_shutdown(struct pt_regs *regs)
{
+#ifdef CONFIG_KEXEC
+ if (kexec_crash_image) {
+ crash_save_cpu(regs, safe_smp_processor_id());
+ return;
+ }
+#endif
xen_reboot(SHUTDOWN_crash);
}
xen_init_mmu_ops();
+#ifdef CONFIG_KEXEC
+ xen_init_kexec_ops();
+#endif
+
/* Prevent unwanted bits from being set in PTEs. */
__supported_pte_mask &= ~_PAGE_GLOBAL;
if (!xen_initial_domain())