qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: casmac <1482995675@qq.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: Re: GDB get wrong debug infos on TI DSP architecture extension
Date: Thu, 28 May 2020 09:16:29 +0800	[thread overview]
Message-ID: <tencent_B0E453026AE8377459F3162D9F7D5ECE6907@qq.com> (raw)
In-Reply-To: <8b83e11b-e593-b7db-48b6-252e23c599da@amsat.org>

[-- Attachment #1: Type: text/plain, Size: 4918 bytes --]

Hi,
&nbsp;&nbsp; Thank you for forwarding my question to developers and sharing the C6x implementation.
&nbsp;&nbsp; Perhaps I should follow up with another problem I encountered. The senerio is the&nbsp; emulator keeps running eventhough the program it emulates has already exited. And it keeps retrieving instructions which are all zero "instruction"(0x00000000). 

&nbsp;&nbsp; It looks to me that in function cpu_exec(CPUState *cpu), the following loop never terminate:
&nbsp;&nbsp; while (!cpu_handle_exception(cpu, &amp;ret)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TranslationBlock *last_tb = NULL;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int tb_exit = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (!cpu_handle_interrupt(cpu, &amp;last_tb)) { ... }
&nbsp;&nbsp; Is it because cpu-&gt;exit_request remains 0 ?

&nbsp;&nbsp; At what point should we make cpu-&gt;exit_request=1 ?
&nbsp;&nbsp; Thanks again!!


regards
xiaolei



------------------&nbsp;Original&nbsp;------------------
From:&nbsp;"Philippe Mathieu-Daudé"<f4bug@amsat.org&gt;;
Date:&nbsp;Wed, May 27, 2020 03:19 PM
To:&nbsp;"casmac"<1482995675@qq.com&gt;;"qemu-devel"<qemu-devel@nongnu.org&gt;;
Cc:&nbsp;"Taylor Simpson"<tsimpson@quicinc.com&gt;;"Alex Bennée"<alex.bennee@linaro.org&gt;;"Luc Michel"<luc.michel@greensocs.com&gt;;
Subject:&nbsp;Re: GDB get wrong debug infos on TI DSP architecture extension



Hi Xiaolei,

Cc'ing more developers who might answer you.

On 5/27/20 8:48 AM, casmac wrote:
&gt; Hi all,
&gt; &nbsp;&nbsp; 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.

&gt; Now, we are
&gt; adding GDB debugging features.
&gt; &nbsp;&nbsp; We have done the following, but not sure we are on the right track :
&gt; &nbsp;&nbsp; - add a xml description file in gdb-xml, without understanding the
&gt; purpose of the file, why some architectures don't provide such xml file?
&gt; &nbsp;&nbsp; - add ***_cpu_gdb_read_register(), ***_cpu_gdb_write_register();
&gt; &nbsp;&nbsp; - added&nbsp; dsp_cpu_get_phys_page_attrs_debug(), but uncertain about
&gt; what to return
&gt; &nbsp; &nbsp;&nbsp; dsp_cpu_get_phys_page_attrs_debug(CPUState *cs, vaddr addr,
&gt; MemTxAttrs *attrs)
&gt; &nbsp; &nbsp;&nbsp; {
&gt; &nbsp; &nbsp; &nbsp; &nbsp; return addr &amp; TARGET_PAGE_MASK;&nbsp;&nbsp;
&gt; &nbsp; &nbsp;&nbsp; }
&gt; &nbsp;&nbsp;
&gt; &nbsp;&nbsp; We run QEMU with the these arguments
&gt; &nbsp;&nbsp; qemu-system-dsp ... -kernel filename.out -S -s
&gt; &nbsp;&nbsp;
&gt; &nbsp;&nbsp; It turns out that gdb reads incorrect register values, and complains
&gt; : "warning: Target-supplied registers are not supported by the current
&gt; architecture".
&gt; &nbsp;&nbsp;
&gt; &nbsp;&nbsp; Something is missing here, or we do it in a wrong way.&nbsp; Any advise
&gt; would be helpful to us.
&gt; &nbsp;&nbsp;
&gt; &nbsp;&nbsp; Thanks.
&gt; &nbsp; &nbsp;
&gt; xiaolei
&gt; 
&gt; &nbsp;&nbsp; ----- ti_dsp.xml&nbsp; -----
&gt; &nbsp;&nbsp;
&gt; &nbsp;&nbsp; <?xml version="1.0"?&gt;
&gt; <!DOCTYPE feature SYSTEM "gdb-target.dtd"&gt;
&gt; <feature name="org.gnu.gdb.tic3x.core"&gt;
&gt; &nbsp;&nbsp;&nbsp; <reg name="r0"&nbsp; bitsize="32"&gt;</reg&gt;
&gt; &nbsp;<reg name="r1"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="r2"&nbsp; bitsize="32"&gt;</reg&gt;
&gt; &nbsp;<reg name="r3"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="r4"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="r5"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="r6"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="r7"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar0" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar1" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar2" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar3" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar4" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar5" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar6" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ar7" bitsize="32"/&gt;
&gt; &nbsp;<reg name="dp"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="ir0" bitsize="32"/&gt;
&gt; &nbsp;<reg name="ir1" bitsize="32"/&gt;
&gt; &nbsp;<reg name="bk"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="sp"&nbsp; bitsize="32" type="data_ptr"/&gt;
&gt; &nbsp;<reg name="st"&nbsp; bitsize="32"&gt;</reg&gt;
&gt; &nbsp;<reg name="ie"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="if"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="iof" bitsize="32"/&gt;
&gt; &nbsp;<reg name="rs"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="re"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="rc"&nbsp; bitsize="32"/&gt;
&gt; &nbsp;<reg name="pc"&nbsp; bitsize="32" type="data_ptr"/&gt;
&gt; &nbsp;<reg name="clk"&nbsp; bitsize="32"/&gt;
&gt; </feature&gt;
&gt; &nbsp;&nbsp;

[-- Attachment #2: Type: text/html, Size: 5663 bytes --]

  parent reply	other threads:[~2020-05-28  1:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-27  6:48 GDB get wrong debug infos on TI DSP architecture extension casmac
2020-05-27  7:19 ` Philippe Mathieu-Daudé
2020-05-27 21:41   ` Taylor Simpson
2020-05-29  7:27     ` casmac
2020-05-29 15:19       ` Taylor Simpson
2020-05-28  1:16   ` casmac [this message]
2020-05-28  8:34     ` Alex Bennée
2020-05-28  9:49       ` =?gb18030?B?u9i4tKO6IEdEQiBnZXQgd3JvbmcgZGVidWcgaW5mb3Mgb24gVEkgRFNQIGFyY2hpdGVjdHVyZSBleHRlbnNpb24=?= =?gb18030?B?eGlhb2xlaQ==?=
2020-05-27  9:11 ` GDB get wrong debug infos on TI DSP architecture extension Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tencent_B0E453026AE8377459F3162D9F7D5ECE6907@qq.com \
    --to=1482995675@qq.com \
    --cc=f4bug@amsat.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).