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:
Carlo Caione 2021-02-05 15:41:38 +01:00 committed by Ioannis Glaropoulos
commit 13118acb15

View file

@ -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)