arm64: gicv3: Allow GICv3 compilation with older binutils
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 24 Jul 2014 13:14:42 +0000 (14:14 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Thu, 2 Oct 2014 07:54:04 +0000 (09:54 +0200)
commitbc48de9c9ed83296b420c47f9057f3fe219f7ef9
treecb28abab59f0aac039e7c97df5750d42b8a5a525
parente0e343996ea16cde57b70980befbc25037dbd619
arm64: gicv3: Allow GICv3 compilation with older binutils

GICv3 introduces new system registers accessible with the full msr/mrs
syntax (e.g. mrs x0, Sop0_op1_CRm_CRn_op2). However, only recent
binutils understand the new syntax. This patch introduces msr_s/mrs_s
assembly macros which generate the equivalent instructions above and
converts the existing GICv3 code (both drivers/irqchip/ and
arch/arm64/kernel/).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Olof Johansson <olof@lixom.net>
Tested-by: Olof Johansson <olof@lixom.net>
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
(cherry picked from commit 72c5839515260dce966cd24f54436e6583288e6c)
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/include/asm/sysreg.h [new file with mode: 0644]
arch/arm64/kernel/head.S
drivers/irqchip/irq-gic-v3.c
include/linux/irqchip/arm-gic-v3.h