Kconfig 9.6 KB

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