qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qemu optimization


From: John R. Hogerhuis
Subject: Re: [Qemu-devel] qemu optimization
Date: Tue, 30 Aug 2005 11:05:40 -0700

On Tue, 2005-08-30 at 12:17 +0100, Paul Brook wrote:

> You might want to look at my hand-coded backed for qemu. The intention is 
> that 
> this will eventually replace dyngen/gcc altogether. Currently everything 
> except the experimental m68k target uses a mixture of the old and the 
> micro-ops.
> 

Handwritten code generators are definitely the future for QEMU, at least
where virtualization doesn't make sense (host and guest CPU don't match,
or when you don't have root or admin access to the host).

> One of the differences is that most of the semantics and guest CPU state 
> accesses are explicit, so it should be possible to use conventional 
> optimisation techniques (including peepholes).
> 
> Source and patches can be found at
> https://nowt.dyndns.org
> 
> As proof-of-concept I also implemented a simple register propagation pass, 
> and 
> got a 15% speedup on the nbench benchmark.
> 
> Paul
> 
> 

I just downloaded the patched tree off your page. Tried to build it
(./configure && make) compiling on Debian GNU/Linux, gcc version 3.3 but
no-workey.
Any idea what I'm doing wrong (I haven't given it a hard look yet)?

(last line of build, let me know if you need more).

gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I.
-I/home/john/projects/qemu/target-mips -I/home/john/projects/qemu
-I/home/john/projects/qemu/host-i386 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-I/home/john/projects/qemu/fpu -I/home/john/projects/qemu/slirp -c -o
translate-all.o /home/john/projects/qemu/translate-all.c
/home/john/projects/qemu/translate-all.c: In function
`cpu_restore_state':
/home/john/projects/qemu/translate-all.c:1496: error: `CC_OP_DYNAMIC'
undeclared (first use in this function)
/home/john/projects/qemu/translate-all.c:1496: error: (Each undeclared
identifier is reported only once
/home/john/projects/qemu/translate-all.c:1496: error: for each function
it appears in.)
/home/john/projects/qemu/translate-all.c:1497: error: structure has no
member named `cc_op'
make[1]: *** [translate-all.o] Error 1
make[1]: Leaving directory `/home/john/projects/qemu/mips-softmmu'
make: *** [all] Error 1
~/projects/qemu :( 





reply via email to

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