diff options
author | Vladimir Murzin <vladimir.murzin@arm.com> | 2016-09-12 15:49:16 +0100 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2016-09-22 13:21:46 +0200 |
commit | b5525ce898eb5cbbd0359d745e23a5516377fa64 (patch) | |
tree | cf5826a59a61e50aface7ebcbeb77f0540596db8 /arch/arm64/include/asm/arch_gicv3.h | |
parent | 5a7a8426b2ac004b064e4106911769e0a55e7c4b (diff) | |
download | linux-stable-b5525ce898eb5cbbd0359d745e23a5516377fa64.tar.gz linux-stable-b5525ce898eb5cbbd0359d745e23a5516377fa64.tar.bz2 linux-stable-b5525ce898eb5cbbd0359d745e23a5516377fa64.zip |
arm64: KVM: Move GIC accessors to arch_gicv3.h
Since we are going to share vgic-v3 save/restore code with ARM keep
arch specific accessors separately.
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'arch/arm64/include/asm/arch_gicv3.h')
-rw-r--r-- | arch/arm64/include/asm/arch_gicv3.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/arch_gicv3.h b/arch/arm64/include/asm/arch_gicv3.h index 8ec88e5b290f..ae7dbd79e257 100644 --- a/arch/arm64/include/asm/arch_gicv3.h +++ b/arch/arm64/include/asm/arch_gicv3.h @@ -79,6 +79,19 @@ #include <linux/stringify.h> #include <asm/barrier.h> +#define read_gicreg(r) \ + ({ \ + u64 reg; \ + asm volatile("mrs_s %0, " __stringify(r) : "=r" (reg)); \ + reg; \ + }) + +#define write_gicreg(v,r) \ + do { \ + u64 __val = (v); \ + asm volatile("msr_s " __stringify(r) ", %0" : : "r" (__val));\ + } while (0) + /* * Low-level accessors * |