Features/TCI

From QEMU

Summary

On this page we are collecting the current state of the TCG Interpreter (= TCI) implementation for QEMU.

TCG (Tiny Code Generator) is a code generator which translates code fragments (basic blocks) from target code (any of the targets supported by QEMU) to a code representation which can be run on a host. TCI allows running QEMU on any 32 or 64 bit host, whereas QEMU without TCI supports only the most important host architectures (including x86, arm, mips, ppc, s390 and sparc).

See http://repo.or.cz/w/qemu/ar7.git/blob_plain/HEAD:/tcg/bytecode/README for more details.

Owner

Status

Old versions of the TCG interpreter were already published on the mailing list (qemu-devel). The latest version which includes many fixes and improvements still has to be published before it can be committed to the official QEMU release.

  • Tested on x86 (32 and 64 bit), arm, mips (emulated) and ppc (emulated) hosts running Debian GNU Linux or MS Windows.
  • Tested with i386, x86_64, mips and other emulations in system and user mode.

TODOs

  • Publish and discuss latest code on qemu-devel.
  • Add better disassembler.
  • Run more tests (especially with new hosts).
  • Commit code to official QEMU.

Code

We are currently keeping the code in a separate git repository.