diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2019-08-15 09:46:44 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-08-16 14:02:49 +0100 |
commit | a04159166b880b505ccadc16f2fe84169806883d (patch) | |
tree | 1d5e3dee2c93fc36f1711d9395d1d58e3711f9d4 /target/arm/translate.h | |
parent | 4818c3743b0e0095fdcecd24457da9b3443730ab (diff) | |
download | qemu-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.h | 1 |
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; |