aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-05-26 18:31:02 -0400
committerThomas Gleixner <tglx@linutronix.de>2008-05-27 04:11:35 -0400
commit349c709f42453707f74bece0d9d35ee5b3842893 (patch)
tree873e831dfd606b998c9caeb1a27fa3c3f5eb6ddb
parent7b1333aa4cb546ddeb9c05098a53d9a777623a05 (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>
-rw-r--r--arch/x86/xen/enlighten.c6
-rw-r--r--include/asm-x86/xen/hypercall.h4
2 files changed, 6 insertions, 4 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)
254static void xen_safe_halt(void) 254static 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
1139static void xen_reboot(int reason) 1139static 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
diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
index 897ff79cca3b..2a4f9b41d684 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/include/asm-x86/xen/hypercall.h
@@ -176,9 +176,9 @@ HYPERVISOR_fpu_taskswitch(int set)
176} 176}
177 177
178static inline int 178static inline int
179HYPERVISOR_sched_op(int cmd, unsigned long arg) 179HYPERVISOR_sched_op(int cmd, void *arg)
180{ 180{
181 return _hypercall2(int, sched_op, cmd, arg); 181 return _hypercall2(int, sched_op_new, cmd, arg);
182} 182}
183 183
184static inline long 184static inline long