Merge branch 'linus' into tracing/hw-breakpoints
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / Documentation / mn10300 / compartmentalisation.txt
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.