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

Hi,

This is a quick iteration from the previous series:

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

Which was born out of the fix:

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

Following feedback I reverted the attempt to use DISAS_UPDATE for
everything and just made it match the semantics of not-chaining. So
patches 1 & 3 are purely documentation.

Patch 2 should prevent any system change prompted by writing to a
system register not exiting the loop.

Patch 4 is a minor optimisation to ISB handling
Patch 5 fixes the eret regression from the DISAS_JUMP optimisation

I think now all users of DISAS_JUMP should be safe with respect to TB
chaining.

Please review.

Alex Bennée (5):
  include/exec/exec-all: document common exit conditions
  target/arm/translate: make DISAS_UPDATE match declared semantics
  target/arm/translate.h: expand comment on DISAS_EXIT
  target/arm: use DISAS_JUMP for ISB handling
  target/arm: use DISAS_EXIT for eret handling

 include/exec/exec-all.h    | 29 ++++++++++++++++++++++++++---
 target/arm/translate-a64.c | 20 +++++++++++---------
 target/arm/translate.c     | 24 +++++++++++++++++-------
 target/arm/translate.h     |  5 ++++-
 4 files changed, 58 insertions(+), 20 deletions(-)

-- 
2.13.0

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

end of thread, other threads:[~2017-07-11 17:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-10 19:21 [Qemu-devel] [PATCH v2 0/5] arm: fixes for eret, isb and DISAS_UPDATE handling Alex Bennée
2017-07-10 19:21 ` [Qemu-devel] [PATCH v2 1/5] include/exec/exec-all: document common exit conditions Alex Bennée
2017-07-10 19:21 ` [Qemu-devel] [PATCH v2 2/5] target/arm/translate: make DISAS_UPDATE match declared semantics Alex Bennée
2017-07-10 19:32   ` Richard Henderson
2017-07-10 19:21 ` [Qemu-devel] [PATCH v2 3/5] target/arm/translate.h: expand comment on DISAS_EXIT Alex Bennée
2017-07-10 19:52   ` Richard Henderson
2017-07-10 19:21 ` [Qemu-devel] [PATCH v2 4/5] target/arm: use DISAS_JUMP for ISB handling Alex Bennée
2017-07-10 19:43   ` Richard Henderson
2017-07-11  8:27     ` Alex Bennée
2017-07-11 17:08       ` Richard Henderson
2017-07-10 19:21 ` [Qemu-devel] [PATCH v2 5/5] target/arm: use DISAS_EXIT for eret handling Alex Bennée
2017-07-10 19:58   ` Richard Henderson
2017-07-10 22:07     ` Peter Maydell

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