Kconfig 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see Documentation/kbuild/kconfig-language.txt.
  4. #
  5. mainmenu "Linux/M32R Kernel Configuration"
  6. config M32R
  7. bool
  8. default y
  9. config SBUS
  10. bool
  11. config GENERIC_ISA_DMA
  12. bool
  13. default y
  14. config ZONE_DMA
  15. bool
  16. default y
  17. config GENERIC_HARDIRQS
  18. bool
  19. default y
  20. config GENERIC_IRQ_PROBE
  21. bool
  22. default y
  23. source "init/Kconfig"
  24. menu "Processor type and features"
  25. choice
  26. prompt "Platform Type"
  27. default PLAT_MAPPI
  28. config PLAT_MAPPI
  29. bool "Mappi-I"
  30. help
  31. The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
  32. You can operate a Linux system on this board by using an M32R
  33. softmacro core, which is a fully-synthesizable functional model
  34. described in Verilog-HDL.
  35. The Mappi-I board was the first platform, which had been used
  36. to port and develop a Linux system for the M32R processor.
  37. Currently, the Mappi-II, an heir to the Mappi-I, is available.
  38. config PLAT_USRV
  39. bool "uServer"
  40. config PLAT_M32700UT
  41. bool "M32700UT"
  42. help
  43. The M3T-M32700UT is an evaluation board based on uT-Engine
  44. specification. This board has an M32700 (Chaos) evaluation chip.
  45. You can say Y for SMP, because the M32700 is a single chip
  46. multiprocessor.
  47. config PLAT_OPSPUT
  48. bool "OPSPUT"
  49. help
  50. The OPSPUT is an evaluation board based on uT-Engine
  51. specification. This board has a OPSP-REP chip.
  52. config PLAT_OAKS32R
  53. bool "OAKS32R"
  54. help
  55. The OAKS32R is a tiny, inexpensive evaluation board.
  56. Please note that if you say Y here and choose chip "M32102",
  57. say N for MMU and select a no-MMU version kernel, otherwise
  58. a kernel with MMU support will not work, because the M32102
  59. is a microcontroller for embedded systems and it has no MMU.
  60. config PLAT_MAPPI2
  61. bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
  62. config PLAT_MAPPI3
  63. bool "Mappi-III(M3A-2170)"
  64. config PLAT_M32104UT
  65. bool "M32104UT"
  66. help
  67. The M3T-M32104UT is an reference board based on uT-Engine
  68. specification. This board has a M32104 chip.
  69. endchoice
  70. choice
  71. prompt "Processor family"
  72. default CHIP_M32700
  73. config CHIP_M32700
  74. bool "M32700 (Chaos)"
  75. config CHIP_M32102
  76. bool "M32102"
  77. config CHIP_M32104
  78. bool "M32104"
  79. depends on PLAT_M32104UT
  80. config CHIP_VDEC2
  81. bool "VDEC2"
  82. config CHIP_OPSP
  83. bool "OPSP"
  84. endchoice
  85. config MMU
  86. bool "Support for memory management hardware"
  87. depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
  88. default y
  89. config TLB_ENTRIES
  90. int "TLB Entries"
  91. depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
  92. default 32 if CHIP_M32700 || CHIP_OPSP
  93. default 16 if CHIP_VDEC2
  94. config ISA_M32R
  95. bool
  96. depends on CHIP_M32102 || CHIP_M32104
  97. default y
  98. config ISA_M32R2
  99. bool
  100. depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
  101. default y
  102. config ISA_DSP_LEVEL2
  103. bool
  104. depends on CHIP_M32700 || CHIP_OPSP
  105. default y
  106. config ISA_DUAL_ISSUE
  107. bool
  108. depends on CHIP_M32700 || CHIP_OPSP
  109. default y
  110. config BUS_CLOCK
  111. int "Bus Clock [Hz] (integer)"
  112. default "70000000" if PLAT_MAPPI
  113. default "25000000" if PLAT_USRV
  114. default "50000000" if PLAT_MAPPI3
  115. default "50000000" if PLAT_M32700UT
  116. default "50000000" if PLAT_OPSPUT
  117. default "54000000" if PLAT_M32104UT
  118. default "33333333" if PLAT_OAKS32R
  119. default "20000000" if PLAT_MAPPI2
  120. config TIMER_DIVIDE
  121. int "Timer divider (integer)"
  122. default "128"
  123. config CPU_LITTLE_ENDIAN
  124. bool "Generate little endian code"
  125. default n
  126. config MEMORY_START
  127. hex "Physical memory start address (hex)"
  128. default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
  129. default "08000000" if PLAT_USRV
  130. default "08000000" if PLAT_M32700UT
  131. default "08000000" if PLAT_OPSPUT
  132. default "04000000" if PLAT_M32104UT
  133. default "01000000" if PLAT_OAKS32R
  134. config MEMORY_SIZE
  135. hex "Physical memory size (hex)"
  136. default "08000000" if PLAT_MAPPI3
  137. default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
  138. default "02000000" if PLAT_USRV
  139. default "01000000" if PLAT_M32700UT
  140. default "01000000" if PLAT_OPSPUT
  141. default "01000000" if PLAT_M32104UT
  142. default "00800000" if PLAT_OAKS32R
  143. config NOHIGHMEM
  144. bool
  145. default y
  146. config ARCH_DISCONTIGMEM_ENABLE
  147. bool "Internal RAM Support"
  148. depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
  149. default y
  150. source "mm/Kconfig"
  151. config IRAM_START
  152. hex "Internal memory start address (hex)"
  153. default "00f00000" if !CHIP_M32104
  154. default "00700000" if CHIP_M32104
  155. depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
  156. config IRAM_SIZE
  157. hex "Internal memory size (hex)"
  158. depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
  159. default "00080000" if CHIP_M32700
  160. default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
  161. default "00008000" if CHIP_VDEC2
  162. #
  163. # Define implied options from the CPU selection here
  164. #
  165. config RWSEM_GENERIC_SPINLOCK
  166. bool
  167. depends on M32R
  168. default y
  169. config RWSEM_XCHGADD_ALGORITHM
  170. bool
  171. default n
  172. config ARCH_HAS_ILOG2_U32
  173. bool
  174. default n
  175. config ARCH_HAS_ILOG2_U64
  176. bool
  177. default n
  178. config GENERIC_FIND_NEXT_BIT
  179. bool
  180. default y
  181. config GENERIC_HWEIGHT
  182. bool
  183. default y
  184. config GENERIC_CALIBRATE_DELAY
  185. bool
  186. default y
  187. config PREEMPT
  188. bool "Preemptible Kernel"
  189. help
  190. This option reduces the latency of the kernel when reacting to
  191. real-time or interactive events by allowing a low priority process to
  192. be preempted even if it is in kernel mode executing a system call.
  193. This allows applications to run more reliably even when the system is
  194. under load.
  195. Say Y here if you are building a kernel for a desktop, embedded
  196. or real-time system. Say N if you are unsure.
  197. config SMP
  198. bool "Symmetric multi-processing support"
  199. ---help---
  200. This enables support for systems with more than one CPU. If you have
  201. a system with only one CPU, like most personal computers, say N. If
  202. you have a system with more than one CPU, say Y.
  203. If you say N here, the kernel will run on single and multiprocessor
  204. machines, but will use only one CPU of a multiprocessor machine. If
  205. you say Y here, the kernel will run on many, but not all,
  206. singleprocessor machines. On a singleprocessor machine, the kernel
  207. will run faster if you say N here.
  208. People using multiprocessor machines who say Y here should also say
  209. Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
  210. Management" code will be disabled if you say Y here.
  211. See also the <file:Documentation/smp.txt>,
  212. and the SMP-HOWTO available at
  213. <http://www.linuxdoc.org/docs.html#howto>.
  214. If you don't know what to do here, say N.
  215. config CHIP_M32700_TS1
  216. bool "Workaround code for the M32700 TS1 chip's bug"
  217. depends on (CHIP_M32700 && SMP)
  218. default n
  219. config NR_CPUS
  220. int "Maximum number of CPUs (2-32)"
  221. range 2 32
  222. depends on SMP
  223. default "2"
  224. help
  225. This allows you to specify the maximum number of CPUs which this
  226. kernel will support. The maximum supported value is 32 and the
  227. minimum value which makes sense is 2.
  228. This is purely to save memory - each supported CPU adds
  229. approximately eight kilobytes to the kernel image.
  230. # Common NUMA Features
  231. config NUMA
  232. bool "Numa Memory Allocation Support"
  233. depends on SMP && BROKEN
  234. default n
  235. config NODES_SHIFT
  236. int
  237. default "1"
  238. depends on NEED_MULTIPLE_NODES
  239. # turning this on wastes a bunch of space.
  240. # Summit needs it only when NUMA is on
  241. config BOOT_IOREMAP
  242. bool
  243. depends on NUMA
  244. default n
  245. endmenu
  246. menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
  247. config PCI
  248. bool "PCI support"
  249. depends on BROKEN
  250. default n
  251. help
  252. Find out whether you have a PCI motherboard. PCI is the name of a
  253. bus system, i.e. the way the CPU talks to the other stuff inside
  254. your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
  255. VESA. If you have PCI, say Y, otherwise N.
  256. The PCI-HOWTO, available from
  257. <http://www.linuxdoc.org/docs.html#howto>, contains valuable
  258. information about which PCI hardware does work under Linux and which
  259. doesn't.
  260. choice
  261. prompt "PCI access mode"
  262. depends on PCI
  263. default PCI_GOANY
  264. config PCI_GOBIOS
  265. bool "BIOS"
  266. ---help---
  267. On PCI systems, the BIOS can be used to detect the PCI devices and
  268. determine their configuration. However, some old PCI motherboards
  269. have BIOS bugs and may crash if this is done. Also, some embedded
  270. PCI-based systems don't have any BIOS at all. Linux can also try to
  271. detect the PCI hardware directly without using the BIOS.
  272. With this option, you can specify how Linux should detect the PCI
  273. devices. If you choose "BIOS", the BIOS will be used, if you choose
  274. "Direct", the BIOS won't be used, and if you choose "Any", the
  275. kernel will try the direct access method and falls back to the BIOS
  276. if that doesn't work. If unsure, go with the default, which is
  277. "Any".
  278. config PCI_GODIRECT
  279. bool "Direct"
  280. config PCI_GOANY
  281. bool "Any"
  282. endchoice
  283. config PCI_BIOS
  284. bool
  285. depends on PCI && (PCI_GOBIOS || PCI_GOANY)
  286. default y
  287. config PCI_DIRECT
  288. bool
  289. depends on PCI && (PCI_GODIRECT || PCI_GOANY)
  290. default y
  291. source "drivers/pci/Kconfig"
  292. config ISA
  293. bool "ISA support"
  294. help
  295. Find out whether you have ISA slots on your motherboard. ISA is the
  296. name of a bus system, i.e. the way the CPU talks to the other stuff
  297. inside your box. If you have ISA, say Y, otherwise N.
  298. source "drivers/pcmcia/Kconfig"
  299. source "drivers/pci/hotplug/Kconfig"
  300. endmenu
  301. menu "Executable file formats"
  302. source "fs/Kconfig.binfmt"
  303. endmenu
  304. source "net/Kconfig"
  305. source "drivers/Kconfig"
  306. source "fs/Kconfig"
  307. source "arch/m32r/oprofile/Kconfig"
  308. source "arch/m32r/Kconfig.debug"
  309. source "security/Kconfig"
  310. source "crypto/Kconfig"
  311. source "lib/Kconfig"