From: Vladimir Murzin <vladimir.murzin@arm.com> To: kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Cc: marc.zyngier@arm.com, andre.przywara@arm.com Subject: [PATCH v2 1/7] arm64: KVM: Move GIC accessors to arch_gicv3.h Date: Tue, 16 Aug 2016 11:46:52 +0100 [thread overview] Message-ID: <1471344418-19568-2-git-send-email-vladimir.murzin@arm.com> (raw) In-Reply-To: <1471344418-19568-1-git-send-email-vladimir.murzin@arm.com> 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> --- arch/arm64/include/asm/arch_gicv3.h | 13 +++++++++++++ arch/arm64/kvm/hyp/vgic-v3-sr.c | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/arch/arm64/include/asm/arch_gicv3.h b/arch/arm64/include/asm/arch_gicv3.h index 8ec88e5..ae7dbd7 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 * diff --git a/arch/arm64/kvm/hyp/vgic-v3-sr.c b/arch/arm64/kvm/hyp/vgic-v3-sr.c index 5f8f80b..f2dbd2e 100644 --- a/arch/arm64/kvm/hyp/vgic-v3-sr.c +++ b/arch/arm64/kvm/hyp/vgic-v3-sr.c @@ -24,19 +24,6 @@ #define vtr_to_max_lr_idx(v) ((v) & 0xf) #define vtr_to_nr_pri_bits(v) (((u32)(v) >> 29) + 1) -#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) - static u64 __hyp_text __gic_v3_get_lr(unsigned int lr) { switch (lr & 0xf) { -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: vladimir.murzin@arm.com (Vladimir Murzin) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 1/7] arm64: KVM: Move GIC accessors to arch_gicv3.h Date: Tue, 16 Aug 2016 11:46:52 +0100 [thread overview] Message-ID: <1471344418-19568-2-git-send-email-vladimir.murzin@arm.com> (raw) In-Reply-To: <1471344418-19568-1-git-send-email-vladimir.murzin@arm.com> 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> --- arch/arm64/include/asm/arch_gicv3.h | 13 +++++++++++++ arch/arm64/kvm/hyp/vgic-v3-sr.c | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/arch/arm64/include/asm/arch_gicv3.h b/arch/arm64/include/asm/arch_gicv3.h index 8ec88e5..ae7dbd7 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 * diff --git a/arch/arm64/kvm/hyp/vgic-v3-sr.c b/arch/arm64/kvm/hyp/vgic-v3-sr.c index 5f8f80b..f2dbd2e 100644 --- a/arch/arm64/kvm/hyp/vgic-v3-sr.c +++ b/arch/arm64/kvm/hyp/vgic-v3-sr.c @@ -24,19 +24,6 @@ #define vtr_to_max_lr_idx(v) ((v) & 0xf) #define vtr_to_nr_pri_bits(v) (((u32)(v) >> 29) + 1) -#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) - static u64 __hyp_text __gic_v3_get_lr(unsigned int lr) { switch (lr & 0xf) { -- 1.7.9.5
next prev parent reply other threads:[~2016-08-16 10:39 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-16 10:46 [PATCH v2 0/7] ARM: KVM: Support for vgic-v3 Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin [this message] 2016-08-16 10:46 ` [PATCH v2 1/7] arm64: KVM: Move GIC accessors to arch_gicv3.h Vladimir Murzin 2016-09-05 11:28 ` Christoffer Dall 2016-09-05 11:28 ` Christoffer Dall 2016-09-06 12:33 ` Vladimir Murzin 2016-09-06 12:33 ` Vladimir Murzin 2016-08-16 10:46 ` [PATCH v2 2/7] arm64: KVM: Move vgic-v3 save/restore to virt/kvm/arm/hyp Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-08-16 10:46 ` [PATCH v2 3/7] KVM: arm: vgic-new: improve compatibility with 32-bit Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-09-05 11:29 ` Christoffer Dall 2016-09-05 11:29 ` Christoffer Dall 2016-09-06 12:41 ` Vladimir Murzin 2016-09-06 12:41 ` Vladimir Murzin 2016-09-06 13:22 ` Christoffer Dall 2016-09-06 13:22 ` Christoffer Dall 2016-09-06 13:54 ` Vladimir Murzin 2016-09-06 13:54 ` Vladimir Murzin 2016-09-06 16:31 ` Christoffer Dall 2016-09-06 16:31 ` Christoffer Dall 2016-09-07 9:06 ` Vladimir Murzin 2016-09-07 9:06 ` Vladimir Murzin 2016-09-07 9:43 ` Christoffer Dall 2016-09-07 9:43 ` Christoffer Dall 2016-08-16 10:46 ` [PATCH v2 4/7] ARM: update MPIDR accessors macro Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-09-05 11:29 ` Christoffer Dall 2016-09-05 11:29 ` Christoffer Dall 2016-09-06 12:42 ` Vladimir Murzin 2016-09-06 12:42 ` Vladimir Murzin 2016-08-16 10:46 ` [PATCH v2 5/7] ARM: move system register accessors to asm/cp15.h Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-09-05 11:29 ` Christoffer Dall 2016-09-05 11:29 ` Christoffer Dall 2016-09-06 13:05 ` Vladimir Murzin 2016-09-06 13:05 ` Vladimir Murzin 2016-09-06 16:34 ` Christoffer Dall 2016-09-06 16:34 ` Christoffer Dall 2016-08-16 10:46 ` [PATCH v2 6/7] ARM: KVM: Get ready to use vgic-v3 Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-09-05 11:29 ` Christoffer Dall 2016-09-05 11:29 ` Christoffer Dall 2016-09-06 13:12 ` Vladimir Murzin 2016-09-06 13:12 ` Vladimir Murzin 2016-09-06 16:49 ` Christoffer Dall 2016-09-06 16:49 ` Christoffer Dall 2016-08-16 10:46 ` [PATCH v2 7/7] ARM: KVM: Unlock vgic-v3 support Vladimir Murzin 2016-08-16 10:46 ` Vladimir Murzin 2016-09-05 11:29 ` Christoffer Dall 2016-09-05 11:29 ` Christoffer Dall 2016-09-06 13:08 ` Marc Zyngier 2016-09-06 13:08 ` Marc Zyngier 2016-09-06 13:18 ` Vladimir Murzin 2016-09-06 13:18 ` Vladimir Murzin 2016-09-06 16:52 ` Christoffer Dall 2016-09-06 16:52 ` Christoffer Dall 2016-09-06 13:23 ` Vladimir Murzin 2016-09-06 13:23 ` Vladimir Murzin 2016-09-06 16:55 ` Christoffer Dall 2016-09-06 16:55 ` Christoffer Dall 2016-09-07 10:48 ` Vladimir Murzin 2016-09-07 10:48 ` Vladimir Murzin 2016-09-07 12:58 ` Christoffer Dall 2016-09-07 12:58 ` Christoffer Dall 2016-09-07 14:20 ` Peter Maydell 2016-09-07 14:20 ` Peter Maydell 2016-09-07 14:47 ` Christoffer Dall 2016-09-07 14:47 ` Christoffer Dall 2016-09-05 11:28 ` [PATCH v2 0/7] ARM: KVM: Support for vgic-v3 Christoffer Dall 2016-09-05 11:28 ` Christoffer Dall 2016-09-06 12:32 ` Vladimir Murzin 2016-09-06 12:32 ` Vladimir Murzin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1471344418-19568-2-git-send-email-vladimir.murzin@arm.com \ --to=vladimir.murzin@arm.com \ --cc=andre.przywara@arm.com \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=marc.zyngier@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.