ronnie
2022-10-23 e3a1b9bdd0692904702c0e734ea5dfde3b0ac8fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
          =========================================
          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.