[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] RE: [PATCH]xen/acpi: make poweroff really work for pv-ops dom0
You are right. To make Xen poweroff really work for ACPI system, it requires dom0 to provide some assistance such as _SST invoke and so on. Jimmy Jeremy Fitzhardinge wrote: > On 11/23/09 17:33, Wei, Gang wrote: >> xen/acpi: Make poweroff really work for pv-ops dom0 >> >> sched_op(SHUTDOWN_poweroff) hypercall will only halt all physical >> cpus without really poweroff the system. Use pm_power_off fn to >> achieve it. >> > > It seems unfortunate that Xen can't actually implement > SHUTDOWN_poweroff in a manner that the name suggests ;) But it can't > because it may need to interpret _SST to do it... > > Thanks, > J > >> Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx> >> >> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c >> index ecb9b0d..d9fd3f4 100644 >> --- a/arch/x86/xen/enlighten.c >> +++ b/arch/x86/xen/enlighten.c >> @@ -1058,6 +1058,14 @@ static void xen_machine_halt(void) >> xen_reboot(SHUTDOWN_poweroff); >> } >> >> +static void xen_machine_power_off(void) >> +{ >> + if (pm_power_off) >> + pm_power_off(); >> + else >> + xen_reboot(SHUTDOWN_poweroff); >> +} >> + >> static void xen_crash_shutdown(struct pt_regs *regs) { >> xen_reboot(SHUTDOWN_crash); >> @@ -1066,7 +1074,7 @@ static void xen_crash_shutdown(struct pt_regs >> *regs) static const struct machine_ops __initdata xen_machine_ops = >> { .restart = xen_restart, .halt = xen_machine_halt, >> - .power_off = xen_machine_halt, >> + .power_off = xen_machine_power_off, >> .shutdown = xen_machine_halt, >> .crash_shutdown = xen_crash_shutdown, >> .emergency_restart = xen_emergency_restart, _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |