From: Richard Henderson <rth@twiddle.net>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Stefan Weil <sw@weilnetz.de>, QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 0/3] tci rewrite
Date: Tue, 13 May 2014 14:52:46 -0700 [thread overview]
Message-ID: <5372942E.2060901@twiddle.net> (raw)
In-Reply-To: <CAFEAcA_b6Akaxre+7eE+4=nLHc49ajsc2HtMht14vMb_PXRiFw@mail.gmail.com>
On 05/13/2014 02:49 PM, Peter Maydell wrote:
> On 13 May 2014 22:22, Richard Henderson <rth@twiddle.net> wrote:
>> There are a number of problems with the current interpreter:
>>
>> (1) It uses direct unaligned accesses as part of the bytecode stream.
>> This fails with SIGBUS for strict alignment hosts. This could of
>> course be fixed to use "proper" unaligned accesses, but this would
>> just be slow.
>>
>> (2) The method by which it implements calls is non-portable, and really
>> only works for x86.
>>
>> (3) The code is full of ifdefs and TODOs that never got completed.
>>
>> (4) The "registers" are in a global "tci_reg" array that implies that
>> if threads are ever used, we'll immediately get corruption. Fixing
>> this is complicated by the structure of the interpreter.
>>
>> (5) It hasn't been updated to the "new" ldst opcodes.
>>
>> To me, all of this adds up to a complete rewrite.
>
> Does the TCG interpreter actually have any interesting uses
> to merit our carrying it around, maintaining it and (in this case)
> rewriting it? Mostly I just see it when people accidentally configure
> it and I have to say "don't do that, you really want the native TCG
> backend".
The only interesting use I can think of is pure portability to otherwise
unsupported hosts. Rare these days, but there are still some kicking.
When do folks accidentally configure it?
r~
next prev parent reply other threads:[~2014-05-13 21:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-13 21:22 [Qemu-devel] [PATCH 0/3] tci rewrite Richard Henderson
2014-05-13 21:22 ` [Qemu-devel] [PATCH 1/3] ppc: Disable cacheutils for the interpreter Richard Henderson
2014-05-13 21:22 ` [Qemu-devel] [PATCH 2/3] tci: Build ffi data structures for helpers Richard Henderson
2014-05-13 21:22 ` [Qemu-devel] [PATCH 3/3] tci: Rewrite from scratch Richard Henderson
2014-05-13 21:49 ` [Qemu-devel] [PATCH 0/3] tci rewrite Peter Maydell
2014-05-13 21:52 ` Richard Henderson [this message]
2014-05-13 22:12 ` Peter Maydell
2014-05-13 22:51 ` Richard Henderson
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=5372942E.2060901@twiddle.net \
--to=rth@twiddle.net \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=sw@weilnetz.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).