diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-05-26 18:31:02 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-27 04:11:35 -0400 |
commit | 349c709f42453707f74bece0d9d35ee5b3842893 (patch) | |
tree | 873e831dfd606b998c9caeb1a27fa3c3f5eb6ddb /arch/x86/xen/enlighten.c | |
parent | 7b1333aa4cb546ddeb9c05098a53d9a777623a05 (diff) |
xen: use new sched_op
Use the new sched_op hypercall, mainly because xenner doesn't support
the old one.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/xen/enlighten.c')
-rw-r--r-- | arch/x86/xen/enlighten.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 446f4cd649e6..35ddaf50180a 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
@@ -254,7 +254,7 @@ static void xen_irq_enable(void) | |||
254 | static void xen_safe_halt(void) | 254 | static void xen_safe_halt(void) |
255 | { | 255 | { |
256 | /* Blocking includes an implicit local_irq_enable(). */ | 256 | /* Blocking includes an implicit local_irq_enable(). */ |
257 | if (HYPERVISOR_sched_op(SCHEDOP_block, 0) != 0) | 257 | if (HYPERVISOR_sched_op(SCHEDOP_block, NULL) != 0) |
258 | BUG(); | 258 | BUG(); |
259 | } | 259 | } |
260 | 260 | ||
@@ -1138,11 +1138,13 @@ static const struct smp_ops xen_smp_ops __initdata = { | |||
1138 | 1138 | ||
1139 | static void xen_reboot(int reason) | 1139 | static void xen_reboot(int reason) |
1140 | { | 1140 | { |
1141 | struct sched_shutdown r = { .reason = reason }; | ||
1142 | |||
1141 | #ifdef CONFIG_SMP | 1143 | #ifdef CONFIG_SMP |
1142 | smp_send_stop(); | 1144 | smp_send_stop(); |
1143 | #endif | 1145 | #endif |
1144 | 1146 | ||
1145 | if (HYPERVISOR_sched_op(SCHEDOP_shutdown, reason)) | 1147 | if (HYPERVISOR_sched_op(SCHEDOP_shutdown, &r)) |
1146 | BUG(); | 1148 | BUG(); |
1147 | } | 1149 | } |
1148 | 1150 | ||