Subject: semi-off-topic: HP700/RX (i960), non-mmu
To: None <>
From: Anders <>
List: netbsd-ports
Date: 12/02/2002 01:02:19

I've just gotten an HP700/RX (X Terminal), which works just fine for
what is was designed for. But for every new machine in my apparment I
obviously ask "is it possible to run some form of free unix on it?"
The sad answer in this case seems to be "no", since according to info
I've found on the net indicates that this machine has an i960 cpu
without an MMU.  And I know from reading through the archives that
this makes for example a netbsd port somewhat undoable.

Therefore, the second question is "can I at least run my own code on
it"?  I'm trying to make an impostor Hello World program to use instead
of the default X Server program image that the machine downloads during
boot.  I've gotten past the part where the bootloader checks if the
binary is indeed an "HP700/RX X server", machine type checks and
checksum, and then the screen turns black and control is [probably]
handed over to my program. I'd really like to know how to go on from
this point, so if anyone has experience with these beasts then please
mail me. (I'm not on the mailing list.)

(I have also gotten a VXT2000 machine, which is also an X Terminal. But
this once seems to have an MMU... if someone has experience with writing
"impostor" code for these, then please mail me too.)

Sorry if this is a bit off-topic.

Okay, then, just to be semi-on-topic, wouldn't it be possible to make
netbsd run on a non-mmu system anyway? Processes that start need to be
relocated in memory before they start, since virtual == physical at all
times.  Of course, "evil" or buggy programs will still be able to cause
all kinds of problems by overwriting memory that should have been
protected, but that's unavoidable. Each process will also have to get
actual physical memory allocated on each mmap, so a low-memory system
will not be able to have more than a few small processes running. Memory
fragmentation problems might become very severe, though.

Just a thought.