[TUHS] Unix use of VAX protection modes
segaloco via TUHS
tuhs at tuhs.org
Wed Jan 21 12:19:18 AEST 2026
On Tuesday, January 20th, 2026 at 18:08, Erik E. Fair via TUHS <tuhs at tuhs.org> wrote:
> With regard to systems which didn't have address 0 in their user process address space (and thus dereferencing address 0 resulted in SIGSEGV), the first Unix (7th Edition) on a mc68000 was that way: the Dual Systems 83/80 S-100 (IEEE-696) bus system in November 1981.
>
>
> Erik
Wouldn't all 68k execution at least until VM kicks in avoid the bottom of memory as that is where the exception vectors live? With no standard MMU, I'd assume each 68k implementation had some freedom in setting their VM characteristics relative to whatever MMU folks went with. Vector 0 (long) holds the initial stack pointer and vector 1 holds the initial PC. On non-UNIX 68k systems I've dealt with, this area is fed by ROM. and thus read-only. At most, 0 accesses would give you the high byte of the initial SP, likely either a 0 or 255 due to sign extension of the 24-bit vector.
Presumably VM layouts put this somewhere else, if mapped at all, and reassigned 0 to start at some hunk of RAM when VM was turned on in common 68k kernels?
This does raise the question in my mind of which MMU the ATTIS/USL 68k port expected, how they made that choice, and what implications that had for 68k boxen that wanted to license System V but had a MMU that wasn't supported (if you'd even get that far down the R&D pipeline without verifying your MMU is supported)?
- Matt G.
More information about the TUHS
mailing list