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>
This commit is contained in:
committed by
Thomas Gleixner
parent
7b1333aa4c
commit
349c709f42
@@ -254,7 +254,7 @@ static void xen_irq_enable(void)
|
|||||||
static void xen_safe_halt(void)
|
static void xen_safe_halt(void)
|
||||||
{
|
{
|
||||||
/* Blocking includes an implicit local_irq_enable(). */
|
/* Blocking includes an implicit local_irq_enable(). */
|
||||||
if (HYPERVISOR_sched_op(SCHEDOP_block, 0) != 0)
|
if (HYPERVISOR_sched_op(SCHEDOP_block, NULL) != 0)
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1138,11 +1138,13 @@ static const struct smp_ops xen_smp_ops __initdata = {
|
|||||||
|
|
||||||
static void xen_reboot(int reason)
|
static void xen_reboot(int reason)
|
||||||
{
|
{
|
||||||
|
struct sched_shutdown r = { .reason = reason };
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
smp_send_stop();
|
smp_send_stop();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (HYPERVISOR_sched_op(SCHEDOP_shutdown, reason))
|
if (HYPERVISOR_sched_op(SCHEDOP_shutdown, &r))
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -176,9 +176,9 @@ HYPERVISOR_fpu_taskswitch(int set)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
HYPERVISOR_sched_op(int cmd, unsigned long arg)
|
HYPERVISOR_sched_op(int cmd, void *arg)
|
||||||
{
|
{
|
||||||
return _hypercall2(int, sched_op, cmd, arg);
|
return _hypercall2(int, sched_op_new, cmd, arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline long
|
static inline long
|
||||||
|
Reference in New Issue
Block a user