Kconfig 9.7 KB

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