Date: Fri, 12 Dec 1997 02:03:40 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: jamil@acroal.com (J. Weatherbee - Senior Systems Architect) Cc: tlambert@primenet.com, hackers@freebsd.org Subject: Re: OS Ports (The Terry Lambert Challenge, Part II) Message-ID: <199712120203.TAA05412@usr02.primenet.com> In-Reply-To: <Pine.BSF.3.96.971210164925.26293A-100000@acroal.com> from "J. Weatherbee - Senior Systems Architect" at Dec 10, 97 04:54:20 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> Ok, terry I'll make you a deal. Show me some processor that has virtual > memory constructs that are not ridiculous (like intels), and if you write > the code for real<->virtual hardware (i.e. console, disk, etc.) > I will code the virtual instruction set. A motorola product would be > prefferred because getting detailed manuals from them is painless (and > usually free). I'm more interested in running Sun3, HP345 (I have one), and Amiga SunOS/HPUX/SVR4/NetBSD/OpenBSD binaries under x86 FreeBSD. There is currently someone working on being able to run MIPS R3000 MIPS OS and NetBSD binaries on FreeBSD. I think it's much less interesting to try and build a virtual machine in it's entirety. The current approach being taken is to emulate the processor to run native instructions, and convert the traps into native system calls in and out. For example, MIPS code to do a statically linked: main() { write( 1, "hello world!\n", 13); } is built on a NetBSD/MIPS box, and the code is mapped into a virtual address data space in a SPIM binary. When the SPIM binary is asked to execute the trap call after pushing the stack, it enulates the trap call by converting it into a NetBSD native system call (this saves converting the call arguments in user space in each emulator, vs. in kernel space using the existing NetBSD execution class glue code). This is what I was talking about. The "deal" you have is interesting, but it's tantamount to you wanting to write the 68k processor from Executor while I write all of the Apple Mac hardware and Quickdraw stuff (8-)), so it's not a deal I'm willing to commit to. I will work with you if you want to help me make HP345 binaries from NetBSD run on x86 FreeBSD. The HP345 binaries for NetBSD are the same ones for the Amiga, Sun, and Macintosh NetBSD, so this would cover a*lot* of binary compatability. Besides, they are easy for me to come by. 8-). I'd be willing to help you with Sun3/SunOS, HP345/HPUX, and Mac2/AUX binary emulation as well, but I have less ability to compile for any but the HP345, since that's the only one I own (I have an Amiga, but it only has a 68010 and an old SVR3.2 port without PMMU; it can run NCR Tower 16 binaries, but that's not a growth industry). So we probably are not talking about solving the same problems. 8-(. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712120203.TAA05412>