From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CE7hD-0000Sf-MS for qemu-devel@nongnu.org; Sun, 03 Oct 2004 10:50:43 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CE7hD-0000SX-EM for qemu-devel@nongnu.org; Sun, 03 Oct 2004 10:50:43 -0400 Received: from [129.104.30.34] (helo=a.mx.polytechnique.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CE7aZ-0002aZ-SG for qemu-devel@nongnu.org; Sun, 03 Oct 2004 10:43:52 -0400 Received: from localhost (localhost [127.0.0.1]) by djali.polytechnique.org (Postfix) with ESMTP id 1936433250 for ; Sun, 3 Oct 2004 16:43:53 +0200 (CEST) Received: from djali.polytechnique.org ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11248-08 for ; Sun, 3 Oct 2004 16:43:53 +0200 (CEST) Received: from bellard.org (unknown [84.99.204.19]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTP id 989D833271 for ; Sun, 3 Oct 2004 16:43:52 +0200 (CEST) Message-ID: <41601058.5080204@bellard.org> Date: Sun, 03 Oct 2004 16:44:40 +0200 From: Fabrice Bellard MIME-Version: 1.0 Subject: Re: [Qemu-devel] Port to IRIX host References: <415FE91E.9060608@bellard.org> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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.