mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
61 lines
1.9 KiB
Text
61 lines
1.9 KiB
Text
|
=========================================
|
||
|
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.
|