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: Fabrice Bellard
Subject: Re: [Qemu-devel] Port to IRIX host
Date: Sun, 03 Oct 2004 16:44:40 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

Johannes Schindelin wrote:
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.

Good.

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.

OK. I am sure there is a better solution for the op parameters, but this is not critical since your solution is working.

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

target-mips would be very good and not difficult to add. It would be useful to some people as mips CPUs are used in many embedded devices. Moreover you could finish to learn mips assembler :-)

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.

I think I won't commit it before the 0.6.1 release, except maybe for the documentation.

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?

Maybe using cpu_to_xxx macros would suffice ? I have not looked at your VGA patches yet.

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?

It would need to code a Linux emulation. I think it is better to spend time on improving the system emulation !

Fabrice.





reply via email to

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