Hi Vishnu,
Sorry for the delay in reply. Still catching up.

>  From: Vishnu Pajjuri <vis...@amperemail.onmicrosoft.com> 
>  Sent: Thursday, April 4, 2024 3:02 PM
>  To: Salil Mehta <salil.me...@huawei.com>; qemu-devel@nongnu.org; 
> qemu-...@nongnu.org
>  
>  Hi Salil,
>  On 12-03-2024 07:29, Salil Mehta wrote:
>>  Add common function to help unregister the GDB register space. This shall be
>>  done in context to the CPU unrealization.
>>  
>>  Signed-off-by: Salil Mehta mailto:salil.me...@huawei.com
>>  Tested-by: Vishnu Pajjuri mailto:vis...@os.amperecomputing.com
>>  Reviewed-by: Gavin Shan mailto:gs...@redhat.com
>>  Tested-by: Xianglai Li mailto:lixiang...@loongson.cn
>>  Tested-by: Miguel Luis mailto:miguel.l...@oracle.com
>>  Reviewed-by: Shaoqin Huang mailto:shahu...@redhat.com
>>  ---
>>   gdbstub/gdbstub.c>  | 12 ++++++++++++
>>   include/exec/gdbstub.h |  6 ++++++
>>   2 files changed, 18 insertions(+)
>>  
>>  diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
>>  index 17efcae0d0..a8449dc309 100644
>>  --- a/gdbstub/gdbstub.c
>>  +++ b/gdbstub/gdbstub.c
>>  @@ -615,6 +615,18 @@ void gdb_register_coprocessor(CPUState *cpu,
>>       }
>>   }
>>   
>>  +void gdb_unregister_coprocessor_all(CPUState *cpu)
>>  +{
>>  +    /*
>>  +     * Safe to nuke everything. GDBRegisterState::xml is static const char 
>> so
>>  +     * it won't be freed
>>  +     */
>>  +    g_array_free(cpu->gdb_regs, true);
>>  +
>>  +    cpu->gdb_regs = NULL;
>>  +    cpu->gdb_num_g_regs = 0;
>  Likewise, you may need to set gdb_num_regs to zero as well.


Sure, thanks.


>>  +}
>>  +
>>   static void gdb_process_breakpoint_remove_all(GDBProcess *p)
>>   {
>>       CPUState *cpu = gdb_get_first_cpu_in_process(p);
>>  diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
>>  index eb14b91139..249d4d4bc8 100644
>>  --- a/include/exec/gdbstub.h
>>  +++ b/include/exec/gdbstub.h
>>  @@ -49,6 +49,12 @@ void gdb_register_coprocessor(CPUState *cpu,
>>  >  >  >  >  >   gdb_get_reg_cb get_reg, gdb_set_reg_cb set_reg,
>>  >  >  >  >  >   const GDBFeature *feature, int g_pos);
>>   
>>  +/**
>>  + * gdb_unregister_coprocessor_all() - unregisters supplemental set of 
>> registers
>>  + * @cpu - the CPU associated with registers
>>  + */
>>  +void gdb_unregister_coprocessor_all(CPUState *cpu);
>>  +
>>   /**
>>    * gdbserver_start: start the gdb server
>>    * @port_or_device: connection spec for gdb
>>  Otherwise, Looks good to me.  Feel free to add
>>  Reviewed-by: "Vishnu Pajjuri" mailto:vis...@os.amperecomputing.com

Thanks
Salil.


>>  Regards,
>>  -Vishnu

Reply via email to