Subject: RFC: arch/arm/{machine-type}

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Sat, 22 Apr 2000 14:19:21 +0100 (BST)

Hi,

I'd like to get the opinions of the various architecture maintainers to
splitting architecture specifics into subdirectories under arch/arm.

The reasons why I'm suggesting this is:

1. We appear to be collecting a lot of architecture-specific files in
   arch/arm/kernel and arch/arm/mm
2. Several files are becoming quite dirty with #ifdefs

We would therefore have directories such as:

	arch/arm/ebsa110
	arch/arm/footbridge	- for EBSA285, NetWinder, CATS
	arch/arm/acorn		- for Archimedes, A5000, RiscPC
	arch/arm/cl7500
	arch/arm/nexuspci
	arch/arm/sa1100
	arch/arm/shark

For example, arch/arm/footbridge would contain:

	Makefile
	arch.c		(from arch/arm/kernel/arch.c)
	dma.c		(from arch/arm/kernel/dma-footbridge.c)
	hw.c		(from arch/arm/kernel/hw-footbridge.c)
	leds.c		(from arch/arm/kernel/leds-footbridge.c)
	mm.c		(from arch/arm/mm/mm-footbridge.c)

Any other ideas?
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |            http://www.arm.linux.org.uk/            /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

unsubscribe: body of `unsubscribe linux-arm-kernel' to [email-masked]

---

From: Pat Beirne <[email-masked]>
Date: Sat, 22 Apr 2000 10:18:57 -0400

> splitting architecture specifics into subdirectories under arch/arm.

Russell,

It makes sense to me. When would this happen? 2.5.x? or 2.3.x?

Pat

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Sat, 22 Apr 2000 17:30:27 +0100 (BST)

> It makes sense to me. When would this happen? 2.5.x? or 2.3.x?

I'm planning it imminently - most of it isn't functional - it's just a
matter of re-arranging the files which would be acceptable for 2.3.xx.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |            http://www.arm.linux.org.uk/            /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

---

From: "Scott Bambrough" <[email-masked]>
Date: Sat, 22 Apr 2000 17:05:25 -0400

This seems like and excellent idea to me.  Personally, I would hold off
until 2.5 kernel streams though.

Scott

---

From: Nicolas Pitre <[email-masked]>
Date: Sun, 23 Apr 2000 16:11:15 -0400 (EDT)

> splitting architecture specifics into subdirectories under arch/arm.

Good idea.

Nicolas

---

From: S A McConnell <[email-masked]>
Date: Mon, 24 Apr 2000 08:49:02 -0500

> splitting architecture specifics into subdirectories under arch/arm.

This would be a big help. As a newbie I have had some trouble trying to sort out which
files belong to which architecture.

I see the following levels:
    1) Kernel code
    2) Arm specific kernel code
    3) Architecture specific code
    4) Device drivers

How will architecture specific device driver code be organized?

Since each device driver is supposed to have a major and minor number. Should those
numbers be part of the naming scheme for those files?

I am working on a port to Link-Up Systems L7200 board.  (An ARM720T)

Some other thoughts:

Has anyone constructed a table  that defines the various ARM architectures that are being
worked on? I started one see the attached file. However, I suspect it has several errors
and is incomplete. Would a more complete table be of value? Should it be in the documents
directory? Should each architecture have a list of supported devices.

Scott McConnell
ID	Name			CPU			Info
--	-------------------	-------------		----------------

00	EBSA110			SA110
01	Acorn-RiscPC		ARM6, ARM7
                                SA110
02	unknown						(ebsit?)
03	FTV-PCI			SA110			(nexuspci)
04	EBSA285			SA285
05	Rebel- Netwinder	StrongARM ????		(Corel?)
                                CONFIG_CPU_ARMV4=Y
06	Chalice-CATS		
07	unknown-tbox		SA110
08	co-EBSA285		SA110			SA110/21285 as
							co-processor
09	CL-PS7110		ARM710a core
0A	Acorn-Archimedes	ARM6 / ARM610
0B	Acorn-A5000		ARM7			a5k
0C	Etoile			ARM710
0D	LaCie_NAS		StrongARM
OE	CL-PS7500		ARM710a core
0F	Digital Shark		StrongARM		DNARD
10	SA1100-based		StrongARM		brutus, empeg, lart, tifon, victor
11	?
12	?
13	L7200			ARM720T			Link-Up L7200 ARM720TDMI

---------------
CONFIG_CPU_26		(26-bit machines)
CONFIG_CPU_32		(32-bit machines)
CONFIG_CPU_32v3		(armv3
CONFIG_CPU_32v4		(armv4 StrongARM)
CONFIG_CPU_ARM2
CONFIG_CPU_ARM3		(Are these all 26-bit machines?)
CONFIG_CPU_ARM6
CONFIG_CPU_ARM7
CONFIG_CPU_ARMV3
CONFIG_CPU_ARMV4
CONFIG_CPU_SA110
CONFIG_CPU_SA1100

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Mon, 24 Apr 2000 18:32:49 +0100 (BST)

> directory? Should each architecture have a list of supported devices.

I have, of course, got the master list, which the registry system dishes the
next number out from.  Maybe I ought to generate a web page of the information
in that database...
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |            http://www.arm.linux.org.uk/            /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |