[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: New Vax - future directions :-)
>>> I don't suppose you'd happen to know where I might be able to get
>>> hold of that 2.11 binary?
>> It's in the standard 2.11BSD distribution.
Okay, I'll have a look-see and see if I can find that.
> Actually, getting this running under NetBSD/vax would be a rather
> interesting, but complicated exercise no matter what.
> If we ignore the whole problem that the PDP-11 compatibility mode
> does not include split I/D space to start with, [...]
That's fixable, since I'll be running on an emulated VAX to begin with.
> [...] this is, as I said, a sortof hacked up environment that runs an
> RT-11 binary.
> So, first of all, you'd need to get the system calls for the 2.11BSD
> system handled, in VAX mode. Since any system call will trap out to
> VAX mode. That means also handling the different a.out image types
> (or at least the one used by Zork).
> Then the 2.11BSD Zork binary is [...]
> So you need to also add [...]
> I don't think it's impossible (except that I/D space at the moment),
> but this is definitely far from trivial.
But, really, no worse than what I did for the SPARC emulation (which
emulates a SPARC userland, entirely in software), crossed with a tiny
bit of VAX kernel hackery to handle traps from PDP-11 mode.
In fact, I think the first version would run as a normal NetBSD/vax
executable, except that it's linked such that the first 128K of the
address space is empty. The PDP-11 then runs there. Most exceptions
just bounce off the kernel back into userland as fast as feasible,
letting the VAX userland process do whatever it needs to to emulate
things like syscalls. As I read the PDP-11 compatibility mode chapter
of the VARM, VAX user mode should be able to REI directly into PDP-11
mode without needing privilege, so userland can switch back to PDP-11
A little kernel help would be needed, but not much; between
mmap's MAP_FIXED and siglongjmp out of signal handlers, I think the
only new kernel code needed is recognizing the PDP-11 mode bit in the
PSL in trap handlers and punting things back to (VAX) userland.
/~\ The ASCII Mouse
\ / Ribbon Campaign
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
Main Index |
Thread Index |