qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] v8M: BLXNS, SG, secure function return
@ 2017-10-09 13:48 Peter Maydell
  2017-10-09 13:48 ` [Qemu-devel] [PATCH 1/9] target/arm: Add M profile secure MMU index values to get_a32_user_mem_index() Peter Maydell
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Peter Maydell @ 2017-10-09 13:48 UTC (permalink / raw)
  To: qemu-arm, qemu-devel; +Cc: Richard Henderson, patches

This patchset is mostly implementation of SG, BLXNS and secure
function return. Parts of it were in the previous patchset,
but had a bug which I've fixed in the SG implementation where
we read the first half of the insn twice by mistake.

Patch 1 is a new trivial bugfix.
Patches 2-4 were in the previous set; only 2 has changed.
Patches 5-8 perform some refactoring so that we can correctly
implement the behaviour of a handful of Thumb instructions
which must be unconditional even when they appear inside
an IT block: SG, HLT and BKPT.
Patch 9 implements the final edge cases of the SG insn.

The refactoring has the nice property that we don't have to
pass the CPU env pointer into the bulk of the thumb decode
functions any more. I suspect it also might fix bugs in
setting breakpoints on instructions inside IT blocks, though
we haven't had any complaints about that so perhaps gdb
works around it by setting breakpoints on both the cc pass
and cc fail next instructions in an IT block...

Peter Maydell (9):
  target/arm: Add M profile secure MMU index values to
    get_a32_user_mem_index()
  target/arm: Implement SG instruction
  target/arm: Implement BLXNS
  target/arm: Implement secure function return
  target-arm: Don't check for "Thumb2 or M profile" for not-Thumb1
  target/arm: Pull Thumb insn word loads up to top level
  target-arm: Simplify insn_crosses_page()
  target/arm: Support some Thumb insns being always unconditional
  target/arm: Implement SG instruction corner cases

 target/arm/helper.h    |   1 +
 target/arm/internals.h |   8 ++
 target/arm/helper.c    | 306 +++++++++++++++++++++++++++++++++++++++++++++---
 target/arm/translate.c | 310 +++++++++++++++++++++++++++++++++----------------
 4 files changed, 515 insertions(+), 110 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-10-11 14:14 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-09 13:48 [Qemu-devel] [PATCH 0/9] v8M: BLXNS, SG, secure function return Peter Maydell
2017-10-09 13:48 ` [Qemu-devel] [PATCH 1/9] target/arm: Add M profile secure MMU index values to get_a32_user_mem_index() Peter Maydell
2017-10-10 23:36   ` Richard Henderson
2017-10-09 13:48 ` [Qemu-devel] [PATCH 2/9] target/arm: Implement SG instruction Peter Maydell
2017-10-11  0:27   ` Richard Henderson
2017-10-09 13:48 ` [Qemu-devel] [PATCH 3/9] target/arm: Implement BLXNS Peter Maydell
2017-10-09 13:48 ` [Qemu-devel] [PATCH 4/9] target/arm: Implement secure function return Peter Maydell
2017-10-09 13:48 ` [Qemu-devel] [PATCH 5/9] target-arm: Don't check for "Thumb2 or M profile" for not-Thumb1 Peter Maydell
2017-10-11  0:29   ` Richard Henderson
2017-10-09 13:48 ` [Qemu-devel] [PATCH 6/9] target/arm: Pull Thumb insn word loads up to top level Peter Maydell
2017-10-11  2:18   ` Richard Henderson
2017-10-11  9:55     ` Peter Maydell
2017-10-09 13:48 ` [Qemu-devel] [PATCH 7/9] target-arm: Simplify insn_crosses_page() Peter Maydell
2017-10-11  2:26   ` Richard Henderson
2017-10-09 13:48 ` [Qemu-devel] [PATCH 8/9] target/arm: Support some Thumb insns being always unconditional Peter Maydell
2017-10-11  2:52   ` Richard Henderson
2017-10-11  9:57     ` Peter Maydell
2017-10-11 14:14       ` Richard Henderson
2017-10-09 13:48 ` [Qemu-devel] [PATCH 9/9] target/arm: Implement SG instruction corner cases Peter Maydell
2017-10-11  2:57   ` Richard Henderson

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).