From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nw9Re-0004pm-K0 for qemu-devel@nongnu.org; Mon, 29 Mar 2010 03:31:34 -0400 Received: from [140.186.70.92] (port=40435 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nw9RP-0004jG-7H for qemu-devel@nongnu.org; Mon, 29 Mar 2010 03:31:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nw9R1-0007Si-US for qemu-devel@nongnu.org; Mon, 29 Mar 2010 03:31:18 -0400 Received: from fg-out-1718.google.com ([72.14.220.152]:33090) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nw9R1-0007R6-Hb for qemu-devel@nongnu.org; Mon, 29 Mar 2010 03:30:55 -0400 Received: by fg-out-1718.google.com with SMTP id d23so2612253fga.10 for ; Mon, 29 Mar 2010 00:30:49 -0700 (PDT) Message-ID: <4BB05724.7030909@gmail.com> Date: Mon, 29 Mar 2010 11:30:44 +0400 From: Alexander MIME-Version: 1.0 Subject: Re: [Qemu-devel] Question about memory micro operations in Qemu 0.12.x References: <4BAD17C2.2090801@gmail.com> <20100327094900.GA4172@zubnet.me.uk> In-Reply-To: <20100327094900.GA4172@zubnet.me.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Reply-To: coopht@gmail.com List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, coopht@gmail.com Thank you for your answer. I still have some questions. 27.03.2010 12:49, Stuart Brady пишет: > On Fri, Mar 26, 2010 at 11:23:30PM +0300, coopht@gmail.com wrote: > >> Hello. >> in qemu 0.9.x there was a special file with micro-operations, which >> implemented access to memory. For example for arm architecture it >> was op_mem.h file. I was able to add some printfs to this functions >> and get information about memory accesses. >> >> My question is : how memory access microoperations are now >> implemented in qemu 0.12.x ? >> >> Thanks for you answers. >> > To generate load and store operations, tcg_gen_qemu_{ld,st}*() are now > used. See tcg/README for more information on TCG ops. > > In tcg/*/tcg-target.c, you'll find tcg_out_qemu_{ld,st}(). The easiest > way to do this would probably be to place your printfs in __ld_mmu() and > __st_mmu() (which are defined via softmmu_template.h), and remove the > TLB lookups from tcg_out_qemu_{ld,st}() so that your tracing code is > always called. > 1. How can I remove TLB lookups from tcg_out_qemu_{ld,st} ? > Instead of modifying tcg_out_qemu_{ld,st}(), you might also be able to > bypass it entirely, by using having tcg_gen_qemu_{ld,st}*() generate > calls to a helper function. > 2. Can you give me some examples of it ? > Cheers, > Thanks for your help.