From: Peter Chubb <peter.chubb@nicta.com.au>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Japheth.Lim@nicta.com.au, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH] target-arm: Reinsert SRS missing return statements.
Date: Mon, 15 Apr 2013 14:50:16 +1000 [thread overview]
Message-ID: <84sj2s75yv.wl%peter@chubb.wattle.id.au> (raw)
Since patch
81465888c5306cd94abb9847e560796fd13d3c2f
target-arm: factor out handling of SRS instruction
the SRS instruction has not worked in QEMU.
The problem is a return directive that was removed in the
refactoring, so after decoding the instruction, qemu would fall
through to do stuff that it should not have done.
Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 35a21be..c870246 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -6762,6 +6762,7 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s)
}
ARCH(6);
gen_srs(s, (insn & 0x1f), (insn >> 23) & 3, insn & (1 << 21));
+ return;
} else if ((insn & 0x0e50ffe0) == 0x08100a00) {
/* rfe */
int32_t offset;
@@ -8209,6 +8210,7 @@ static int disas_thumb2_insn(CPUARMState *env, DisasContext *s, uint16_t insn_hw
/* srs */
gen_srs(s, (insn & 0x1f), (insn & (1 << 24)) ? 1 : 2,
insn & (1 << 21));
+ return;
}
} else {
int i, loaded_base = 0;
--
1.7.10.4
Dr Peter Chubb peter.chubb AT nicta.com.au
http://www.ssrg.nicta.com.au Software Systems Research Group/NICTA
next reply other threads:[~2013-04-15 4:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-15 4:50 Peter Chubb [this message]
2013-04-15 7:23 ` [Qemu-devel] [PATCH] target-arm: Reinsert SRS missing return statements Peter Maydell
2013-04-15 7:29 ` Peter Chubb
2013-04-15 7:32 ` Peter Maydell
2013-04-15 9:53 ` [Qemu-devel] [PATCH v2] target-arm: Reinsert SRS missing return statement Peter Chubb
2013-04-15 10:08 ` Peter Maydell
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=84sj2s75yv.wl%peter@chubb.wattle.id.au \
--to=peter.chubb@nicta.com.au \
--cc=Japheth.Lim@nicta.com.au \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.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).