From: Julien Grall <julien.grall@arm.com>
To: xen-devel@lists.xen.org
Cc: Julien Grall <julien.grall@arm.com>, sstabellini@kernel.org
Subject: [PATCH 11/13] xen/arm: vgic: Rename emulate_sysreg callback to emulate_reg
Date: Wed, 7 Dec 2016 12:33:51 +0000 [thread overview]
Message-ID: <1481114033-11024-12-git-send-email-julien.grall@arm.com> (raw)
In-Reply-To: <1481114033-11024-1-git-send-email-julien.grall@arm.com>
We will want to emulate co-processor registers access in a follow-up
patch.
Signed-off-by: Julien Grall <julien.grall@arm.com>
---
xen/arch/arm/vgic-v3.c | 13 ++++++++++++-
xen/arch/arm/vgic.c | 4 ++--
xen/include/asm-arm/vgic.h | 4 ++--
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index e54df0b..f3f0bd2 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1328,6 +1328,17 @@ static bool vgic_v3_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr)
}
}
+static bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr)
+{
+ switch (hsr.ec)
+ {
+ case HSR_EC_SYSREG:
+ return vgic_v3_emulate_sysreg(regs, hsr);
+ default:
+ return false;
+ }
+}
+
static const struct mmio_handler_ops vgic_rdistr_mmio_handler = {
.read = vgic_v3_rdistr_mmio_read,
.write = vgic_v3_rdistr_mmio_write,
@@ -1491,7 +1502,7 @@ static const struct vgic_ops v3_ops = {
.vcpu_init = vgic_v3_vcpu_init,
.domain_init = vgic_v3_domain_init,
.domain_free = vgic_v3_domain_free,
- .emulate_sysreg = vgic_v3_emulate_sysreg,
+ .emulate_reg = vgic_v3_emulate_reg,
/*
* We use both AFF1 and AFF0 in (v)MPIDR. Thus, the max number of CPU
* that can be supported is up to 4096(==256*16) in theory.
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 196e86b..364d5f0 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -550,9 +550,9 @@ bool vgic_emulate(struct cpu_user_regs *regs, union hsr hsr)
{
struct vcpu *v = current;
- ASSERT(v->domain->arch.vgic.handler->emulate_sysreg != NULL);
+ ASSERT(v->domain->arch.vgic.handler->emulate_reg != NULL);
- return v->domain->arch.vgic.handler->emulate_sysreg(regs, hsr);
+ return v->domain->arch.vgic.handler->emulate_reg(regs, hsr);
}
bool vgic_reserve_virq(struct domain *d, unsigned int virq)
diff --git a/xen/include/asm-arm/vgic.h b/xen/include/asm-arm/vgic.h
index fadb1e1..672f649 100644
--- a/xen/include/asm-arm/vgic.h
+++ b/xen/include/asm-arm/vgic.h
@@ -130,8 +130,8 @@ struct vgic_ops {
int (*domain_init)(struct domain *d);
/* Release resources that were allocated by domain_init */
void (*domain_free)(struct domain *d);
- /* vGIC sysreg emulation */
- bool (*emulate_sysreg)(struct cpu_user_regs *regs, union hsr hsr);
+ /* vGIC sysreg/cpregs emulate */
+ bool (*emulate_reg)(struct cpu_user_regs *regs, union hsr hsr);
/* Maximum number of vCPU supported */
const unsigned int max_vcpus;
};
--
1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-12-07 12:33 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-07 12:33 [PATCH 00/13] xen/arm: Allow AArch32 guest to boot with GICv3 Julien Grall
2016-12-07 12:33 ` [PATCH 01/13] xen/arm: vtimer: Switch the emulation functions return from int to bool Julien Grall
2016-12-07 21:44 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 02/13] xen/arm: vtimer: Switch the read variable in the emulation " Julien Grall
2016-12-07 21:49 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 03/13] xen/arm: traps: Switch from bool_t " Julien Grall
2016-12-07 21:51 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 04/13] xen/arm: vgic: " Julien Grall
2016-12-07 21:53 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 05/13] xen/arm: vgic: Switch vgic_to_sgi return from int to bool and progate up to Julien Grall
2016-12-07 21:55 ` Stefano Stabellini
2016-12-07 22:02 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 06/13] xen/arm: vgic: Switch emulate_sysreg return from int to bool Julien Grall
2016-12-07 22:02 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 07/13] xen/arm: vgic: Clean-up the sysreg emulation Julien Grall
2016-12-07 22:08 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 08/13] xen/arm: vgic-v3: Build vgic-v3.c when CONFIG_HAS_GICV3 is enabled Julien Grall
2016-12-07 22:23 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 09/13] xen/arm: vtimer: Move emulate_sysreg* callback in a separate header Julien Grall
2016-12-07 22:41 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 10/13] xen/arm: vreg: Introduce vreg_emulate_cp{32, 64} Julien Grall
2016-12-07 22:41 ` Stefano Stabellini
2016-12-07 12:33 ` Julien Grall [this message]
2016-12-07 22:44 ` [PATCH 11/13] xen/arm: vgic: Rename emulate_sysreg callback to emulate_reg Stefano Stabellini
2016-12-07 12:33 ` [PATCH 12/13] xen/arm: vgic-v3: Move the emulation of ICC_SGI1R_EL1 in a separate helper Julien Grall
2016-12-07 22:47 ` Stefano Stabellini
2016-12-07 12:33 ` [PATCH 13/13] xen/arm: vgic-v3: Allow AArch32 guest booting with GICv3 Julien Grall
2016-12-07 22:50 ` Stefano Stabellini
2016-12-07 22:51 ` [PATCH 00/13] xen/arm: Allow AArch32 guest to boot " Stefano Stabellini
2016-12-08 11:11 ` Julien Grall
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=1481114033-11024-12-git-send-email-julien.grall@arm.com \
--to=julien.grall@arm.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xen.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).