From: Julien Grall <julien.grall@arm.com>
To: xen-devel@lists.xen.org
Cc: andre.przywara@arm.com, Julien Grall <julien.grall@arm.com>,
sstabellini@kernel.org, steve.capper@arm.com,
wei.chen@linaro.org
Subject: [PATCH v2 1/6] xen/arm: traps: Simplify the switch in do_trap_*_abort_guest
Date: Wed, 27 Jul 2016 18:09:33 +0100 [thread overview]
Message-ID: <1469639378-9244-2-git-send-email-julien.grall@arm.com> (raw)
In-Reply-To: <1469639378-9244-1-git-send-email-julien.grall@arm.com>
The fault status we care are in the form BBBBxx where xx is the lookup
level that gave the fault. We can simplify the code by masking the 2 least
significant bits.
Signed-off-by: Julien Grall <julien.grall@arm.com>
---
The switch has not been replaced by a simple if because more case
will be added in follow-up patches.
Changes in v2:
- Fix typoes in the commit message
---
xen/arch/arm/traps.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 2d05936..b34c46f 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -2387,9 +2387,9 @@ static void do_trap_instr_abort_guest(struct cpu_user_regs *regs,
int rc;
register_t gva = READ_SYSREG(FAR_EL2);
- switch ( hsr.iabt.ifsc & 0x3f )
+ switch ( hsr.iabt.ifsc & ~FSC_LL_MASK )
{
- case FSC_FLT_PERM ... FSC_FLT_PERM + 3:
+ case FSC_FLT_PERM:
{
paddr_t gpa;
const struct npfec npfec = {
@@ -2450,9 +2450,9 @@ static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
return; /* Try again */
}
- switch ( dabt.dfsc & 0x3f )
+ switch ( dabt.dfsc & ~FSC_LL_MASK )
{
- case FSC_FLT_PERM ... FSC_FLT_PERM + 3:
+ case FSC_FLT_PERM:
{
const struct npfec npfec = {
.read_access = !dabt.write,
--
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-07-27 17:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-27 17:09 [PATCH v2 0/6] xen/arm: Simplify do_trap_*_abort_guest Julien Grall
2016-07-27 17:09 ` Julien Grall [this message]
2016-07-28 19:41 ` [PATCH v2 1/6] xen/arm: traps: Simplify the switch in do_trap_*_abort_guest Stefano Stabellini
2016-07-27 17:09 ` [PATCH v2 2/6] xen/arm: Provide macros to help creating workaround helpers Julien Grall
2016-07-28 19:42 ` Stefano Stabellini
2016-07-27 17:09 ` [PATCH v2 3/6] xen/arm: Use check_workaround to handle the erratum 766422 Julien Grall
2016-07-28 19:43 ` Stefano Stabellini
2016-07-27 17:09 ` [PATCH v2 4/6] xen/arm: traps: MMIO should only be emulated for fault translation Julien Grall
2016-07-27 17:09 ` [PATCH v2 5/6] xen/arm: traps: Avoid unnecessary VA -> IPA translation in abort handlers Julien Grall
2016-07-27 17:28 ` Sergej Proskurin
2016-07-27 17:40 ` Julien Grall
2016-08-17 2:19 ` Shanker Donthineni
2016-08-17 11:11 ` Julien Grall
2016-08-17 20:08 ` Shanker Donthineni
2016-08-18 12:02 ` Julien Grall
2016-07-27 17:09 ` [PATCH v2 6/6] xen/arm: arm64: Add Cortex-A57 erratum 834220 workaround 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=1469639378-9244-2-git-send-email-julien.grall@arm.com \
--to=julien.grall@arm.com \
--cc=andre.przywara@arm.com \
--cc=sstabellini@kernel.org \
--cc=steve.capper@arm.com \
--cc=wei.chen@linaro.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).