compartmentalisation.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. =========================================
  2. PART-SPECIFIC SOURCE COMPARTMENTALISATION
  3. =========================================
  4. The sources for various parts are compartmentalised at two different levels:
  5. (1) Processor level
  6. The "processor level" is a CPU core plus the other on-silicon
  7. peripherals.
  8. Processor-specific header files are divided among directories in a similar
  9. way to the CPU level:
  10. (*) include/asm-mn10300/proc-mn103e010/
  11. Support for the AM33v2 CPU core.
  12. The appropriate processor is selected by a CONFIG_MN10300_PROC_YYYY option
  13. from the "Processor support" choice menu in the arch/mn10300/Kconfig file.
  14. (2) Unit level
  15. The "unit level" is a processor plus all the external peripherals
  16. controlled by that processor.
  17. Unit-specific header files are divided among directories in a similar way
  18. to the CPU level; not only that, but specific sources may also be
  19. segregated into separate directories under the arch directory:
  20. (*) include/asm-mn10300/unit-asb2303/
  21. (*) arch/mn10300/unit-asb2303/
  22. Support for the ASB2303 board with an ASB2308 daughter board.
  23. (*) include/asm-mn10300/unit-asb2305/
  24. (*) arch/mn10300/unit-asb2305/
  25. Support for the ASB2305 board.
  26. The appropriate processor is selected by a CONFIG_MN10300_UNIT_ZZZZ option
  27. from the "Unit type" choice menu in the arch/mn10300/Kconfig file.
  28. ============
  29. COMPILE TIME
  30. ============
  31. When the kernel is compiled, symbolic links will be made in the asm header file
  32. directory for this arch:
  33. include/asm-mn10300/proc => include/asm-mn10300/proc-YYYY/
  34. include/asm-mn10300/unit => include/asm-mn10300/unit-ZZZZ/
  35. So that the header files contained in those directories can be accessed without
  36. lots of #ifdef-age.
  37. The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the
  38. compilation process; all other unit-specific directories will be ignored.