Kconfig 9.7 KB

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