qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/6] tcg/interpreter: Add TCG + interpreter for bytecode
@ 2011-10-20 21:11 Stefan Weil
  2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 1/6] tcg: TCG targets may define tcg_qemu_tb_exec Stefan Weil
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Stefan Weil @ 2011-10-20 21:11 UTC (permalink / raw)
  To: qemu-devel

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-10-21  6:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-20 21:11 [Qemu-devel] [PATCH v2 0/6] tcg/interpreter: Add TCG + interpreter for bytecode Stefan Weil
2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 1/6] tcg: TCG targets may define tcg_qemu_tb_exec Stefan Weil
2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 2/6] tcg: Make ARRAY_SIZE(tcg_op_defs) globally available Stefan Weil
2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 3/6] tcg: Add bytecode generator for tcg interpreter Stefan Weil
2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 4/6] tcg: Add interpreter for bytecode Stefan Weil
2011-10-20 21:36   ` malc
2011-10-21  6:03     ` Stefan Weil
2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 5/6] tcg: Add tci disassembler Stefan Weil
2011-10-20 21:11 ` [Qemu-devel] [PATCH v2 6/6] tcg: Add tcg interpreter to configure / make Stefan Weil

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).