Kconfig 9.6 KB

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