Subject: Re: Porting to IBM Risc 6000
To: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
From: Matt Thomas <matt@3am-software.com>
List: port-powerpc
Date: 08/11/2002 12:22:05
At 11:22 AM 8/11/2002, Jochen Kunz wrote:
>On 2002.08.09 16:34 David Edelsohn wrote:
>
> > PReP is not the same as CHRP.
>Yes, of course. My question was more like "Are they similar enough to
>support them with a single NetBSD port?" I don't know PReP and CHRP
>internas yet. I started to read the CHRP spec to get an overview...
With enough indirection/abstraction we could have one port. The
question is whether it's worth it.
> > PReP machines do not have the same
> > Open Firmware device tree, client services, and RTAS.
>[...]
> > RPA is the IBM-specific continuation of CHRP.
> > It supports Open Firmware (device tree, client services, RTAS),
> > but it may have different devices than specified in the CHRP
> > specification. It may use different interrupt controllers
> > (not OpenPIC), etc.
>So we would end with port-prep for the PReP only machines and port-chrp
>(port-rpa?) for CHRP and RPA machines? And perhaps an additional
>port-chrp64 for 64 bit CHRP/RPA machines? Analogus to port-sparc and
>port-sparc64? (I know I can ask a lot of stupid questions. ;-) )
My inclination is to have to move to a rs6k port and have
GENERIC and GENERIC64 for 32bit and 64bit PPC platforms.
The real question is do we want a single kernel which can work
on 32bit and 64bit platforms?
>And where to get the RPA spec? PReP and CHRP are at
>ftp://ftp.software.ibm.com/rs6000/technology/spec/
The most significant thing is to create a RTAS module with the
various functions we need. Now if we do it right, there could
be an RTAS work-alike implemented for PReP. But the most
significant difference is that one uses a PC'ish PNP database
and CHRP uses OFW.
For instance, the 43p model 260 device tree will look something
like:
ofbus* at root
cpu* at ofbus?
rtas* at ofbus?
pci* at ofbus?
pcn* at pci? dev ? function ?
ukphy* at pcn? phy ?
siop* at pci? dev ? function ?
scsibus* at siop?
sd* at scsibus?
ofisa* at pci? dev ? function ?
com* at ofisa?
lpt* at ofisa?
fdc* at ofisa?
Eventually in prep we should switch to a pnpbios bus as is used
in the i386 port.
--
Matt Thomas Internet: matt@3am-software.com
3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt/
Cupertino, CA Disclaimer: I avow all knowledge of this message