[PATCH v2] gdb: xtensa: handle privileged registers

Pedro Alves palves@redhat.com
Wed May 9 14:43:00 GMT 2018


Thanks for the updated patch with the rationale in the
commit log.  That helps.

On 05/07/2018 06:11 PM, Max Filippov wrote:
> xtensa GDB may be used with both bare-metal and linux-based
> applications. In case of bare-metal application gdbserver is able to
> provide information about all CPU registers: both unprivileged and
> privileged. In case of linux-based application only a small subset of
> privileged state is available. Currently xtensa GDB only expects
> unprivileged registers in 'g' packets and it fails to communicate with
> server that sends both privileged and unprivileged registers.
> 
> Allow bare-metal xtensa GDB to deal with both privileged and
> unprivileged registers by initializing tdep->num_regs with the total
> number of target CPU registers. Keep linux-based xtensa GDB
> functionality as is by copying tdep->num_nopriv_regs to tdep->num_regs.
> 
> gdb/
> 2018-05-07  Max Filippov  <jcmvbkbc@gmail.com>
> 
> 	* xtensa-linux-tdep.c (xtensa-tdep.h): New include.
> 	(xtensa_linux_init_abi): Limit tdep->num_regs by
> 	tdep->num_nopriv_regs.
> 	* xtensa-tdep.c (xtensa_derive_tdep): Calculate
> 	tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
> 	not initialized.

I have a feeling that this would be best address with xml
target descriptions, but I really don't know enough about
xtensa to say for sure.  This is OK with me as is.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list