arm64: irqflags: Add condition flags to inline asm clobber list
authorJulien Thierry <julien.thierry@arm.com>
Tue, 11 Jun 2019 09:38:08 +0000 (10:38 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 21 Jun 2019 14:49:30 +0000 (15:49 +0100)
Some of the inline assembly instruction use the condition flags and need
to include "cc" in the clobber list.

Fixes: 4a503217ce37 ("arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking")
Cc: <stable@vger.kernel.org> # 5.1.x-
Suggested-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/irqflags.h

index 9c93152c9af746738361401fdfec10e258c0417d..fbe1aba6ffb35212a88c4aabc15361349d308453 100644 (file)
@@ -92,7 +92,7 @@ static inline unsigned long arch_local_save_flags(void)
                        ARM64_HAS_IRQ_PRIO_MASKING)
                : "=&r" (flags), "+r" (daif_bits)
                : "r" ((unsigned long) GIC_PRIO_IRQOFF)
-               : "memory");
+               : "cc", "memory");
 
        return flags;
 }
@@ -136,7 +136,7 @@ static inline int arch_irqs_disabled_flags(unsigned long flags)
                        ARM64_HAS_IRQ_PRIO_MASKING)
                : "=&r" (res)
                : "r" ((int) flags)
-               : "memory");
+               : "cc", "memory");
 
        return res;
 }