Message ID | 20190122170112.8706-4-farosas@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ppc/gdbstub: Expose SPRs to GDB | expand |
On 23/01/2019 04:01, Fabiano Rosas wrote: > This allows reading and writing of SPRs via GDB: > > (gdb) p/x $srr1 > $1 = 0x8000000002803033 > > (gdb) p/x $pvr > $2 = 0x4b0201 > (gdb) set $pvr=0x4b0000 > (gdb) p/x $pvr > $3 = 0x4b0000 > > They can also be shown as a group: > (gdb) info reg spr This does not make much sense as 3 patches, one would do it; otherwise if there is a problem with 1/3 or 2/3 - bisect will point to 3/3 although it does not actually add new code but enables other bits. > > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> > --- > target/ppc/translate_init.inc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.inc.c > index f29ac3558a..cba0303be2 100644 > --- a/target/ppc/translate_init.inc.c > +++ b/target/ppc/translate_init.inc.c > @@ -10531,7 +10531,9 @@ static void ppc_cpu_class_init(ObjectClass *oc, void *data) > #endif > > cc->gdb_num_core_regs = 71; > - > +#ifndef CONFIG_USER_ONLY > + cc->gdb_get_dynamic_xml = ppc_gdb_get_dynamic_xml; > +#endif > #ifdef USE_APPLE_GDB > cc->gdb_read_register = ppc_cpu_gdb_read_register_apple; > cc->gdb_write_register = ppc_cpu_gdb_write_register_apple; >
diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.inc.c index f29ac3558a..cba0303be2 100644 --- a/target/ppc/translate_init.inc.c +++ b/target/ppc/translate_init.inc.c @@ -10531,7 +10531,9 @@ static void ppc_cpu_class_init(ObjectClass *oc, void *data) #endif cc->gdb_num_core_regs = 71; - +#ifndef CONFIG_USER_ONLY + cc->gdb_get_dynamic_xml = ppc_gdb_get_dynamic_xml; +#endif #ifdef USE_APPLE_GDB cc->gdb_read_register = ppc_cpu_gdb_read_register_apple; cc->gdb_write_register = ppc_cpu_gdb_write_register_apple;
This allows reading and writing of SPRs via GDB: (gdb) p/x $srr1 $1 = 0x8000000002803033 (gdb) p/x $pvr $2 = 0x4b0201 (gdb) set $pvr=0x4b0000 (gdb) p/x $pvr $3 = 0x4b0000 They can also be shown as a group: (gdb) info reg spr Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- target/ppc/translate_init.inc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)