qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Port to IRIX host


From: Johannes Schindelin
Subject: Re: [Qemu-devel] Port to IRIX host
Date: Sun, 3 Oct 2004 16:00:50 +0200 (CEST)

Hi,

On Sun, 3 Oct 2004, Fabrice Bellard wrote:

> Thank you for the mips port and the documentation. Just one remark
> before merging your patch: could you distinguish the IRIX specific parts
> from the mips specific ones ? I saw you used '#ifdef __mips__' at places
> where it may be in fact IRIX specific code.

Yes, you are correct. I just used what was easiest for me, but I will add
a check in configure, and according to that, a define.

> Another note: for MIPS, using an alternate (embedded ?) ABI may give
> simpler code for op.o, in particular for the 'op parameters' and for the
> function calls. Did you look at this ?

I tried to find another ABI, and as you can find in Makefile.target, I use
the -mno-abicalls option to gcc, exactly for that reason. As I stated in
the Remarks section of my documentation: after many experiments I just
gave up and coded it in assembly. BTW I did not know one thing about MIPS
assembler before starting this little project, so my code is very likely
not to be optimal.

> I can add your documentation in a new doc/ directory in QEMU. Do you
> have other ideas ?

Thank you! And you can rename the file...

Other ideas? Of course: Next step is a target-mips ;-) No really, I would
appreciate if some people review my code - that means all but mips-dis.c,
which is pasted together from gdb - and you commit it.

Please note that there is one TODO left: Right now everything works fine
in single step mode, but as soon as I disable that, a guest Linux hangs
in the calibration loop. I guess there's something awkward with
interrupts.

Also, I did not thoroughly test the 8-bit support in hw/vga.c. My SDL gave
me 8 bit per default - IRIX's X is capable of having windows side by side
with different depths... and so SDL choses the worst :-) BTW, the lack of
support for 8 bit depths probably was the reason that QEmu with a remote X
display did show a window, but no content.

In order to deal with those unaligned accesses in hw/vga_template.h, I
introduced a macro "stl_host", which stores an unaligned uin32_t in host
byte order. Should this rather be "stlu_host", and defined in cpu-all.h?

To be honest, my IRIX machine is not a very fast one, so I did the port
mainly because I could, and also because I wanted to learn the internals
of QEmu and MIPS...

A question: i386-user is supposed to only run linux binaries, right? What
are the reasons that it is disabled on Windows? Could there be a way to
make it run on Windows, and also on IRIX?

Ciao,
Dscho






reply via email to

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