qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Getting tcg in a standalone library
@ 2010-06-07 21:27 Peter Fritzsche
  2010-06-07 23:35 ` Alexander Graf
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Fritzsche @ 2010-06-07 21:27 UTC (permalink / raw)
  To: qemu-devel

Hi,

I am currently quite interesting in tcg for binary translation. There are many 
emulator projects (I mean mostly console emulators) out there which start to 
implement more or less bad ILs to translate their specific cpu (for example 
gameboy has z80, n64 has r4300i, gamecube has powerpc 750CXe, ...). These are 
most of the time x86 only and very limited. But it seems that qemu's cpu 
libraries aren't made for those cpu's and don't seem to provide the needed 
infrastructure for emulating such highly integrated systems (please correct me 
if I am wrong).

I think that the best way to share code would be if other projects could also 
use tcg for their translation needs. But it seems to me that it it to tightly 
integrated into qemu and cannot be ripped out. Are their any plans to open it 
for other projects as you have already done it with the emulation cores?

Best regards,
	Peter

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

* Re: [Qemu-devel] Getting tcg in a standalone library
  2010-06-07 21:27 [Qemu-devel] Getting tcg in a standalone library Peter Fritzsche
@ 2010-06-07 23:35 ` Alexander Graf
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Graf @ 2010-06-07 23:35 UTC (permalink / raw)
  To: Peter Fritzsche; +Cc: qemu-devel


On 07.06.2010, at 23:27, Peter Fritzsche wrote:

> Hi,
> 
> I am currently quite interesting in tcg for binary translation. There are many 
> emulator projects (I mean mostly console emulators) out there which start to 
> implement more or less bad ILs to translate their specific cpu (for example 
> gameboy has z80, n64 has r4300i, gamecube has powerpc 750CXe, ...). These are 
> most of the time x86 only and very limited. But it seems that qemu's cpu 
> libraries aren't made for those cpu's and don't seem to provide the needed 
> infrastructure for emulating such highly integrated systems (please correct me 
> if I am wrong).

The old stuff is pretty tough, as it's timing critical. Everything as of the GC should be fairly easy to emulate using tcg though, as you can just count the overall emulated instructions and throttle it lazily from there. That's basically what Dolphin does too.

For the 750CXe all that's left to do is to emulate the paired single instructions. And I have a full emulation of those in the KVM code already, so you could take it from there.

> I think that the best way to share code would be if other projects could also 
> use tcg for their translation needs. But it seems to me that it it to tightly 
> integrated into qemu and cannot be ripped out. Are their any plans to open it 
> for other projects as you have already done it with the emulation cores?

Yes, I agree. That would indeed be useful. Patches are welcome.


Alex

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

end of thread, other threads:[~2010-06-07 23:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-07 21:27 [Qemu-devel] Getting tcg in a standalone library Peter Fritzsche
2010-06-07 23:35 ` Alexander Graf

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