mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
powerpc/64: make restore_interrupts 64e only
This is not used by 64s. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200915114650.3980244-5-npiggin@gmail.com
This commit is contained in:
parent
903dd1ff45
commit
455575533c
@ -191,6 +191,25 @@ notrace unsigned int __check_irq_replay(void)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is specifically called by assembly code to re-enable interrupts
|
||||||
|
* if they are currently disabled. This is typically called before
|
||||||
|
* schedule() or do_signal() when returning to userspace. We do it
|
||||||
|
* in C to avoid the burden of dealing with lockdep etc...
|
||||||
|
*
|
||||||
|
* NOTE: This is called with interrupts hard disabled but not marked
|
||||||
|
* as such in paca->irq_happened, so we need to resync this.
|
||||||
|
*/
|
||||||
|
void notrace restore_interrupts(void)
|
||||||
|
{
|
||||||
|
if (irqs_disabled()) {
|
||||||
|
local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
|
||||||
|
local_irq_enable();
|
||||||
|
} else
|
||||||
|
__hard_irq_enable();
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_PPC_BOOK3E */
|
#endif /* CONFIG_PPC_BOOK3E */
|
||||||
|
|
||||||
void replay_soft_interrupts(void)
|
void replay_soft_interrupts(void)
|
||||||
@ -364,24 +383,6 @@ notrace void arch_local_irq_restore(unsigned long mask)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(arch_local_irq_restore);
|
EXPORT_SYMBOL(arch_local_irq_restore);
|
||||||
|
|
||||||
/*
|
|
||||||
* This is specifically called by assembly code to re-enable interrupts
|
|
||||||
* if they are currently disabled. This is typically called before
|
|
||||||
* schedule() or do_signal() when returning to userspace. We do it
|
|
||||||
* in C to avoid the burden of dealing with lockdep etc...
|
|
||||||
*
|
|
||||||
* NOTE: This is called with interrupts hard disabled but not marked
|
|
||||||
* as such in paca->irq_happened, so we need to resync this.
|
|
||||||
*/
|
|
||||||
void notrace restore_interrupts(void)
|
|
||||||
{
|
|
||||||
if (irqs_disabled()) {
|
|
||||||
local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
|
|
||||||
local_irq_enable();
|
|
||||||
} else
|
|
||||||
__hard_irq_enable();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is a helper to use when about to go into idle low-power
|
* This is a helper to use when about to go into idle low-power
|
||||||
* when the latter has the side effect of re-enabling interrupts
|
* when the latter has the side effect of re-enabling interrupts
|
||||||
|
Loading…
Reference in New Issue
Block a user