Kconfig 9.4 KB

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