Kconfig 9.7 KB

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