[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 0/6] DISAS_UPDATE fixes for eret
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [PATCH v1 0/6] DISAS_UPDATE fixes for eret |
Date: |
Mon, 10 Jul 2017 16:47:43 +0100 |
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
- [Qemu-devel] [PATCH v1 0/6] DISAS_UPDATE fixes for eret,
Alex Bennée <=
[Qemu-devel] [PATCH v1 6/6] target/arm: ensure eret exits the run-loop via DISAS_UPDATE, Alex Bennée, 2017/07/10