[PATCH] target/ppc: Fix GDB SPR regnum indexing

Nicholas Piggin posted 1 patch 8 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240311175437.2177587-1-npiggin@gmail.com
Maintainers: Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>
target/ppc/gdbstub.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
[PATCH] target/ppc: Fix GDB SPR regnum indexing
Posted by Nicholas Piggin 8 months, 3 weeks ago
Fix an off by one bug.

Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: Alex Bennée <alex.bennee@linaro.org>
Fixes: 1b53948ff8f70 ("target/ppc: Use GDBFeature for dynamic XML")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 target/ppc/gdbstub.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
index 122ea9d0c0..80a2e7990b 100644
--- a/target/ppc/gdbstub.c
+++ b/target/ppc/gdbstub.c
@@ -324,6 +324,9 @@ static void gdb_gen_spr_feature(CPUState *cs)
             continue;
         }
 
+        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
+                                       TARGET_LONG_BITS, num_regs,
+                                       "int", "spr");
         /*
          * GDB identifies registers based on the order they are
          * presented in the XML. These ids will not match QEMU's
@@ -334,10 +337,6 @@ static void gdb_gen_spr_feature(CPUState *cs)
          */
         spr->gdb_id = num_regs;
         num_regs++;
-
-        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
-                                       TARGET_LONG_BITS, num_regs,
-                                       "int", "spr");
     }
 
     gdb_feature_builder_end(&builder);
-- 
2.42.0


Re: [PATCH] target/ppc: Fix GDB SPR regnum indexing
Posted by Akihiko Odaki 8 months, 3 weeks ago
On 2024/03/12 2:54, Nicholas Piggin wrote:
> Fix an off by one bug.
> 
> Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
> Cc: Alex Bennée <alex.bennee@linaro.org>
> Fixes: 1b53948ff8f70 ("target/ppc: Use GDBFeature for dynamic XML")
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>

> ---
>   target/ppc/gdbstub.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
> index 122ea9d0c0..80a2e7990b 100644
> --- a/target/ppc/gdbstub.c
> +++ b/target/ppc/gdbstub.c
> @@ -324,6 +324,9 @@ static void gdb_gen_spr_feature(CPUState *cs)
>               continue;
>           }
>   
> +        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
> +                                       TARGET_LONG_BITS, num_regs,
> +                                       "int", "spr");
>           /*
>            * GDB identifies registers based on the order they are
>            * presented in the XML. These ids will not match QEMU's
> @@ -334,10 +337,6 @@ static void gdb_gen_spr_feature(CPUState *cs)
>            */
>           spr->gdb_id = num_regs;
>           num_regs++;
> -
> -        gdb_feature_builder_append_reg(&builder, g_ascii_strdown(spr->name, -1),
> -                                       TARGET_LONG_BITS, num_regs,
> -                                       "int", "spr");
>       }
>   
>       gdb_feature_builder_end(&builder);