All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Bonifazi <stefboombastic@gmail.com>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] TCG flow vs dyngen
Date: Sat, 11 Dec 2010 13:29:17 +0100	[thread overview]
Message-ID: <4D036E9D.90401@gmail.com> (raw)
In-Reply-To: <AANLkTikYqKz4feKX0J4inN1mTgb9FjRGwnC4CpA6-6Ep@mail.gmail.com>

Thank you very very much! I'd take months for understanding everything 
myself from the source code! :)

On 12/11/2010 12:02 PM, Blue Swirl wrote:
> On Fri, Dec 10, 2010 at 9:26 PM, Stefano Bonifazi
> <stefboombastic@gmail.com>  wrote:
>> [..]
>>
>> - So, I think that the technical documentation is now obsolete, isn't it?
> At least we shouldn't link to that paper anymore. There's also
> documentation generated from qemu-tech.texi that should be up to date.
Do you mean this:
http://www.weilnetz.de/qemu-tech.html
?

>> - If I understand well, TCG runtime flow is the following:
>>      - TCG takes the target binary, and splits it into target blocks
>>      - if the TB is not cached, TCG translates it (or better the target
>> instructions it is composed by) into TCG micro ops,
> The above is not the job of TCG (which is host specific), but the
> target specific translators (target-*/translate.c).
Ok, then considering QEMU flow instead of simply TCG, do those steps 
take place in the order I considered?

>>      - TCG caches the TB,
>>      - TCG tries to chain the block with others,
> The above is part of the CPU execution loop (cpu-exec.c), TCG is not
> involved anymore.
Ok! Thank you, now I have a clearer idea of where different operations 
are implemented.. but again considering the whole QEMU flow, are the 
steps I reported executed in the order I put them?
>>      - TCG copies the TB into the execution buffer
> There is no copying.
Does that mean TCG produces the host object code directly into the 
emulator's memory for it to fetch? Or does TCG make the emulator even 
execute that object code as soon as it is produced?
But, if the object code is consumed on the fly, it means there is no 
cashing of it, is it there?
What is actually cached? Only target blocks? Their translation into TCG 
uops? Host binary code generated by TCG?

Again many many thanks!!!
Stefano B.

  reply	other threads:[~2010-12-11 12:29 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-10 21:26 [Qemu-devel] TCG flow vs dyngen Stefano Bonifazi
2010-12-11 11:02 ` Blue Swirl
2010-12-11 12:29   ` Stefano Bonifazi [this message]
2010-12-11 13:11     ` Blue Swirl
2010-12-11 14:32       ` Stefano Bonifazi
2010-12-11 14:44         ` Blue Swirl
2010-12-14 20:17           ` Stefano Bonifazi
2011-01-16 14:46 Raphael Lefevre
2011-01-16 15:21 ` Stefano Bonifazi
2011-01-16 16:01   ` Raphaël Lefèvre
2011-01-16 16:43     ` Stefano Bonifazi
2011-01-16 18:29       ` Peter Maydell
2011-01-16 19:02         ` Stefano Bonifazi
2011-01-16 19:24           ` Peter Maydell
2011-01-16 20:50           ` Stefano Bonifazi
2011-01-16 21:08             ` Raphaël Lefèvre
2011-01-17 11:59             ` Lluís
2011-01-16 19:16       ` Raphaël Lefèvre
2011-01-23 21:50     ` Rob Landley
2011-01-23 22:25       ` Stefano Bonifazi
2011-01-23 23:40         ` Rob Landley
2011-01-24 10:17           ` Stefano Bonifazi
2011-01-24 18:20             ` Rob Landley
2011-01-24 21:16               ` Stefano Bonifazi
2011-01-25  1:19                 ` Rob Landley
2011-01-25  8:53                   ` Stefano Bonifazi
2011-01-24 14:32       ` Peter Maydell
2011-01-24 14:56         ` Stefano Bonifazi
2011-01-24 15:15           ` Lluís
2011-01-24 18:02           ` Dushyant Bansal
2011-01-24 19:38             ` Stefano Bonifazi
2011-01-25  7:56               ` Dushyant Bansal
2011-01-25  9:04                 ` Stefano Bonifazi
2011-01-25  9:05                   ` Edgar E. Iglesias
2011-01-25  9:28                     ` Stefano Bonifazi

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=4D036E9D.90401@gmail.com \
    --to=stefboombastic@gmail.com \
    --cc=blauwirbel@gmail.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.