Port-vax archive

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

Re: Userland emulator



  Virtualization on a VAX.  Very nice! :-)

             -Dave

On 03/24/2013 07:53 PM, Mouse wrote:
> I've been playing with a VAX emulator I built.  The desire was to do a
> build of the VAX world for my 1.4T tree, which is well before
> cross-build support went in (even before the switch to ELF), on non-VAX
> hardware.  I'm mentioning it here in case anyone else would find it
> useful, either as-is or as a starting point.
> 
> Unlike emulators like simh, this one draws the simulator/simulated
> boundary at the userland/kernel divide.  It emulates things userland
> does; when userland does a syscall, it implements the syscall itself
> rather than emulating a VAX implementation of the syscall.  (Loosely
> put, you could call it WINE for 1.4T NetBSD/vax, though AIUI WINE
> pushes the emulator/emulated divide even farther out, to the
> library-routine API level.)
> 
> It has some issues, perhaps most notably that there's a lot of
> protection stuff it doesn't implement - it basically assumes all
> userland processes are running as root.  But that was enough for my
> purposes.  There are also a bunch of userland-usable instructions it
> doesn't implement, because nothing I've tried to run has used them; my
> strategy has been to run stuff until the emulator reports something
> unimplemented, at which point I then implement it and rerun.  It is
> also known to have subtle issues with signal delivery; set -o emacs in
> sh doesn't work as a result - sh is relatively demanding of SEGV.
> 
> There are doubtless lots of other issues (most of which I'm not aware
> of, of course).
> 
> It's designed to have a statically-linked executable of the emulator
> dropped into an otherwise-VAX tree, then run with something like
> "chroot $VAX_ROOT /vax-emulator /bin/sh".  It has extensive tracing
> support, which I used heavily when trying to figure out what I was
> doing wrong that provoked build crashes.
> 
> If anyone is interested,
> git://git.rodents-montreal.org/Mouse/vax-emul/userland should be
> cloneable.  If anyone wants it but doesn't have git set up, I can
> assist in working out some other way.  And, of course, I'm interested
> in hearing about experiences, positive or negative, with it, and am
> ready to help if you have issues fetching, building, or using it.
> 
> /~\ The ASCII                           Mouse
> \ / Ribbon Campaign                mouse%netbsd.org@localhost
>  X  Against HTML              mouse%rodents-montreal.org@localhost
> / \ Email!         7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
> 


-- 
Dave McGuire, AK4HZ
New Kensington, PA


Home | Main Index | Thread Index | Old Index