This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2] gdb: xtensa: handle privileged registers
- From: Pedro Alves <palves at redhat dot com>
- To: Max Filippov <jcmvbkbc at gmail dot com>, gdb-patches at sourceware dot org
- Cc: Woody LaRue <larue at cadence dot com>
- Date: Wed, 9 May 2018 15:43:21 +0100
- Subject: Re: [PATCH v2] gdb: xtensa: handle privileged registers
- References: <20180507171121.7746-1-jcmvbkbc@gmail.com>
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