Subject: Re: Is the kernel designed to return?
To: gabriel rosenkoetter <>
From: David A. Gatwood <>
List: port-macppc
Date: 01/14/2002 14:04:50
On Mon, 14 Jan 2002, gabriel rosenkoetter wrote:

> Now, I actually agree with what you're saying, Bill (I said it
> myself, really), but just to play Devil's advocate we don't seem
> to have people complaining about NetBSD's not supporting sun3, sparc,
> and sparc64 machines with the same port.
> Different processors are more user-evident than different buses? You
> sure? :^>

Well, the difference between mac68k and macppc is kind of obvious, but the
differences between a nubus ppc and a PCI ppc are pretty small by
comparison.  Other than a little bit of tweaking at the kernel entry
point, the only huge issue is the lack of OF.

> I don't think anybody would argue that the easiest way to get
> support for nubus macs into the tree is in a separate port. Whether
> or not that eventually merges with macppc is something that can be
> dealt with later.

That's an awful lot of work for two systems as similar as the nubus and
pci PowerMacs....

> > Also, if we want to use the Apple booters (which would be nice), we have
> > to be able to quiesce (sp?) OF (or run with it quiesced). To be able to
> > run w/o OF callbacks is most of the same problem as running on NuBus
> > boxes. So if we solve it for one, we solve it for the other. :-)
> Erm. Sort of. Except that OF macs know nothing of nubus. ;^>

You don't need nubus support initially.  In fact, I would -strongly-
recommend -not- attempting to support nubus itself until you already have
everything else working.  You can easily have a bootable PDM-class system
with all motherboard hardware supported including the PDS-attached video
cards without ever touching nubus support.

BTW, I'd also like to suggest that folks refer to the nubus family of
PowerMacs as PDM class.  That's the code-name for the 6100, and it's also
commonly used to refer to the entire family.  That will avoid confusion
over whether you're talking about nubus family support or nubus bus
support, since they aren't necessarily all that related.  :-)

Issues expected for PDM support:

1.  start.s tweaks to store passed-in OF tree somewhere safe,
    or mark the height of the tree as zero if no tree was passed
    in (e.g. a raw OF boot).
2.  non-OF boot console support.
3.  ability to run with OF quiesced, taking device info from the
    passed-in tree.
4.  fake tree for PDM -or- hard-coded addresses and interrupt numbers
    in each driver
5.  AMIC DMA support (trivial if you borrow the MkLinux code) and
    integration for
    a.  serial
    b.  SCSI (53C94/53FC94)
    c.  floppy (SWIM III)
6.  subtle differences on AWACS (sound)
7.  601 support
8.  nubus support

#1 is trivial.  #7-8 can be ignored as long as you have a Newer
accelerator card and are using Apple-supplied video (i.e. not a nubus
card).  #6 is irrelevant until the system boots.  #5 is mostly a
performance issue, leaving basically 99% of the problem being the
dependence on non-quiesced OF.  :-)

> > I do realize we also have to support the 601,
> Speaking of that, I now have (thanks to Donald Lee, whom I owe $22
> for shipping... I'll mail it tomorrow now that I've been reminded,
> Donald) a 7200 motherboard to stuff in one of my spare 7x00 cases.


> I'd like to at least try at 601 support. Anyone already there? Any
> book recomendations?

The old 601 processor reference from Motorola, 'cept that it's out of
print.  You can probably find a copy used somewhere or borrow one from
someone.  If I had a copy, I'd loan it to you.

> > Actually they dropped the OF 1.0.5 PCI machines too. They only support
> > machines Apple shipped with a G3 or G4.
> I've always wondered whether that had more to do with the processor
> or with OF...

My guess is... both?  ;-)


                    Check out my weekly web comic: