/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. 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.