Subject: Re: NetBSD/hpcarm snap code
To: Jason R Thorpe <>
From: Chris Gilbert <>
List: tech-kern
Date: 02/16/2001 21:29:08
On Friday 16 February 2001  9:10 pm, Jason R Thorpe wrote:
> We support several ARM CPUs and ARM CPU core logic.  That stuff should
> go into sys/arch/arm/.  Stuff that is CPU model specific should go
> into a subdirectory of that directory.  E.g.:

presumably if we ever have sys/cpu/arm we shift the processor goo into there?

> 	arch/arm/arm	<- contains stuff that works on all ARM CPUs
> 	arch/arm/arm2	<- contains e.g. the ARM2 pmap module
> 	arch/arm/arm6	<- contains e.g. the ARM6 pmap module,
> 			   cache routines, TLB routines, etc.
> 	arch/arm/arm7	<- contains all the ARM7-specific goo.
> 	arch/arm/arm8	<- contains all the ARM8-specific goo.
> 	arch/arm/sa110	<- contains e.g. the SA110 cache routines,
> 			   TLB routines, etc.
> 	arch/arm/sa11x0	<- contains all the SA11x0-specific goo,
> 			   including drivers for the on-chip
> 			   devices.
> 	arch/arm/ebsa285 <- Support for the '285 core logic, etc.
> 			    Note that "EBSA285" is really just an
> 			    ARM-specific board architecture, but
> 			    doesn't define e.g. firmware.
> 	arch/arm/ofw	<- Support for the ARM bindings for
> 			   OpenFirmware (i.e. the calling
> 			   convention that is defined by the
> 			   IEEE OpenFirmare ARM supplement, etc.).
> 	arch/acorn26	<- port to the A310/A410/A5000 (did I get
> 			   those right?)  Totally different memory
> 			   management architecture than the later
> 			   Acorn machines, tend to have small memory,
> 			   don't want to bog it down with the other
> 			   stuff in a GENERIC that supported the 32-bit
> 			   machines.

They use ioc and memc (not a unified iomd)  so that makes sense. 

> 	arch/acorn32	<- port to the RiscPC and A7000 (looks like
> 			   the RiscPC and A7000 could boot the same
> 			   kernel?  Is that true?  If so, why are
> 			   there separate kernels for them in the
> 			   current arm32 port?)

Shouldn't this more be the hardware that's based on the arm/iomd/vidc combo, 
which future machines will be based on.  As for the merge, lack of time I 
believe (unless the IOMD and the built-in IOMD on the ARM7500 is in a 
different physical address)

> 	arch/cats	<- port to the CATS and any other EBSA285
> 			   that uses the Cyclone firmware.
> 	arch/dnard	<- port to the DNARD platform, including the
> 			   DNARD-specific devices.

> 	dev/acorn/iomd	<- Driver for the IOMD and IOMD attachments of
> 			   other devices.
> 	dev/acorn/vidc	<- Driver for the VIDC and the WSCONS glue for it.

hmm, I'm not sure these are specific to the acorn32's.  Certianly I'd expect 
/dev/acorn/podulebus as it's common to both the acorn26 and acorn32.

> ....etc.  The way we currently treat all these VERY DIFFERENT platforms
> as the same is really wrong-headed.

Yep.  Makes sense, especially with new things popping up (didn't know we had 
a hpcarm port until this morning! :)