qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 0/6] DISAS_UPDATE fixes for eret
@ 2017-07-10 15:47 Alex Bennée
  2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 1/6] include/exec/exec-all: document common exit conditions Alex Bennée
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Alex Bennée @ 2017-07-10 15:47 UTC (permalink / raw)
  To: peter.maydell, rth, cota; +Cc: qemu-devel, Alex Bennée

Hi,

This is a follow-up to the eret patch I posted on Friday:

  https://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg01831.html

It fixes the same bug but does it in a slightly more holistic way. We
start by expanding the commentary on the common DISAS_n exit flags in
exec-all.h. I then update ARMs usage of DISAS_UPDATE to:

  - explicitly exit the run-loop (and not fall-through to DISAS_JUMP)
  - make setting the PC optional (as helpers may set it)

I then get rid of the architecture specific hack DISAS_EXIT and use
DISAS_UPDATE for all the eret paths.

Please review.

Alex Bennée (6):
  include/exec/exec-all: document common exit conditions
  target/arm/translate.c: make DISAS_UPDATE match declared semantics
  target/arm/translate-a64: make DISAS_UPDATE match declared semantics
  target/arm/translate-a64: get rid of DISAS_EXIT
  target/arm: use DISAS_JUMP for ISB handling
  target/arm: ensure eret exits the run-loop via DISAS_UPDATE

 include/exec/exec-all.h    | 29 ++++++++++++++++++++++++++---
 target/arm/translate-a64.c | 21 +++++++++++----------
 target/arm/translate.c     | 36 ++++++++++++++++++++++++++----------
 target/arm/translate.h     |  4 ----
 4 files changed, 63 insertions(+), 27 deletions(-)

-- 
2.13.0

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

end of thread, other threads:[~2017-07-10 18:56 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-10 15:47 [Qemu-devel] [PATCH v1 0/6] DISAS_UPDATE fixes for eret Alex Bennée
2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 1/6] include/exec/exec-all: document common exit conditions Alex Bennée
2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 2/6] target/arm/translate.c: make DISAS_UPDATE match declared semantics Alex Bennée
2017-07-10 16:13   ` Peter Maydell
2017-07-10 16:31     ` Richard Henderson
2017-07-10 18:35       ` Alex Bennée
2017-07-10 18:55         ` Richard Henderson
2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 3/6] target/arm/translate-a64: " Alex Bennée
2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 4/6] target/arm/translate-a64: get rid of DISAS_EXIT Alex Bennée
2017-07-10 16:37   ` Richard Henderson
2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 5/6] target/arm: use DISAS_JUMP for ISB handling Alex Bennée
2017-07-10 15:47 ` [Qemu-devel] [PATCH v1 6/6] target/arm: ensure eret exits the run-loop via DISAS_UPDATE Alex Bennée

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