|
@@ -173,6 +173,7 @@ out:
|
|
local_irq_restore(flags);
|
|
local_irq_restore(flags);
|
|
spin_time_accum_blocked(start);
|
|
spin_time_accum_blocked(start);
|
|
}
|
|
}
|
|
|
|
+PV_CALLEE_SAVE_REGS_THUNK(xen_lock_spinning);
|
|
|
|
|
|
static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
|
|
static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
|
|
{
|
|
{
|
|
@@ -260,7 +261,7 @@ void __init xen_init_spinlocks(void)
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- pv_lock_ops.lock_spinning = xen_lock_spinning;
|
|
|
|
|
|
+ pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(xen_lock_spinning);
|
|
pv_lock_ops.unlock_kick = xen_unlock_kick;
|
|
pv_lock_ops.unlock_kick = xen_unlock_kick;
|
|
}
|
|
}
|
|
|
|
|