[BACK]Return to compartmentalisation.txt CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs / Documentation / mn10300

File: [Development] / linux-2.6-xfs / Documentation / mn10300 / compartmentalisation.txt (download)

Revision 1.1, Tue Feb 26 16:44:40 2008 UTC (9 years, 8 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD

Merge up to 2.6.25-rc3
Merge of 2.6.x-xfs-melb:linux:30555a by kenmcd.

		   =========================================
		   PART-SPECIFIC SOURCE COMPARTMENTALISATION
		   =========================================

The sources for various parts are compartmentalised at two different levels:

 (1) Processor level

     The "processor level" is a CPU core plus the other on-silicon
     peripherals.

     Processor-specific header files are divided among directories in a similar
     way to the CPU level:

	(*) include/asm-mn10300/proc-mn103e010/

	    Support for the AM33v2 CPU core.

     The appropriate processor is selected by a CONFIG_MN10300_PROC_YYYY option
     from the "Processor support" choice menu in the arch/mn10300/Kconfig file.


 (2) Unit level

     The "unit level" is a processor plus all the external peripherals
     controlled by that processor.

     Unit-specific header files are divided among directories in a similar way
     to the CPU level; not only that, but specific sources may also be
     segregated into separate directories under the arch directory:

	(*) include/asm-mn10300/unit-asb2303/
	(*) arch/mn10300/unit-asb2303/

	    Support for the ASB2303 board with an ASB2308 daughter board.

	(*) include/asm-mn10300/unit-asb2305/
	(*) arch/mn10300/unit-asb2305/

	    Support for the ASB2305 board.

     The appropriate processor is selected by a CONFIG_MN10300_UNIT_ZZZZ option
     from the "Unit type" choice menu in the arch/mn10300/Kconfig file.


============
COMPILE TIME
============

When the kernel is compiled, symbolic links will be made in the asm header file
directory for this arch:

	include/asm-mn10300/proc => include/asm-mn10300/proc-YYYY/
	include/asm-mn10300/unit => include/asm-mn10300/unit-ZZZZ/

So that the header files contained in those directories can be accessed without
lots of #ifdef-age.

The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the
compilation process; all other unit-specific directories will be ignored.