[PATCH v2 33/50] target/hexagon: Expand gdb_get_regl() -> gdb_get_reg32()

Philippe Mathieu-Daudé posted 50 patches 1 month ago
Maintainers: Laurent Vivier <laurent@vivier.eu>, Pierrick Bouvier <pierrick.bouvier@linaro.org>, Michael Rolnik <mrolnik@gmail.com>, "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Yanan Wang <wangyanan55@huawei.com>, Zhao Liu <zhao1.liu@intel.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, Richard Henderson <richard.henderson@linaro.org>, Brian Cain <brian.cain@oss.qualcomm.com>, Paolo Bonzini <pbonzini@redhat.com>, Song Gao <gaosong@loongson.cn>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Aurelien Jarno <aurelien@aurel32.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <arikalo@gmail.com>, Stafford Horne <shorne@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Thomas Huth <thuth@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>, Bastian Koppelmann <kbastian@rumtueddeln.de>
[PATCH v2 33/50] target/hexagon: Expand gdb_get_regl() -> gdb_get_reg32()
Posted by Philippe Mathieu-Daudé 1 month ago
The Hexagon target is only built as 32-bit:

  $ git grep TARGET_LONG_BITS configs/targets/hexagon*
  configs/targets/hexagon-linux-user.mak:5:TARGET_LONG_BITS=32

Mechanically replace:

  gdb_get_regl() -> gdb_get_reg32()

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 target/hexagon/gdbstub.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/target/hexagon/gdbstub.c b/target/hexagon/gdbstub.c
index 12d6b3bbcbb..b9856cfc978 100644
--- a/target/hexagon/gdbstub.c
+++ b/target/hexagon/gdbstub.c
@@ -29,11 +29,11 @@ int hexagon_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
         for (int i = 0; i < NUM_PREGS; i++) {
             p3_0 = deposit32(p3_0, i * 8, 8, env->pred[i]);
         }
-        return gdb_get_regl(mem_buf, p3_0);
+        return gdb_get_reg32(mem_buf, p3_0);
     }
 
     if (n < TOTAL_PER_THREAD_REGS) {
-        return gdb_get_regl(mem_buf, env->gpr[n]);
+        return gdb_get_reg32(mem_buf, env->gpr[n]);
     }
 
     n -= TOTAL_PER_THREAD_REGS;
@@ -56,12 +56,12 @@ int hexagon_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
         for (int i = 0; i < NUM_PREGS; i++) {
             env->pred[i] = extract32(p3_0, i * 8, 8);
         }
-        return sizeof(target_ulong);
+        return 4;
     }
 
     if (n < TOTAL_PER_THREAD_REGS) {
         env->gpr[n] = ldl_le_p(mem_buf);
-        return sizeof(target_ulong);
+        return 4;
     }
 
     n -= TOTAL_PER_THREAD_REGS;
@@ -81,7 +81,7 @@ static int gdb_get_vreg(CPUHexagonState *env, GByteArray *mem_buf, int n)
     int total = 0;
     int i;
     for (i = 0; i < ARRAY_SIZE(env->VRegs[n].uw); i++) {
-        total += gdb_get_regl(mem_buf, env->VRegs[n].uw[i]);
+        total += gdb_get_reg32(mem_buf, env->VRegs[n].uw[i]);
     }
     return total;
 }
@@ -91,7 +91,7 @@ static int gdb_get_qreg(CPUHexagonState *env, GByteArray *mem_buf, int n)
     int total = 0;
     int i;
     for (i = 0; i < ARRAY_SIZE(env->QRegs[n].uw); i++) {
-        total += gdb_get_regl(mem_buf, env->QRegs[n].uw[i]);
+        total += gdb_get_reg32(mem_buf, env->QRegs[n].uw[i]);
     }
     return total;
 }
-- 
2.52.0


Re: [PATCH v2 33/50] target/hexagon: Expand gdb_get_regl() -> gdb_get_reg32()
Posted by Brian Cain 1 month ago
On Thu, Feb 19, 2026 at 1:23 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> The Hexagon target is only built as 32-bit:
>
>   $ git grep TARGET_LONG_BITS configs/targets/hexagon*
>   configs/targets/hexagon-linux-user.mak:5:TARGET_LONG_BITS=32
>
> Mechanically replace:
>
>   gdb_get_regl() -> gdb_get_reg32()
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  target/hexagon/gdbstub.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>

Reviewed-by: Brian Cain <Brian.Cain@oss.qualcomm.com>

> diff --git a/target/hexagon/gdbstub.c b/target/hexagon/gdbstub.c
> index 12d6b3bbcbb..b9856cfc978 100644
> --- a/target/hexagon/gdbstub.c
> +++ b/target/hexagon/gdbstub.c
> @@ -29,11 +29,11 @@ int hexagon_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
>          for (int i = 0; i < NUM_PREGS; i++) {
>              p3_0 = deposit32(p3_0, i * 8, 8, env->pred[i]);
>          }
> -        return gdb_get_regl(mem_buf, p3_0);
> +        return gdb_get_reg32(mem_buf, p3_0);
>      }
>
>      if (n < TOTAL_PER_THREAD_REGS) {
> -        return gdb_get_regl(mem_buf, env->gpr[n]);
> +        return gdb_get_reg32(mem_buf, env->gpr[n]);
>      }
>
>      n -= TOTAL_PER_THREAD_REGS;
> @@ -56,12 +56,12 @@ int hexagon_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
>          for (int i = 0; i < NUM_PREGS; i++) {
>              env->pred[i] = extract32(p3_0, i * 8, 8);
>          }
> -        return sizeof(target_ulong);
> +        return 4;
>      }
>
>      if (n < TOTAL_PER_THREAD_REGS) {
>          env->gpr[n] = ldl_le_p(mem_buf);
> -        return sizeof(target_ulong);
> +        return 4;
>      }
>
>      n -= TOTAL_PER_THREAD_REGS;
> @@ -81,7 +81,7 @@ static int gdb_get_vreg(CPUHexagonState *env, GByteArray *mem_buf, int n)
>      int total = 0;
>      int i;
>      for (i = 0; i < ARRAY_SIZE(env->VRegs[n].uw); i++) {
> -        total += gdb_get_regl(mem_buf, env->VRegs[n].uw[i]);
> +        total += gdb_get_reg32(mem_buf, env->VRegs[n].uw[i]);
>      }
>      return total;
>  }
> @@ -91,7 +91,7 @@ static int gdb_get_qreg(CPUHexagonState *env, GByteArray *mem_buf, int n)
>      int total = 0;
>      int i;
>      for (i = 0; i < ARRAY_SIZE(env->QRegs[n].uw); i++) {
> -        total += gdb_get_regl(mem_buf, env->QRegs[n].uw[i]);
> +        total += gdb_get_reg32(mem_buf, env->QRegs[n].uw[i]);
>      }
>      return total;
>  }
> --
> 2.52.0
>
Re: [PATCH v2 33/50] target/hexagon: Expand gdb_get_regl() -> gdb_get_reg32()
Posted by Pierrick Bouvier 1 month ago
On 2/19/26 11:19 AM, Philippe Mathieu-Daudé wrote:
> The Hexagon target is only built as 32-bit:
> 
>    $ git grep TARGET_LONG_BITS configs/targets/hexagon*
>    configs/targets/hexagon-linux-user.mak:5:TARGET_LONG_BITS=32
> 
> Mechanically replace:
> 
>    gdb_get_regl() -> gdb_get_reg32()
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   target/hexagon/gdbstub.c | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
> 

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>