Merge "Revert "arm64: Remove unused daif related functions/macros""

This commit is contained in:
qctecmdr 2019-07-31 15:17:23 -07:00 • committed by Gerrit - the friendly Code Review server
commit 5e70ff9768
2 changed files with 19 additions and 1 deletions

View file

@ -52,8 +52,16 @@
.endm
/*
* Save/restore interrupts.
* Enable and disable interrupts.
*/
.macro disable_irq
msr daifset, #2
.endm
.macro enable_irq
msr daifclr, #2
.endm
.macro save_and_disable_irq, flags
mrs \flags, daif
msr daifset, #2

View file

@ -41,6 +41,16 @@ static inline unsigned long local_daif_save(void)
return flags;
}
static inline void local_daif_unmask(void)
{
trace_hardirqs_on();
asm volatile(
"msr daifclr, #0xf // local_daif_unmask"
:
:
: "memory");
}
static inline void local_daif_restore(unsigned long flags)
{
bool irq_disabled = flags & PSR_I_BIT;