qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] QEMU on SPARC host - Summary and suggested vl.c PATCH


From: Bochnig, Martin
Subject: Re: [Qemu-devel] QEMU on SPARC host - Summary and suggested vl.c PATCH
Date: Wed, 01 Sep 2004 16:33:06 +0200
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.2.1) Gecko/20030711

Hi,

thank you for your valuable hints, thoughts, comments.

I hope I will manage to get things running - earlier or later.
Most of my systems are SPARC based (all except 1 PC).
Furthermore I would love to see people using QEMU on top of SPARC hw (both on Solaris and LinUX as well as *BSD).

I'll keep in touch with you / the ml.


Thanx,

Martin




Richard Zidlicky wrote:
On Wed, Sep 01, 2004 at 04:57:51AM +0200, Bochnig, Martin wrote:

(now in its own thread)

Hi,


Now we SPARC-host users are on the horns of a dilemma: QEMU's existing SPARC support is optimized for SPARCv7 only. While we are required to build for v9 / SPARC64, the build process gives tons of errors caused by invalid type definitions/invalid size castings and doesn't complete.
The whole sources may need to be adjusted (by a real hacker, not me).
I edited Makefile.target, Makefile and configure and tested several '-mcpu=' and '-m32' vs. '-m64' settings - including '-mcpu=ultrasparc -m32' which is to produce so called sparcv8plus ELF 32 binaries.
I tried to build statically.
I enabled bigendian and gprof in 'configure'.
The build did NEVER complete with '-mcpu=ultrasparc' - no matter how all the other variations looked like. So I could never test or even tune my theoretical %tick code (BTW: The vl.o object builds fine). op.o seemed to be broken and dyngen complained and was unable to generate op.h. :-((

../dyngen -o op.h op.o
dyngen: ret; restore; not found at end of op_setbe_T0_subl


so look at the code generated for op_setbe_T0_subl in op.o,
eg objdump -S op.o. Chances are that you have forgotten some no-reorder-block or noomit-fp compiler flags. Or the instructions have been
reordered in some new way by the compiler or some V9 specific
opcode. Just figure out what the compiler does instead of
"ret; restore" and strip off these instructions.

Richard








reply via email to

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