From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1I9TRf-0002h2-70 for qemu-devel@nongnu.org; Fri, 13 Jul 2007 18:17:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1I9TRe-0002gn-4a for qemu-devel@nongnu.org; Fri, 13 Jul 2007 18:17:02 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I9TRd-0002gh-VR for qemu-devel@nongnu.org; Fri, 13 Jul 2007 18:17:02 -0400 Received: from wx-out-0506.google.com ([66.249.82.225]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1I9TRd-0006hV-Lz for qemu-devel@nongnu.org; Fri, 13 Jul 2007 18:17:01 -0400 Received: by wx-out-0506.google.com with SMTP id h31so611288wxd for ; Fri, 13 Jul 2007 15:17:01 -0700 (PDT) Message-ID: <12835c8f0707131517t72febf40h27326ab67d5b32f3@mail.gmail.com> Date: Fri, 13 Jul 2007 15:17:01 -0700 From: "Shashidhar Mysore" Subject: Re: [Qemu-devel] address translation In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_46828_16542022.1184365021276" References: <12835c8f0707121729y29d1a678qf27d29b0ca572f08@mail.gmail.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_46828_16542022.1184365021276 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Thanks for the reply, Andrzej! Some clarifications below ... On 7/13/07, andrzej zaborowski wrote: > > > > ************************************************ > > /* convert one instruction. s->is_jmp is set if the translation must > > be stopped. Return the next pc value */ > > static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) > > { > > int b, prefixes, aflag, dflag; > > int shift, ot; > > int modrm, reg, rm, mod, reg_addr, op, opreg, offset_addr, val; > > target_ulong next_eip, tval; > > int rex_w, rex_r; > > > > s->pc = pc_start; // This s->pc is what I am using to extract all > > executed PC values > > This s->pc doesn't correspond to executed PC values, qemu is a translator. Can you tell me what s->pc is, in this context? Is the the start PC of a basic block that is about to be executed? Is there any way in which I could extract the trace of executed PCs in QEMU? Regards, -Shashi. ------=_Part_46828_16542022.1184365021276 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Thanks for the reply, Andrzej!

Some clarifications below ...

On 7/13/07, andrzej zaborowski <balrogg@gmail.com > wrote:
>
> ************************************************
> /* convert one instruction. s->is_jmp is set if the translation must
>    be stopped. Return the next pc value */
> static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
> {
>     int b, prefixes, aflag, dflag;
>     int shift, ot;
>     int modrm, reg, rm, mod, reg_addr, op, opreg, offset_addr, val;
>     target_ulong next_eip, tval;
>     int rex_w, rex_r;
>
>     s->pc = pc_start;   // This s->pc is what I am using to extract all
> executed PC values

This s->pc doesn't correspond to executed PC values, qemu is a translator.

Can you tell me what s->pc is, in this context? Is the the start PC of a basic block that is about to be executed? Is there any way in which I could extract the trace of executed PCs in QEMU? 


Regards,
-Shashi.
------=_Part_46828_16542022.1184365021276--