aboutsummaryrefslogtreecommitdiff
path: root/target/arm/translate.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2019-08-15 09:46:44 +0100
committerPeter Maydell <peter.maydell@linaro.org>2019-08-16 14:02:49 +0100
commita04159166b880b505ccadc16f2fe84169806883d (patch)
tree1d5e3dee2c93fc36f1711d9395d1d58e3711f9d4 /target/arm/translate.h
parent4818c3743b0e0095fdcecd24457da9b3443730ab (diff)
downloadqemu-a04159166b880b505ccadc16f2fe84169806883d.zip
qemu-a04159166b880b505ccadc16f2fe84169806883d.tar.gz
qemu-a04159166b880b505ccadc16f2fe84169806883d.tar.bz2
target/arm: Replace s->pc with s->base.pc_next
We must update s->base.pc_next when we return from the translate_insn hook to the main translator loop. By incrementing s->base.pc_next immediately after reading the insn word, "pc_next" contains the address of the next instruction throughout translation. All remaining uses of s->pc are referencing the address of the next insn, so this is now a simple global replacement. Remove the "s->pc" field. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20190807045335.1361-7-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/translate.h')
-rw-r--r--target/arm/translate.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/target/arm/translate.h b/target/arm/translate.h
index 53ac50b..64304c9 100644
--- a/target/arm/translate.h
+++ b/target/arm/translate.h
@@ -10,7 +10,6 @@ typedef struct DisasContext {
DisasContextBase base;
const ARMISARegisters *isar;
- target_ulong pc;
/* The address of the current instruction being translated. */
target_ulong pc_curr;
target_ulong page_start;