Blame view

Documentation/mn10300/compartmentalisation.txt 1.9 KB
b920de1b7   David Howells   mn10300: add the ...
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.