qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] tcg, tci: Add TCG and interpreter for bytecode


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] tcg, tci: Add TCG and interpreter for bytecode (virtual machine)
Date: Sun, 11 Oct 2009 18:33:57 +0200
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090707)

Stuart Brady schrieb:
> On Mon, Sep 28, 2009 at 06:50:21PM +0200, Stefan Weil wrote:
>> Please send patches / enhancements based on my latest
>> version from git://repo.or.cz/qemu/ar7.git.
>
> Just bug reports for now, unfortunately...
>
> exec-all.h defines 'USE_DIRECT_JUMP' based on the host architecture,
> which is not relevant under TCI. Also, a tb_set_jmp_target1()
> implementation is needed for TCI.
Done. Tested with mips / mipsel host.
>
> I think tcg_out64() belongs in tcg.c along with tcg_out8/16/32().
> There are places where the x86_64, ppc64 and s390 TCG targets call
> out32() twice, which should be replaced with a single call to out64().
This is still to be done.
>
> tcg_out16(), tcg_out32() and tcg_out64(), etc. rely on the code buffer
> pointer being aligned on those architectures that require alignment...
> We'd need definitions of these in terms of stw_p(), stl_p() and stq_p()
> for TCI... Is there any reason to preserve the old definitions?
>
> (BTW, there's no 'ldul' macro, so perhaps one should be added, although
> the names in that set of macros and functions are rather unclear, so
> perhaps some more descriptive naming could be used for new code.)
>
> Cheers,
Here is a status update:

A basic test of tcg + interpreter which includes system emulation
(pc bios) and linux user mode (simple hello) now works for
i386, x86_64, mips and mipsel hosts with i386 and x86_64 guests.
Endianess and 32/64 bit issues should be fixed now.
Alignment is still to be done (my test platforms don't need it).

So it is finally possible again to run qemu on mips hosts,
and any 32 or 64 bit host should be able to run qemu, too.
Of course the interpreted code is not fast - in my test on
an emulated mips malta machine it is even terribly slow.

git://repo.or.cz/qemu/ar7.git contains the latest changes.

If the maintainers want to integrate tci in the official qemu,
I can prepare the patches needed to add bytecode generator
and interpreter and tcg host support for any host.

Cheers,

Stefan Weil





reply via email to

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