xen/panic: use xen_reboot and fix smp_send_stop

Offline vcpu when using stop_self.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
This commit is contained in:
Ian Campbell 2010-08-03 14:55:14 -07:00 committed by Jeremy Fitzhardinge
parent f09f6d194d
commit 086748e52f
2 changed files with 3 additions and 4 deletions

View File

@ -1043,10 +1043,7 @@ static void xen_crash_shutdown(struct pt_regs *regs)
static int
xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
{
struct sched_shutdown r = { .reason = SHUTDOWN_crash};
if (HYPERVISOR_sched_op(SCHEDOP_shutdown, &r))
BUG();
xen_reboot(SHUTDOWN_crash);
return NOTIFY_DONE;
}

View File

@ -394,6 +394,8 @@ static void stop_self(void *v)
load_cr3(swapper_pg_dir);
/* should set up a minimal gdt */
set_cpu_online(cpu, false);
HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL);
BUG();
}