qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/8] tcg/interpreter: Add TCG + interpreter for


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH 0/8] tcg/interpreter: Add TCG + interpreter for bytecode (virtual machine)
Date: Sun, 25 Sep 2011 22:37:23 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110818 Iceowl/1.0b1 Icedove/3.0.11

Am 18.09.2011 15:00, schrieb Blue Swirl:
On Sun, Sep 18, 2011 at 12:46 PM, malc <address@hidden> wrote:
On Sun, 18 Sep 2011, Blue Swirl wrote:

On Sun, Sep 18, 2011 at 10:49 AM, malc <address@hidden> wrote:
On Sun, 18 Sep 2011, Blue Swirl wrote:

On Sat, Sep 17, 2011 at 7:59 PM, Stefan Weil <address@hidden> wrote:
Hello,

these patches add a new code generator (TCG target) to qemu.

Unlike other tcg target code generators, this one does not generate
machine code for some cpu. It generates machine independent bytecode
which is interpreted later. That's why I called it TCI (tiny code
interpreter).

I wrote most of the code two years ago and included feedback and
contributions from several QEMU developers, notably TeleMan,
Stuart Brady, Blue Swirl and Malc. See the history here:
http://lists.nongnu.org/archive/html/qemu-devel/2009-09/msg01710.html

Since that time, I used TCI regularly, added small fixes and improvements
and rebased it to latest QEMU. Some versions were tested using
ARM (emulated and real), PowerPC (emulated) and MIPS (emulated) hosts,
but normally I run it on i386 and x86_64 hosts.

I'd appreciate to see TCI in QEMU 1.0.

Regards,
Stefan Weil

The patches 2 and 4 are optional, patch 8 is only needed for running
TCI on a PowerPC host.

I think patches 1 to 4 and 8 could be applied soon as they are now,
they should benefit plain TCG too. I had some comments to other
patches, but otherwise everything looks great.

Hold the horses until Stefan settles the licensing issues.

Which issues? For which patches?


Read tcg/LICENSE.

"All the files in this directory and subdirectories are released under
a BSD like license (see header in each file). No other license is
accepted."

The wording of the file should be changed to list the files for which
the BSD like license applies (and for which no other license is
accepted), the file can't stop us adding new files with different
licenses.

Thanks for all feedback given.

These license issues delayed my further working on tci.
In the meantime, I asked Fabrice Bellard. Here is his answer:
"Sorry but I no longer care about the license of this code.
But if I was still in charge of the project,
I would clearly refuse any non BSD code in TCG. "
Although I agree with Blue's opinion given above, I also
want to respect Fabrice.

Therefore I suggest these changes:

* tcg/bytecode is moved to tcg/tci, and I change the license to BSD.

* The interpreter is moved from tcg/tci.c to tci.c and remains GPL.
  It is no longer in TCG, so there is no conflict with tcg/LICENSE.

This might seem to be a trick, but in some way it is similar to the
other tcg target implementations: the code generator is always BSD,
and the generated code is run on a system with a different license.

Comments welcome. As soon as there is a consensus on the way how tci
can be integrated I'll continue with patch series v2.

Patches 1 to 4 could be applied immediately (that would reduce the
size of the new series).

Kind regards,

Stefan Weil


reply via email to

[Prev in Thread] Current Thread [Next in Thread]