mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
x86, asmlinkage, lguest: Fix C functions used by inline assembler
- Make the C code used by the paravirt stubs visible - Since they have to be global now, give them a more unique name. Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andi Kleen <ak@linux.intel.com> Link: http://lkml.kernel.org/r/1382458079-24450-3-git-send-email-andi@firstfloor.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
d8ec26d7f8
commit
9549b9b347
@ -233,13 +233,13 @@ static void lguest_end_context_switch(struct task_struct *next)
|
||||
* flags word contains all kind of stuff, but in practice Linux only cares
|
||||
* about the interrupt flag. Our "save_flags()" just returns that.
|
||||
*/
|
||||
static unsigned long save_fl(void)
|
||||
asmlinkage unsigned long lguest_save_fl(void)
|
||||
{
|
||||
return lguest_data.irq_enabled;
|
||||
}
|
||||
|
||||
/* Interrupts go off... */
|
||||
static void irq_disable(void)
|
||||
asmlinkage void lguest_irq_disable(void)
|
||||
{
|
||||
lguest_data.irq_enabled = 0;
|
||||
}
|
||||
@ -253,8 +253,8 @@ static void irq_disable(void)
|
||||
* PV_CALLEE_SAVE_REGS_THUNK(), which pushes %eax onto the stack, calls the
|
||||
* C function, then restores it.
|
||||
*/
|
||||
PV_CALLEE_SAVE_REGS_THUNK(save_fl);
|
||||
PV_CALLEE_SAVE_REGS_THUNK(irq_disable);
|
||||
PV_CALLEE_SAVE_REGS_THUNK(lguest_save_fl);
|
||||
PV_CALLEE_SAVE_REGS_THUNK(lguest_irq_disable);
|
||||
/*:*/
|
||||
|
||||
/* These are in i386_head.S */
|
||||
@ -1291,9 +1291,9 @@ __init void lguest_init(void)
|
||||
*/
|
||||
|
||||
/* Interrupt-related operations */
|
||||
pv_irq_ops.save_fl = PV_CALLEE_SAVE(save_fl);
|
||||
pv_irq_ops.save_fl = PV_CALLEE_SAVE(lguest_save_fl);
|
||||
pv_irq_ops.restore_fl = __PV_IS_CALLEE_SAVE(lg_restore_fl);
|
||||
pv_irq_ops.irq_disable = PV_CALLEE_SAVE(irq_disable);
|
||||
pv_irq_ops.irq_disable = PV_CALLEE_SAVE(lguest_irq_disable);
|
||||
pv_irq_ops.irq_enable = __PV_IS_CALLEE_SAVE(lg_irq_enable);
|
||||
pv_irq_ops.safe_halt = lguest_safe_halt;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user