aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/crash.c
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2006-12-07 14:03:54 +0000
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2006-12-07 14:03:54 +0000
commitbd52f01c26803f7346e636b5cc599811050af116 (patch)
treed3184d5eb780698ae6dc6a5f43d28b4da7916a03 /xen/arch/x86/crash.c
parente150713e686a554fedfc97102cdc0d920d1c5bbb (diff)
downloadxen-bd52f01c26803f7346e636b5cc599811050af116.tar.gz
xen-bd52f01c26803f7346e636b5cc599811050af116.tar.bz2
xen-bd52f01c26803f7346e636b5cc599811050af116.zip
[XEN] Early page fault handler to deal with spurious page faults.
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/arch/x86/crash.c')
-rw-r--r--xen/arch/x86/crash.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c
index 3389174a7a..a5b0aeedf1 100644
--- a/xen/arch/x86/crash.c
+++ b/xen/arch/x86/crash.c
@@ -27,7 +27,6 @@
#include <public/xen.h>
#include <asm/hvm/hvm.h>
-#ifdef CONFIG_SMP
static atomic_t waiting_for_crash_ipi;
static int crash_nmi_callback(struct cpu_user_regs *regs, int cpu)
@@ -71,9 +70,7 @@ static void nmi_shootdown_cpus(void)
atomic_set(&waiting_for_crash_ipi, num_online_cpus() - 1);
/* Would it be better to replace the trap vector here? */
set_nmi_callback(crash_nmi_callback);
- /* Ensure the new callback function is set before sending
- * out the NMI
- */
+ /* Ensure the new callback function is set before sending out the NMI. */
wmb();
smp_send_nmi_allbutself();
@@ -88,7 +85,6 @@ static void nmi_shootdown_cpus(void)
/* Leave the nmi callback set */
disable_local_APIC();
}
-#endif
static void crash_save_xen_notes(void)
{
@@ -102,16 +98,12 @@ static void crash_save_xen_notes(void)
void machine_crash_shutdown(void)
{
- printk("machine_crash_shutdown: %d\n", smp_processor_id());
local_irq_disable();
-#ifdef CONFIG_SMP
nmi_shootdown_cpus();
-#endif
-#ifdef CONFIG_X86_IO_APIC
disable_IO_APIC();
-#endif
+
hvm_disable();
crash_save_xen_notes();