arch: aarch64: Remove useless ISB
Quoting from the reference manual "Writes to PSTATE.{PAN, D, A, I, F} occur in program order without the need for additional synchronization." so we can remove the ISB for arch_irq_lock() and arch_irq_unlock(). Signed-off-by: Carlo Caione <ccaione@baylibre.com>
This commit is contained in:
parent
decf521660
commit
13118acb15
1 changed files with 2 additions and 4 deletions
|
@ -48,10 +48,9 @@ static ALWAYS_INLINE unsigned int arch_irq_lock(void)
|
|||
*/
|
||||
__asm__ volatile("mrs %0, daif;"
|
||||
"msr daifset, %1;"
|
||||
"isb"
|
||||
: "=r" (key)
|
||||
: "i" (DAIFSET_IRQ)
|
||||
: "memory", "cc");
|
||||
: "memory");
|
||||
|
||||
return key;
|
||||
}
|
||||
|
@ -59,10 +58,9 @@ static ALWAYS_INLINE unsigned int arch_irq_lock(void)
|
|||
static ALWAYS_INLINE void arch_irq_unlock(unsigned int key)
|
||||
{
|
||||
__asm__ volatile("msr daif, %0;"
|
||||
"isb"
|
||||
:
|
||||
: "r" (key)
|
||||
: "memory", "cc");
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static ALWAYS_INLINE bool arch_irq_unlocked(unsigned int key)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue