Subject: Re: NetBSD without MMU?
To: John F. Woods <jfw@jfwhome.funhouse.com>
From: Stefan Grefen <grefen@hprc.tandem.com>
List: tech-kern
Date: 10/29/1998 09:50:43
In message <199810282356.SAA11530@jfwhome.funhouse.com>  "John F. Woods" wrote:
> > > Is it possible to port NetBSD to a system without an MMU?
> 
> > There isn't any existing support for MMU-less systems, and adding that
> > support would be a significant amount of work, but yes, it's certainly
> > possible to do it.
> 
> For sufficiently small values of "possible".  There are some features that
> really depend on virtual memory (the mbuf allocator, for example) which
> become quite tedious to re-implement without VM.  (Granted, my experience
> with that predates NetBSD by a lot (i.e. porting the 4.2BSD networking
> code to an operating system roughly equivalent to V7), but I doubt that
> things have come to rely any less on the wonders of VM since then...)

It think it depends which functionality he wants to port.
The process stuff will be the worst (at least on non-segmented CPU's),
and fork() will be a royal pain (at expensive like hell). 
On the other most kernel stuff would be easy to port and adding 
(linking) a few programs in it shouldn't be to bad.
(The Mbufs are no problem, I ported the first public BSD network code to
 the old Atari-ST and MBUFS were easy to port, reinventing select, 
 fork and signal without the sources was much more challenging, as
 was NFS).
Security between user and supervisor mode gets reduced to what the CPU
has.

As I guess from the email address it is needed for embedded (diskless) systems 
were linking in (somewhat) trusted programs is ok (or relocating them before 
they start), and general Purpose Multiuser is not the goal, it is very
possible to do.

Stefan

--
Stefan Grefen                                Tandem Computers Europe Inc.
grefen@hprc.tandem.com                       High Performance Research Center
 --- Hacking's just another word for nothing left to kludge. ---