Subject: Re: NetBSD without MMU ?
To: tech-embed@netbsd.org, , <tech-ports@netbsd.org>
From: Todd Vierling <tv@wasabisystems.com>
List: netbsd-ports
Date: 04/12/2002 08:57:35
On Thu, 11 Apr 2002, Greg A. Woods wrote:

: > Currently, there isn't a version of NetBSD that runs MMUless. Running
: > without an MMU would require some pretty extensive changes (like
: > ripping out the UBC system
:
: It's probably easier, relatively speaking, to start fresh with a new
: kernel design (or with an existing kernel that doesn't need an MMU, such
: as MINIX), reusing only some of the most generic stuff in NetBSD, such
: as maybe some filesystem code.

Then it's not NetBSD, is it?  :)

(The no-MMU requests that have come in are specifically wanting the bulk of
NetBSD's kernel codebase for various reasons.)

: > replacing fork()+exec() with spawn(),
: > eliminating use of mmap, etc.)
:
: You don't _need_ an MMU to implement fork()....  (eg. as in MINIX)

However, you do have to do some really major evil and hack the compiler to
make all code PIC-and-then-some (ensuring base register relative addressing
for all data accesses).

Most programs don't need fork(2) per se.  vfork(2) and its inverted
companion daemon(3) (which can be implemented in a way other than using
fork()+_exit()) are enough for nearly all programs.

-- 
-- Todd Vierling <tv@wasabisystems.com>  *  Wasabi & NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/