Subject: Re: NetBSD for BeBox?
To: Jake Hamby <jehamby@lightside.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-powerpc
Date: 10/04/1996 17:12:34
On Thu, 3 Oct 1996 23:05:18 -0700 (PDT) 
 Jake Hamby <jehamby@lightside.com> wrote:

 > Anyway, how many people are working on a PowerPC port of NetBSD?  What
 > platforms are planned to be supported?  If BeBox isn't planned, I would

Well, let me fill in some info, here...

NetBSD/powerpc was done by Wolfgang Solfrank.  It's in the tree, and
currently supports the Firepower systems (a PReP-ish 604 box).
The theory is that NetBSD/powerpc will run right now on any 604
with OpenFirmware.  The reason for this is that OpenFirmware is used
to do all i/o under NetBSD/powerpc at this time.

In my mind, the goal for NetBSD on PowerPC systems would be to have
as many different PowerPC systems as possible run under the "NetBSD/powerpc"
banner - Essentially, this means any PowerPC system that has OpenFirmware.

Even when real device drivers are added (i.e. directly access the devices
in PCI and ISA space), if you have OpenFirmware, you can tell which kind
of `mainbus' you have, and you can basically let autoconfiguration deal
with the differences between PReP and CHRP/PPCP.  A basic model for this
already exists in the SPARC and Alpha ports of NetBSD... (even though
the alpha has a very different way of telling the OS what hardware is
there, you can associate i/o bus with model name).

Some source tree structure change is going to happen as soon as I have
time to work out all the gory details (include file installation, mostly).
Essentially, "generic CPU" code will move out of sys/arch ... this will
make it easier for e.g. PowerPC and MIPS (and even SPARC) platforms that
have "strange needs" ...

Now, it's my understanding that the BeBox doens't have OpenFirmware (please
correct me if I'm wrong).  So, NetBSD/powerpc, with the structure I'd like
to see, won't run on them ... they'd require "NetBSD/be", or something.
Now, NetBSD/be could pull _quite a lot_ of code from the "generic PowerPC"
area of the source tree; essentially, trap handling, most of locore
(except initialization), pmap (except for pmap bootstrap, probably), etc.
This would save a lot of work doing a port to the BeBox.

 > Once we have NetBSD running on a single CPU of the BeBox (and of course
 > any other PPC systems you plan to support), then it would be really cool
 > if we could get some primitive SMP support going.  FreeBSD has some
 > patches for SMP Pentium systems, which may be a good starting point.

SMP is a goal for NetBSD in general... We'd like it for PCs, SPARCs,
Alphas, PowerPCs, etc.  The FreeBSD SMP code, the last I looked at it,
needed significant work to be "generic".

 > Anyway, sorry to ask so many questions right away, but I wanted to get the
 > list going, and get an idea of who is involved.  I'm sorry to say that I'm
 > not a very expert kernel hacker, and have even less free time to devote to
 > this project (between schoolwork, JPL projects, BeOS programming and
 > writing a BeBox book!), but I'd be happy to at least test alpha versions
 > of the code and provide BeBox-related PPC input.  And I have a FreeBSD
 > system next to the BeBox, and a NetBSD SPARC at work, suitable for
 > cross-development purposes.
 > 
 > Good luck on this port, everyone!  BTW, I will repost this message in
 > about a week in case nobody sees it (I assume not many people have found
 > out about this list yet to subscribe)...

Well, NetBSD/powerpc does run multi-user, and it is in the post-1.2
current sources, so it should be available for supping Real Soon Now.

Ciao.

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939