diff mbox series

target/xtensa: drop num_[core_]regs from dc232b/dc233c configs

Message ID 20181031213550.4544-1-jcmvbkbc@gmail.com
State New
Headers show
Series target/xtensa: drop num_[core_]regs from dc232b/dc233c configs | expand

Commit Message

Max Filippov Oct. 31, 2018, 9:35 p.m. UTC
gdb_regmap::num_core_regs field is initialized incorrectly in the dc232b
and dc233c configurations. As a result the following message is
displayed when attaching to an xtensa linux-user process:

  "Register 105 is not available",

and gdb is unable to control the inferior.

Now that xtensa_count_regs does the right thing, remove manual
initialization of these fields from the affected configurations and let
xtensa_finalize_config initialize them.

Cc: qemu-stable@nongnu.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 target/xtensa/core-dc232b.c | 2 --
 target/xtensa/core-dc233c.c | 2 --
 2 files changed, 4 deletions(-)

Comments

Richard Henderson Oct. 31, 2018, 11 p.m. UTC | #1
On 10/31/18 9:35 PM, Max Filippov wrote:
> gdb_regmap::num_core_regs field is initialized incorrectly in the dc232b
> and dc233c configurations. As a result the following message is
> displayed when attaching to an xtensa linux-user process:
> 
>   "Register 105 is not available",
> 
> and gdb is unable to control the inferior.
> 
> Now that xtensa_count_regs does the right thing, remove manual
> initialization of these fields from the affected configurations and let
> xtensa_finalize_config initialize them.
> 
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  target/xtensa/core-dc232b.c | 2 --
>  target/xtensa/core-dc233c.c | 2 --
>  2 files changed, 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
Philippe Mathieu-Daudé Nov. 11, 2018, 11:52 p.m. UTC | #2
Hi Max,

On Thu, Nov 1, 2018 at 12:02 AM Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 10/31/18 9:35 PM, Max Filippov wrote:
> > gdb_regmap::num_core_regs field is initialized incorrectly in the dc232b
> > and dc233c configurations. As a result the following message is
> > displayed when attaching to an xtensa linux-user process:
> >
> >   "Register 105 is not available",
> >
> > and gdb is unable to control the inferior.
> >
> > Now that xtensa_count_regs does the right thing, remove manual
> > initialization of these fields from the affected configurations and let
> > xtensa_finalize_config initialize them.
> >
> > Cc: qemu-stable@nongnu.org
> > Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> > ---
> >  target/xtensa/core-dc232b.c | 2 --
> >  target/xtensa/core-dc233c.c | 2 --
> >  2 files changed, 4 deletions(-)
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Can we include this patch for the 3.2 release?

Thanks,

Phil.
Max Filippov Nov. 12, 2018, 2:17 a.m. UTC | #3
On Sun, Nov 11, 2018 at 3:53 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Hi Max,
>
> On Thu, Nov 1, 2018 at 12:02 AM Richard Henderson
> <richard.henderson@linaro.org> wrote:
> >
> > On 10/31/18 9:35 PM, Max Filippov wrote:
> > > gdb_regmap::num_core_regs field is initialized incorrectly in the dc232b
> > > and dc233c configurations. As a result the following message is
> > > displayed when attaching to an xtensa linux-user process:
> > >
> > >   "Register 105 is not available",
> > >
> > > and gdb is unable to control the inferior.
> > >
> > > Now that xtensa_count_regs does the right thing, remove manual
> > > initialization of these fields from the affected configurations and let
> > > xtensa_finalize_config initialize them.
> > >
> > > Cc: qemu-stable@nongnu.org
> > > Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> > > ---
> > >  target/xtensa/core-dc232b.c | 2 --
> > >  target/xtensa/core-dc233c.c | 2 --
> > >  2 files changed, 4 deletions(-)
> >
> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> Can we include this patch for the 3.2 release?

I've found that this version is wrong (register lists are not
terminated for these
two cores), so I sent v2. After that I've found that it's still wrong,
i.e. the register
105 is still not available with v2. I dug a bit deeper and it looks
like register
handling should probably be the same for both system and linux-user cases.
I'll post v3 after some more testing in a few days.
diff mbox series

Patch

diff --git a/target/xtensa/core-dc232b.c b/target/xtensa/core-dc232b.c
index 71313378409e..7851bcb63687 100644
--- a/target/xtensa/core-dc232b.c
+++ b/target/xtensa/core-dc232b.c
@@ -40,8 +40,6 @@ 
 static XtensaConfig dc232b __attribute__((unused)) = {
     .name = "dc232b",
     .gdb_regmap = {
-        .num_regs = 120,
-        .num_core_regs = 52,
         .reg = {
 #include "core-dc232b/gdb-config.inc.c"
         }
diff --git a/target/xtensa/core-dc233c.c b/target/xtensa/core-dc233c.c
index d701e3f5de07..8853bfd4d08f 100644
--- a/target/xtensa/core-dc233c.c
+++ b/target/xtensa/core-dc233c.c
@@ -40,8 +40,6 @@ 
 static XtensaConfig dc233c __attribute__((unused)) = {
     .name = "dc233c",
     .gdb_regmap = {
-        .num_regs = 121,
-        .num_core_regs = 52,
         .reg = {
 #include "core-dc233c/gdb-config.inc.c"
         }