qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: Removing GCC dependency


From: Herbert Poetzl
Subject: Re: [Qemu-devel] Re: Removing GCC dependency
Date: Tue, 21 Dec 2004 16:36:33 +0100
User-agent: Mutt/1.4.1i

On Tue, Dec 21, 2004 at 03:23:11PM +0000, Paul Brook wrote:
> > I always thought the current 'dyngen' solution as a temporary one 
> > because it enabled a fast developpement of QEMU as the expense of 
> > performance (this is relative of course, QEMU is already quite fast and 
> > usable). But if we want better performances and better... portability 
> > (in the sense that we are not tied to a specific GCC version), then a 
> > hand coded code generator is the only way to go.
> 
> Do we also want to aim towards using the same code generator for all guest 
> cpus? We currently have separate op.c for each emulated architecture.
> 
> Combining these into a single set of opcodes seems like a good idea.  Once we 
> start doing hand coded generator and/or nontrivial optimisations on the 
> generated opcodes the duplications is really going to hurt, and the bar for 
> adding new architectures will be significantly higher.
> 
> I realise there complications with this (different register files and MMU 
> types), but I can see large benefits if these can be overcome.
> 

again a look at 'other' binary translators like the
bintrans[1] could provide some good ideas ...

best,
Herbert

-- from the README --

    Machine Descriptions
    --------------------

bintrans uses machine descriptions to automatically generate
interpreters, disassemblers, composer macros, and liveness analysers.
Currently, there are machine descriptions for the i386, the PPC and
the Alpha, residing in the files "i386.lisp", "ppc.lisp", and
"alpha.lisp", respectively.

Should you choose to play around with them, here's how to generate the
various C files from them:

  1. Start CLISP
  2. (load "init.lisp")

then:

  3a. (generate-all-alpha-files)     ; to generate the Alpha files
  3b. (generate-all-ppc-files)       ; to generate the PPC files
  3c. (generate-all-intel-files)     ; to generate the i386 files


> Paul
> 
> 
> _______________________________________________
> Qemu-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/qemu-devel




reply via email to

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