From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O1i6P-0002mY-QO for qemu-devel@nongnu.org; Tue, 13 Apr 2010 11:32:37 -0400 Received: from [140.186.70.92] (port=42448 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O1i6M-0002hu-VK for qemu-devel@nongnu.org; Tue, 13 Apr 2010 11:32:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O1i26-0007Kf-E7 for qemu-devel@nongnu.org; Tue, 13 Apr 2010 11:28:11 -0400 Received: from goliath.siemens.de ([192.35.17.28]:16880) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O1i26-0007KO-3a for qemu-devel@nongnu.org; Tue, 13 Apr 2010 11:28:10 -0400 Message-ID: <4BC48D85.7050903@siemens.com> Date: Tue, 13 Apr 2010 17:28:05 +0200 From: Jan Kiszka MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: Missing singlestep for already-translated code? References: <4BC47340.3030407@siemens.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: "qemu-devel@nongnu.org" , Jun Koi Alexander Graf wrote: > On 13.04.2010, at 15:36, Jan Kiszka wrote: > >> Jun Koi wrote: >>> Hi, >>> >>> I am looking into the singlestep command in monitor interface, and it >>> seems that we only take into account the singlestep flag when we are >>> translating code. >>> So for the already-translated code, we will miss singlestep? >> This feature is broken. For TCG, it should at least flush the >> translation buffer, and for KVM it has to enable single-stepping in the >> kernel. That's what happens automatically when you call cpu_single_step. >> I guess 'singlestep' wants to be somehow orthogonal to this. But this is >> the wrong approach. >> >> Does anyone actually used this feature or still does so? It looks fairly >> redundant to me, kind of a poor-man's gdb front-end as part of the >> monitor console. > > Not sure what it does, but I use -singlestep quite a lot to get register dumps for instructions when using -d cpu. Ah, "singlestep" is not about stopping the VM after each instruction but about limiting the TB length to a single instruction. Badly named and poorly documented. In that case, the dynamic switch should already be fine by adding a tb_flush() on enable. Still, someone should also patch at least the docs. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux