Commit | Line | Data |
---|---|---|
b920de1b DH |
1 | ========================================= |
2 | PART-SPECIFIC SOURCE COMPARTMENTALISATION | |
3 | ========================================= | |
4 | ||
5 | The sources for various parts are compartmentalised at two different levels: | |
6 | ||
7 | (1) Processor level | |
8 | ||
9 | The "processor level" is a CPU core plus the other on-silicon | |
10 | peripherals. | |
11 | ||
12 | Processor-specific header files are divided among directories in a similar | |
13 | way to the CPU level: | |
14 | ||
15 | (*) include/asm-mn10300/proc-mn103e010/ | |
16 | ||
17 | Support for the AM33v2 CPU core. | |
18 | ||
19 | The appropriate processor is selected by a CONFIG_MN10300_PROC_YYYY option | |
20 | from the "Processor support" choice menu in the arch/mn10300/Kconfig file. | |
21 | ||
22 | ||
23 | (2) Unit level | |
24 | ||
25 | The "unit level" is a processor plus all the external peripherals | |
26 | controlled by that processor. | |
27 | ||
28 | Unit-specific header files are divided among directories in a similar way | |
29 | to the CPU level; not only that, but specific sources may also be | |
30 | segregated into separate directories under the arch directory: | |
31 | ||
32 | (*) include/asm-mn10300/unit-asb2303/ | |
33 | (*) arch/mn10300/unit-asb2303/ | |
34 | ||
35 | Support for the ASB2303 board with an ASB2308 daughter board. | |
36 | ||
37 | (*) include/asm-mn10300/unit-asb2305/ | |
38 | (*) arch/mn10300/unit-asb2305/ | |
39 | ||
40 | Support for the ASB2305 board. | |
41 | ||
42 | The appropriate processor is selected by a CONFIG_MN10300_UNIT_ZZZZ option | |
43 | from the "Unit type" choice menu in the arch/mn10300/Kconfig file. | |
44 | ||
45 | ||
46 | ============ | |
47 | COMPILE TIME | |
48 | ============ | |
49 | ||
50 | When the kernel is compiled, symbolic links will be made in the asm header file | |
51 | directory for this arch: | |
52 | ||
53 | include/asm-mn10300/proc => include/asm-mn10300/proc-YYYY/ | |
54 | include/asm-mn10300/unit => include/asm-mn10300/unit-ZZZZ/ | |
55 | ||
56 | So that the header files contained in those directories can be accessed without | |
57 | lots of #ifdef-age. | |
58 | ||
59 | The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the | |
60 | compilation process; all other unit-specific directories will be ignored. |