From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CE8Je-0007Ml-BC for qemu-devel@nongnu.org; Sun, 03 Oct 2004 11:30:26 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CE8Jd-0007M6-3N for qemu-devel@nongnu.org; Sun, 03 Oct 2004 11:30:25 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CE8Jd-0007Lp-0R for qemu-devel@nongnu.org; Sun, 03 Oct 2004 11:30:25 -0400 Received: from [64.233.170.206] (helo=mproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CE8Cy-0006sT-LR for qemu-devel@nongnu.org; Sun, 03 Oct 2004 11:23:32 -0400 Received: by mproxy.gmail.com with SMTP id 75so807291rnk for ; Sun, 03 Oct 2004 08:23:30 -0700 (PDT) Message-ID: Date: Sun, 3 Oct 2004 11:23:30 -0400 From: Karl Magdsick Subject: Re: [Qemu-devel] Port to IRIX host In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <415FE91E.9060608@bellard.org> Reply-To: Karl Magdsick , 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 > > 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? > i386-user passes the Linux system calls strait through to the native system. You could probably get away with adding some code to translate Linux syscalls to IRIX syscalls (with varying degrees of glue code to emulate correct behavior) for the most common cases and (initially) having QEMU print an error message and exit when it reaches an unimplemented system call. In this way, you could gradually add support for all of the Linux syscalls. As far as running x86 Linux binaries on x86 Win32, if you already have a way to translate Linux syscalls to Win32 syscalls, QEMU provides little or no advantage. CoLinux is a project that has ported the Linux kernel to be a WinNT subsystem so that WinNT can deal with Linux system calls. With CoLinux alone, you can run x86 Linux binaries on WinNT. Now, if you're running WinNT 3.51 on MIPS or PPC and ported CoLinux to your system, then i386-user would be useful. i386-user could also in theory be used on a MIPS or PPC WinNT system to run i386 WinNT binaries. There is a project called DarWine that is porting Wine to Darwin (the core of Apple's OS X). This will allow Darwin to handle Win32 system calls passed through by i386-user. The specific goal of DarWine is to allow Darwin x86 to directly run x86 Win32 programs and to allow Darwin PPC (including OS X) to run x86 Win32 programs when used with QEMU i386-user. You can find DarWine at the OpenDarwin project (www.OpenDarwin.org). -Karl