2019-06-11 09:52:12

by Julien Thierry

[permalink] [raw]
Subject: [PATCH v4 3/8] arm64: irqflags: Add condition flags to inline asm clobber list

Some of the inline assembly instruction use the condition flags and need
to include "cc" in the clobber list.

Fixes: commit 4a503217ce37 ("arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking")
Suggested-by: Marc Zyngier <[email protected]>
Signed-off-by: Julien Thierry <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
---
arch/arm64/include/asm/irqflags.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/include/asm/irqflags.h b/arch/arm64/include/asm/irqflags.h
index 9c93152..fbe1aba 100644
--- a/arch/arm64/include/asm/irqflags.h
+++ b/arch/arm64/include/asm/irqflags.h
@@ -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;
}
--
1.9.1


2019-06-11 13:58:15

by Mark Rutland

[permalink] [raw]
Subject: Re: [PATCH v4 3/8] arm64: irqflags: Add condition flags to inline asm clobber list

On Tue, Jun 11, 2019 at 10:38:08AM +0100, Julien Thierry wrote:
> Some of the inline assembly instruction use the condition flags and need
> to include "cc" in the clobber list.
>
> Fixes: commit 4a503217ce37 ("arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking")
> Suggested-by: Marc Zyngier <[email protected]>
> Signed-off-by: Julien Thierry <[email protected]>
> Cc: Catalin Marinas <[email protected]>
> Cc: Will Deacon <[email protected]>

Acked-by: Mark Rutland <[email protected]>

Mark.

> ---
> arch/arm64/include/asm/irqflags.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/include/asm/irqflags.h b/arch/arm64/include/asm/irqflags.h
> index 9c93152..fbe1aba 100644
> --- a/arch/arm64/include/asm/irqflags.h
> +++ b/arch/arm64/include/asm/irqflags.h
> @@ -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;
> }
> --
> 1.9.1