[PATCH 03/18] target/s390x: Use vaddr for $pc in get_next_pc()

Philippe Mathieu-Daudé posted 18 patches 1 month ago
Maintainers: Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, Farhan Ali <alifm@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Richard Henderson <richard.henderson@linaro.org>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>
There is a newer version of this series
[PATCH 03/18] target/s390x: Use vaddr for $pc in get_next_pc()
Posted by Philippe Mathieu-Daudé 1 month ago
DisasContextBase::pc_next is of vaddr type.
Since translator_lduw_end() returns a uint16_t,
also use that type for clarity.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 target/s390x/tcg/translate.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index e38607ee18c..540c5a569c0 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -6405,10 +6405,9 @@ static void s390x_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
     tcg_gen_insn_start(dc->base.pc_next, dc->cc_op, 0);
 }
 
-static target_ulong get_next_pc(CPUS390XState *env, DisasContext *s,
-                                uint64_t pc)
+static vaddr get_next_pc(CPUS390XState *env, DisasContext *s, vaddr pc)
 {
-    uint64_t insn = translator_lduw_end(env, &s->base, pc, MO_BE);
+    uint16_t insn = translator_lduw_end(env, &s->base, pc, MO_BE);
 
     return pc + get_ilen((insn >> 8) & 0xff);
 }
-- 
2.52.0


Re: [PATCH 03/18] target/s390x: Use vaddr for $pc in get_next_pc()
Posted by Thomas Huth 1 month ago
On 07/01/2026 14.07, Philippe Mathieu-Daudé wrote:
> DisasContextBase::pc_next is of vaddr type.
> Since translator_lduw_end() returns a uint16_t,
> also use that type for clarity.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   target/s390x/tcg/translate.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
> index e38607ee18c..540c5a569c0 100644
> --- a/target/s390x/tcg/translate.c
> +++ b/target/s390x/tcg/translate.c
> @@ -6405,10 +6405,9 @@ static void s390x_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
>       tcg_gen_insn_start(dc->base.pc_next, dc->cc_op, 0);
>   }
>   
> -static target_ulong get_next_pc(CPUS390XState *env, DisasContext *s,
> -                                uint64_t pc)
> +static vaddr get_next_pc(CPUS390XState *env, DisasContext *s, vaddr pc)
>   {
> -    uint64_t insn = translator_lduw_end(env, &s->base, pc, MO_BE);
> +    uint16_t insn = translator_lduw_end(env, &s->base, pc, MO_BE);
>   
>       return pc + get_ilen((insn >> 8) & 0xff);
>   }

Reviewed-by: Thomas Huth <thuth@redhat.com>