diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c index 392c8d2395..2636950dbc 100644 --- a/xen/arch/x86/crash.c +++ b/xen/arch/x86/crash.c @@ -29,6 +29,7 @@ #include #include #include +#include static atomic_t waiting_for_crash_ipi; static unsigned int crashing_cpu; @@ -61,6 +62,9 @@ static void nmi_shootdown_cpus(void) local_irq_disable(); + if ( hpet_broadcast_is_available() ) + hpet_disable_legacy_broadcast(); + crashing_cpu = smp_processor_id(); local_irq_count(crashing_cpu) = 0; diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c index b6fb5d9f60..78279c8ef1 100644 --- a/xen/arch/x86/machine_kexec.c +++ b/xen/arch/x86/machine_kexec.c @@ -85,9 +85,6 @@ void machine_kexec(xen_kexec_image_t *image) .limit = LAST_RESERVED_GDT_BYTE }; - if ( hpet_broadcast_is_available() ) - hpet_disable_legacy_broadcast(); - /* We are about to permenantly jump out of the Xen context into the kexec * purgatory code. We really dont want to be still servicing interupts. */