[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GDB get wrong debug infos on TI DSP architecture extension
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: GDB get wrong debug infos on TI DSP architecture extension |
Date: |
Wed, 27 May 2020 09:19:39 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
Hi Xiaolei,
Cc'ing more developers who might answer you.
On 5/27/20 8:48 AM, casmac wrote:
> Hi all,
> I am working on a TI DSP architecture extension for QEMU.
FYI you can find the TI TMS320C6x target implemented here:
https://github.com/philmd/qemu/releases/tag/target-c6x-2.4
I started rebasing it to QEMU 4.2 but then got distracted.
> Now, we are
> adding GDB debugging features.
> We have done the following, but not sure we are on the right track :
> - add a xml description file in gdb-xml, without understanding the
> purpose of the file, why some architectures don't provide such xml file?
> - add ***_cpu_gdb_read_register(), ***_cpu_gdb_write_register();
> - added dsp_cpu_get_phys_page_attrs_debug(), but uncertain about
> what to return
> dsp_cpu_get_phys_page_attrs_debug(CPUState *cs, vaddr addr,
> MemTxAttrs *attrs)
> {
> return addr & TARGET_PAGE_MASK;
> }
>
> We run QEMU with the these arguments
> qemu-system-dsp ... -kernel filename.out -S -s
>
> It turns out that gdb reads incorrect register values, and complains
> : "warning: Target-supplied registers are not supported by the current
> architecture".
>
> Something is missing here, or we do it in a wrong way. Any advise
> would be helpful to us.
>
> Thanks.
>
> xiaolei
>
> ----- ti_dsp.xml -----
>
> <?xml version="1.0"?>
> <!DOCTYPE feature SYSTEM "gdb-target.dtd">
> <feature name="org.gnu.gdb.tic3x.core">
> <reg name="r0" bitsize="32"></reg>
> <reg name="r1" bitsize="32"/>
> <reg name="r2" bitsize="32"></reg>
> <reg name="r3" bitsize="32"/>
> <reg name="r4" bitsize="32"/>
> <reg name="r5" bitsize="32"/>
> <reg name="r6" bitsize="32"/>
> <reg name="r7" bitsize="32"/>
> <reg name="ar0" bitsize="32"/>
> <reg name="ar1" bitsize="32"/>
> <reg name="ar2" bitsize="32"/>
> <reg name="ar3" bitsize="32"/>
> <reg name="ar4" bitsize="32"/>
> <reg name="ar5" bitsize="32"/>
> <reg name="ar6" bitsize="32"/>
> <reg name="ar7" bitsize="32"/>
> <reg name="dp" bitsize="32"/>
> <reg name="ir0" bitsize="32"/>
> <reg name="ir1" bitsize="32"/>
> <reg name="bk" bitsize="32"/>
> <reg name="sp" bitsize="32" type="data_ptr"/>
> <reg name="st" bitsize="32"></reg>
> <reg name="ie" bitsize="32"/>
> <reg name="if" bitsize="32"/>
> <reg name="iof" bitsize="32"/>
> <reg name="rs" bitsize="32"/>
> <reg name="re" bitsize="32"/>
> <reg name="rc" bitsize="32"/>
> <reg name="pc" bitsize="32" type="data_ptr"/>
> <reg name="clk" bitsize="32"/>
> </feature>
>
Re: GDB get wrong debug infos on TI DSP architecture extension, Alex Bennée, 2020/05/27