All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Cc: Blue Swirl <blauwirbel@gmail.com>
Subject: Re: [Qemu-devel] [RFC PATCH] s390x-linux-user
Date: Fri, 26 Jun 2009 19:39:21 +0100	[thread overview]
Message-ID: <200906261939.22647.paul@codesourcery.com> (raw)
In-Reply-To: <f43fc5580906261122n49eca7eap82e7cfec92e2909e@mail.gmail.com>

> >  OTOH, tweaking the TCG interface so that it works as an interpreter
> > shouldn't be all that hard. It's something I've been considering to do
> > for a while, and would mean that you can build both interpreter and
> > translator from the same source.
>
> Like by adding an interpreter TCG target? If it were in C only, it
> could also serve as a portable (low performance) translator runtime.

There are a couple of different options.

You could spit out bytecode (or even some simplified form of an existing ISA) 
then run that though an interpreter. This is gets you a portable target, and 
behaves much like a native TCG target.

The alternative is to replace TCG altogether, and have tcg_gen_* perform the 
operation immediately as the code is translated. You need a couple of tricks 
to cope with conditional banches, but as long as you don't allow loops this 
isn't too hairy. This is more invasive, gives you a pure interpreter, so may 
be the fastest option for heavily self-modifying guest code.

Paul

  reply	other threads:[~2009-06-26 18:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-26 16:49 [Qemu-devel] [RFC PATCH] s390x-linux-user Ulrich Hecht
2009-06-26 17:17 ` Blue Swirl
2009-06-26 17:40   ` Paul Brook
2009-06-26 17:46     ` Blue Swirl
2009-06-26 17:59       ` Paul Brook
2009-06-26 18:18         ` Paul Brook
2009-06-26 18:22         ` Blue Swirl
2009-06-26 18:39           ` Paul Brook [this message]
2009-06-26 19:07   ` Stuart Brady
2009-06-26 19:24     ` Paul Brook
2009-07-03 15:11     ` Ulrich Hecht

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=200906261939.22647.paul@codesourcery.com \
    --to=paul@codesourcery.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.