PageRenderTime 15ms CodeModel.GetById 13ms app.highlight 0ms RepoModel.GetById 1ms app.codeStats 0ms

/Documentation/mn10300/compartmentalisation.txt

https://gitlab.com/vibisreenivasan/UML
Plain Text | 60 lines | 38 code | 22 blank | 0 comment | 0 complexity | ec1ad0b2f2267b30b6fd38858dd9976a MD5 | raw file
 1		   =========================================
 2		   PART-SPECIFIC SOURCE COMPARTMENTALISATION
 3		   =========================================
 4
 5The 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============
47COMPILE TIME
48============
49
50When the kernel is compiled, symbolic links will be made in the asm header file
51directory 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
56So that the header files contained in those directories can be accessed without
57lots of #ifdef-age.
58
59The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the
60compilation process; all other unit-specific directories will be ignored.