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