qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 0/6] tcg/interpreter: Add TCG + interpreter for b


From: Stefan Weil
Subject: [Qemu-devel] [PATCH v2 0/6] tcg/interpreter: Add TCG + interpreter for bytecode
Date: Thu, 20 Oct 2011 23:11:19 +0200

This is a new version of my patch series which adds support for
QEMU on any host by using a TCG interpreter (TCI).

Some of the suggestions from the last patch version
(http://lists.nongnu.org/archive/html/qemu-devel/2011-09/msg02270.html)
are included now. Thank you to all who reviewed the code and sent
their feedback.

The new TCI is much faster by simply removing all assertion from the
interpreter code when QEMU was configured without --enable-debug-tcg
(--enable-debug also sets --enable-debug-tcg).

I still don't use computed goto. Nor did I address Stuart Brady's
remarks on possible problems with passing arguments to helper functions.
A future version might use trace events - for now I still use
macros because they support using __LINE__ and __func__.

There are still unimplemented opcodes in the code generator and in
the interpreter: I only implemented those which were needed during
my tests. Missing opcodes are reported and can be added easily when
needed.

TCI is not perfect, but it is already an exiting tool to examine
QEMU's TCG operations, to trace running emulation code or to
make statistics (for example using Valgrind).

The default QEMU builds should not be touched by my changes, therefore
the risk for the next offical QEMU release should be acceptable.

Here is a list of the patches:

[PATCH v2 1/6] tcg: TCG targets may define tcg_qemu_tb_exec
[PATCH v2 2/6] tcg: Make ARRAY_SIZE(tcg_op_defs) globally available
[PATCH v2 3/6] tcg: Add bytecode generator for tcg interpreter
[PATCH v2 4/6] tcg: Add interpreter for bytecode
[PATCH v2 5/6] tcg: Add tci disassembler
[PATCH v2 6/6] tcg: Add tcg interpreter to configure / make

The first patch cleans code - I hope it can be applied immediately.
The second patch adds a global constant used by the TCI disassembler.
The remaining 4 patches add TCI to QEMU.

Regards,
Stefan Weil




reply via email to

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