About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / mn10300 / compartmentalisation.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

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.
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog