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
On Wed, May 9, 2018 at 7:43 AM, Pedro Alves <palves@redhat.com> wrote:
> 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.
Thank you. Applied to master.
-- Max