qemu-devel
[Top][All Lists]
Advanced

[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>
>   




reply via email to

[Prev in Thread] Current Thread [Next in Thread]