Subject: ARM port organisation (was: Re: NetBSD/hpcarm snap code)
To: Jason R Thorpe <>
From: Ben Harris <>
List: tech-kern
Date: 02/17/2001 13:28:30
On Fri, 16 Feb 2001, Jason R Thorpe wrote:

Having said that I think your proposed directory layout is sane in
general, here are the few things I'm not sure about:

> 	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.

I'm not sure that the differences among ARM6, ARM7, ARM8, ARM9, ARM10, SA1
and Xscale really warrant a separate directory for each one.  ARMs seem to
have fairly orthogonal sets of features, and arbitrarily filing code under
the name of the first CPU to contain the relevant feature seems wrong to

> 	arch/acorn26
> 	arch/acorn32

Those names are a bit ugly.  I'd prefer "archimedes" and "riscpc", which
are more obvious and easier to say, but maybe less inclusive.

> 	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.

Why are these (which are on-chip on the ARM7500) under dev/acorn while the
on-chip I/O on the SA1100 is supported under arch/arm?

Ben Harris                                                   <>
Portmaster, NetBSD/arm26               <URL:>