Skip to content

tcg/interpreter: Add TCG + interpreter for bytecode (virtual machine)

Stefan Weil qemu-devel 1 version Applied

Status from this message: I applied 1 to 4, thanks.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest8 patches 39 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/8tcg: Declare TCG_TARGET_REG_BITS in tcg.htcg/tcg.h+10 -00 replies
2/8tcg: Don't declare TCG_TARGET_REG_BITS in tcg-target.htcg/arm/tcg-target.h tcg/hppa/tcg-target.h tcg/ia64/tcg-target.h +5 more+1 -210 replies
3/8tcg: Add forward declarations for local functionstcg/tcg.c+16 -01 reply
4/8tcg: Add some assertionstcg/tcg.c+2 -00 replies
5/8tcg: Add interpreter for bytecodetcg/tcg.h tcg/tci.c+1203 -111 replies
6/8tcg: Add bytecode generator for tcg interpreterdis-asm.h disas.c dyngen-exec.h +4 more+1263 -45 replies
7/8tcg: Add tcg interpreter to configure / makeMakefile.target configure+29 -22 replies
8/8ppc: Support tcg interpreter on ppc hostscache-utils.h+1 -12 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Qemu-devel] [PATCH 0/8] tcg/interpreter: Add TCG + interpreter for bytecode (virtual machine)

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.

[PATCH 1/8] tcg: Declare TCG_TARGET_REG_BITS in tcg.h [PATCH 2/8] tcg: Don't declare TCG_TARGET_REG_BITS in tcg-target.h [PATCH 3/8] tcg: Add forward declarations for local functions [PATCH 4/8] tcg: Add some assertions
[PATCH 5/8] tcg: Add interpreter for bytecode
[PATCH 6/8] tcg: Add bytecode generator for tcg interpreter [PATCH 7/8] tcg: Add tcg interpreter to configure / make [PATCH 8/8] ppc: Support tcg interpreter on ppc hosts