diff options
| -rw-r--r-- | arch/x86/xen/enlighten.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index dd7b88f2ec7a..5525163a0398 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
| @@ -1033,6 +1033,13 @@ static void xen_machine_halt(void) | |||
| 1033 | xen_reboot(SHUTDOWN_poweroff); | 1033 | xen_reboot(SHUTDOWN_poweroff); |
| 1034 | } | 1034 | } |
| 1035 | 1035 | ||
| 1036 | static void xen_machine_power_off(void) | ||
| 1037 | { | ||
| 1038 | if (pm_power_off) | ||
| 1039 | pm_power_off(); | ||
| 1040 | xen_reboot(SHUTDOWN_poweroff); | ||
| 1041 | } | ||
| 1042 | |||
| 1036 | static void xen_crash_shutdown(struct pt_regs *regs) | 1043 | static void xen_crash_shutdown(struct pt_regs *regs) |
| 1037 | { | 1044 | { |
| 1038 | xen_reboot(SHUTDOWN_crash); | 1045 | xen_reboot(SHUTDOWN_crash); |
| @@ -1058,7 +1065,7 @@ int xen_panic_handler_init(void) | |||
| 1058 | static const struct machine_ops xen_machine_ops __initconst = { | 1065 | static const struct machine_ops xen_machine_ops __initconst = { |
| 1059 | .restart = xen_restart, | 1066 | .restart = xen_restart, |
| 1060 | .halt = xen_machine_halt, | 1067 | .halt = xen_machine_halt, |
| 1061 | .power_off = xen_machine_halt, | 1068 | .power_off = xen_machine_power_off, |
| 1062 | .shutdown = xen_machine_halt, | 1069 | .shutdown = xen_machine_halt, |
| 1063 | .crash_shutdown = xen_crash_shutdown, | 1070 | .crash_shutdown = xen_crash_shutdown, |
| 1064 | .emergency_restart = xen_emergency_restart, | 1071 | .emergency_restart = xen_emergency_restart, |
