Kconfig 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see Documentation/kbuild/kconfig-language.txt.
  4. #
  5. mainmenu "Linux/SuperH Kernel Configuration"
  6. config SUPERH
  7. def_bool y
  8. select EMBEDDED
  9. select HAVE_CLK
  10. select HAVE_IDE
  11. select HAVE_OPROFILE
  12. select HAVE_GENERIC_DMA_COHERENT
  13. select HAVE_IOREMAP_PROT if MMU
  14. select HAVE_ARCH_TRACEHOOK
  15. help
  16. The SuperH is a RISC processor targeted for use in embedded systems
  17. and consumer electronics; it was also used in the Sega Dreamcast
  18. gaming console. The SuperH port has a home page at
  19. <http://www.linux-sh.org/>.
  20. config SUPERH32
  21. def_bool !SUPERH64
  22. select HAVE_KPROBES
  23. select HAVE_KRETPROBES
  24. select HAVE_FUNCTION_TRACER
  25. select HAVE_FTRACE_MCOUNT_RECORD
  26. select HAVE_DYNAMIC_FTRACE
  27. select HAVE_ARCH_KGDB
  28. config SUPERH64
  29. def_bool y if CPU_SH5
  30. config ARCH_DEFCONFIG
  31. string
  32. default "arch/sh/configs/shx3_defconfig" if SUPERH32
  33. default "arch/sh/configs/cayman_defconfig" if SUPERH64
  34. config RWSEM_GENERIC_SPINLOCK
  35. def_bool y
  36. config RWSEM_XCHGADD_ALGORITHM
  37. bool
  38. config GENERIC_BUG
  39. def_bool y
  40. depends on BUG && SUPERH32
  41. config GENERIC_FIND_NEXT_BIT
  42. def_bool y
  43. config GENERIC_HWEIGHT
  44. def_bool y
  45. config GENERIC_HARDIRQS
  46. def_bool y
  47. config GENERIC_HARDIRQS_NO__DO_IRQ
  48. def_bool y
  49. config GENERIC_IRQ_PROBE
  50. def_bool y
  51. config GENERIC_GPIO
  52. def_bool n
  53. config GENERIC_CALIBRATE_DELAY
  54. bool
  55. config GENERIC_IOMAP
  56. bool
  57. config GENERIC_TIME
  58. def_bool n
  59. config GENERIC_CLOCKEVENTS
  60. def_bool n
  61. config GENERIC_CLOCKEVENTS_BROADCAST
  62. bool
  63. config GENERIC_LOCKBREAK
  64. def_bool y
  65. depends on SMP && PREEMPT
  66. config SYS_SUPPORTS_PM
  67. bool
  68. depends on !SMP
  69. config ARCH_SUSPEND_POSSIBLE
  70. def_bool n
  71. config ARCH_HIBERNATION_POSSIBLE
  72. def_bool n
  73. config SYS_SUPPORTS_APM_EMULATION
  74. bool
  75. select ARCH_SUSPEND_POSSIBLE
  76. config SYS_SUPPORTS_SMP
  77. bool
  78. config SYS_SUPPORTS_NUMA
  79. bool
  80. config SYS_SUPPORTS_PCI
  81. bool
  82. config STACKTRACE_SUPPORT
  83. def_bool y
  84. config LOCKDEP_SUPPORT
  85. def_bool y
  86. config HAVE_LATENCYTOP_SUPPORT
  87. def_bool y
  88. depends on !SMP
  89. config ARCH_HAS_ILOG2_U32
  90. def_bool n
  91. config ARCH_HAS_ILOG2_U64
  92. def_bool n
  93. config ARCH_NO_VIRT_TO_BUS
  94. def_bool y
  95. config IO_TRAPPED
  96. bool
  97. source "init/Kconfig"
  98. source "kernel/Kconfig.freezer"
  99. menu "System type"
  100. #
  101. # Processor families
  102. #
  103. config CPU_SH2
  104. bool
  105. config CPU_SH2A
  106. bool
  107. select CPU_SH2
  108. config CPU_SH3
  109. bool
  110. select CPU_HAS_INTEVT
  111. select CPU_HAS_SR_RB
  112. config CPU_SH4
  113. bool
  114. select CPU_HAS_INTEVT
  115. select CPU_HAS_SR_RB
  116. select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
  117. select CPU_HAS_FPU if !CPU_SH4AL_DSP
  118. config CPU_SH4A
  119. bool
  120. select CPU_SH4
  121. config CPU_SH4AL_DSP
  122. bool
  123. select CPU_SH4A
  124. select CPU_HAS_DSP
  125. config CPU_SH5
  126. bool
  127. select CPU_HAS_FPU
  128. config CPU_SHX2
  129. bool
  130. config CPU_SHX3
  131. bool
  132. choice
  133. prompt "Processor sub-type selection"
  134. #
  135. # Processor subtypes
  136. #
  137. # SH-2 Processor Support
  138. config CPU_SUBTYPE_SH7619
  139. bool "Support SH7619 processor"
  140. select CPU_SH2
  141. # SH-2A Processor Support
  142. config CPU_SUBTYPE_SH7201
  143. bool "Support SH7201 processor"
  144. select CPU_SH2A
  145. select CPU_HAS_FPU
  146. config CPU_SUBTYPE_SH7203
  147. bool "Support SH7203 processor"
  148. select CPU_SH2A
  149. select CPU_HAS_FPU
  150. config CPU_SUBTYPE_SH7206
  151. bool "Support SH7206 processor"
  152. select CPU_SH2A
  153. config CPU_SUBTYPE_SH7263
  154. bool "Support SH7263 processor"
  155. select CPU_SH2A
  156. select CPU_HAS_FPU
  157. config CPU_SUBTYPE_MXG
  158. bool "Support MX-G processor"
  159. select CPU_SH2A
  160. help
  161. Select MX-G if running on an R8A03022BG part.
  162. # SH-3 Processor Support
  163. config CPU_SUBTYPE_SH7705
  164. bool "Support SH7705 processor"
  165. select CPU_SH3
  166. config CPU_SUBTYPE_SH7706
  167. bool "Support SH7706 processor"
  168. select CPU_SH3
  169. help
  170. Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
  171. config CPU_SUBTYPE_SH7707
  172. bool "Support SH7707 processor"
  173. select CPU_SH3
  174. help
  175. Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
  176. config CPU_SUBTYPE_SH7708
  177. bool "Support SH7708 processor"
  178. select CPU_SH3
  179. help
  180. Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
  181. if you have a 100 Mhz SH-3 HD6417708R CPU.
  182. config CPU_SUBTYPE_SH7709
  183. bool "Support SH7709 processor"
  184. select CPU_SH3
  185. help
  186. Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
  187. config CPU_SUBTYPE_SH7710
  188. bool "Support SH7710 processor"
  189. select CPU_SH3
  190. select CPU_HAS_DSP
  191. help
  192. Select SH7710 if you have a SH3-DSP SH7710 CPU.
  193. config CPU_SUBTYPE_SH7712
  194. bool "Support SH7712 processor"
  195. select CPU_SH3
  196. select CPU_HAS_DSP
  197. help
  198. Select SH7712 if you have a SH3-DSP SH7712 CPU.
  199. config CPU_SUBTYPE_SH7720
  200. bool "Support SH7720 processor"
  201. select CPU_SH3
  202. select CPU_HAS_DSP
  203. help
  204. Select SH7720 if you have a SH3-DSP SH7720 CPU.
  205. config CPU_SUBTYPE_SH7721
  206. bool "Support SH7721 processor"
  207. select CPU_SH3
  208. select CPU_HAS_DSP
  209. help
  210. Select SH7721 if you have a SH3-DSP SH7721 CPU.
  211. # SH-4 Processor Support
  212. config CPU_SUBTYPE_SH7750
  213. bool "Support SH7750 processor"
  214. select CPU_SH4
  215. help
  216. Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
  217. config CPU_SUBTYPE_SH7091
  218. bool "Support SH7091 processor"
  219. select CPU_SH4
  220. help
  221. Select SH7091 if you have an SH-4 based Sega device (such as
  222. the Dreamcast, Naomi, and Naomi 2).
  223. config CPU_SUBTYPE_SH7750R
  224. bool "Support SH7750R processor"
  225. select CPU_SH4
  226. config CPU_SUBTYPE_SH7750S
  227. bool "Support SH7750S processor"
  228. select CPU_SH4
  229. config CPU_SUBTYPE_SH7751
  230. bool "Support SH7751 processor"
  231. select CPU_SH4
  232. help
  233. Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
  234. or if you have a HD6417751R CPU.
  235. config CPU_SUBTYPE_SH7751R
  236. bool "Support SH7751R processor"
  237. select CPU_SH4
  238. config CPU_SUBTYPE_SH7760
  239. bool "Support SH7760 processor"
  240. select CPU_SH4
  241. config CPU_SUBTYPE_SH4_202
  242. bool "Support SH4-202 processor"
  243. select CPU_SH4
  244. # SH-4A Processor Support
  245. config CPU_SUBTYPE_SH7723
  246. bool "Support SH7723 processor"
  247. select CPU_SH4A
  248. select CPU_SHX2
  249. select ARCH_SPARSEMEM_ENABLE
  250. help
  251. Select SH7723 if you have an SH-MobileR2 CPU.
  252. config CPU_SUBTYPE_SH7763
  253. bool "Support SH7763 processor"
  254. select CPU_SH4A
  255. help
  256. Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
  257. config CPU_SUBTYPE_SH7770
  258. bool "Support SH7770 processor"
  259. select CPU_SH4A
  260. config CPU_SUBTYPE_SH7780
  261. bool "Support SH7780 processor"
  262. select CPU_SH4A
  263. config CPU_SUBTYPE_SH7785
  264. bool "Support SH7785 processor"
  265. select CPU_SH4A
  266. select CPU_SHX2
  267. select ARCH_SPARSEMEM_ENABLE
  268. select SYS_SUPPORTS_NUMA
  269. config CPU_SUBTYPE_SHX3
  270. bool "Support SH-X3 processor"
  271. select CPU_SH4A
  272. select CPU_SHX3
  273. select ARCH_SPARSEMEM_ENABLE
  274. select SYS_SUPPORTS_NUMA
  275. select SYS_SUPPORTS_SMP
  276. select GENERIC_CLOCKEVENTS_BROADCAST if SMP
  277. # SH4AL-DSP Processor Support
  278. config CPU_SUBTYPE_SH7343
  279. bool "Support SH7343 processor"
  280. select CPU_SH4AL_DSP
  281. config CPU_SUBTYPE_SH7722
  282. bool "Support SH7722 processor"
  283. select CPU_SH4AL_DSP
  284. select CPU_SHX2
  285. select ARCH_SPARSEMEM_ENABLE
  286. select SYS_SUPPORTS_NUMA
  287. config CPU_SUBTYPE_SH7366
  288. bool "Support SH7366 processor"
  289. select CPU_SH4AL_DSP
  290. select CPU_SHX2
  291. select ARCH_SPARSEMEM_ENABLE
  292. select SYS_SUPPORTS_NUMA
  293. # SH-5 Processor Support
  294. config CPU_SUBTYPE_SH5_101
  295. bool "Support SH5-101 processor"
  296. select CPU_SH5
  297. config CPU_SUBTYPE_SH5_103
  298. bool "Support SH5-103 processor"
  299. select CPU_SH5
  300. endchoice
  301. source "arch/sh/mm/Kconfig"
  302. source "arch/sh/Kconfig.cpu"
  303. source "arch/sh/boards/Kconfig"
  304. menu "Timer and clock configuration"
  305. config SH_TIMER_CMT
  306. def_bool n
  307. prompt "CMT support"
  308. select GENERIC_TIME
  309. select GENERIC_CLOCKEVENTS
  310. help
  311. This enables build of the CMT system timer driver.
  312. config SH_TMU
  313. def_bool y
  314. prompt "TMU timer support"
  315. depends on CPU_SH3 || CPU_SH4
  316. select GENERIC_TIME
  317. select GENERIC_CLOCKEVENTS
  318. help
  319. This enables the use of the TMU as the system timer.
  320. config SH_CMT
  321. def_bool y
  322. prompt "CMT timer support"
  323. depends on CPU_SH2 && !CPU_SUBTYPE_MXG
  324. help
  325. This enables the use of the CMT as the system timer.
  326. config SH_MTU2
  327. def_bool n
  328. prompt "MTU2 timer support"
  329. depends on CPU_SH2A
  330. help
  331. This enables the use of the MTU2 as the system timer.
  332. config SH_TIMER_IRQ
  333. int
  334. default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
  335. CPU_SUBTYPE_SH7763
  336. default "86" if CPU_SUBTYPE_SH7619
  337. default "140" if CPU_SUBTYPE_SH7206
  338. default "142" if CPU_SUBTYPE_SH7203
  339. default "238" if CPU_SUBTYPE_MXG
  340. default "16"
  341. config SH_PCLK_FREQ
  342. int "Peripheral clock frequency (in Hz)"
  343. default "27000000" if CPU_SUBTYPE_SH7343
  344. default "31250000" if CPU_SUBTYPE_SH7619
  345. default "32000000" if CPU_SUBTYPE_SH7722
  346. default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
  347. CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
  348. CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
  349. CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
  350. default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
  351. default "66000000" if CPU_SUBTYPE_SH4_202
  352. default "50000000"
  353. help
  354. This option is used to specify the peripheral clock frequency.
  355. This is necessary for determining the reference clock value on
  356. platforms lacking an RTC.
  357. config SH_CLK_MD
  358. int "CPU Mode Pin Setting"
  359. depends on CPU_SH2
  360. default 6 if CPU_SUBTYPE_SH7206
  361. default 5 if CPU_SUBTYPE_SH7619
  362. default 0
  363. help
  364. MD2 - MD0 pin setting.
  365. source "kernel/time/Kconfig"
  366. endmenu
  367. menu "CPU Frequency scaling"
  368. source "drivers/cpufreq/Kconfig"
  369. config SH_CPU_FREQ
  370. tristate "SuperH CPU Frequency driver"
  371. depends on CPU_FREQ
  372. select CPU_FREQ_TABLE
  373. help
  374. This adds the cpufreq driver for SuperH. Any CPU that supports
  375. clock rate rounding through the clock framework can use this
  376. driver. While it will make the kernel slightly larger, this is
  377. harmless for CPUs that don't support rate rounding. The driver
  378. will also generate a notice in the boot log before disabling
  379. itself if the CPU in question is not capable of rate rounding.
  380. For details, take a look at <file:Documentation/cpu-freq>.
  381. If unsure, say N.
  382. endmenu
  383. source "arch/sh/drivers/Kconfig"
  384. endmenu
  385. menu "Kernel features"
  386. source kernel/Kconfig.hz
  387. config KEXEC
  388. bool "kexec system call (EXPERIMENTAL)"
  389. depends on SUPERH32 && EXPERIMENTAL
  390. help
  391. kexec is a system call that implements the ability to shutdown your
  392. current kernel, and to start another kernel. It is like a reboot
  393. but it is independent of the system firmware. And like a reboot
  394. you can start any kernel with it, not just Linux.
  395. The name comes from the similarity to the exec system call.
  396. It is an ongoing process to be certain the hardware in a machine
  397. is properly shutdown, so do not be surprised if this code does not
  398. initially work for you. It may help to enable device hotplugging
  399. support. As of this writing the exact hardware interface is
  400. strongly in flux, so no good recommendation can be made.
  401. config CRASH_DUMP
  402. bool "kernel crash dumps (EXPERIMENTAL)"
  403. depends on SUPERH32 && EXPERIMENTAL
  404. help
  405. Generate crash dump after being started by kexec.
  406. This should be normally only set in special crash dump kernels
  407. which are loaded in the main kernel with kexec-tools into
  408. a specially reserved region and then later executed after
  409. a crash by kdump/kexec. The crash dump kernel must be compiled
  410. to a memory address not used by the main kernel using
  411. MEMORY_START.
  412. For more details see Documentation/kdump/kdump.txt
  413. config SECCOMP
  414. bool "Enable seccomp to safely compute untrusted bytecode"
  415. depends on PROC_FS
  416. help
  417. This kernel feature is useful for number crunching applications
  418. that may need to compute untrusted bytecode during their
  419. execution. By using pipes or other transports made available to
  420. the process as file descriptors supporting the read/write
  421. syscalls, it's possible to isolate those applications in
  422. their own address space using seccomp. Once seccomp is
  423. enabled via prctl, it cannot be disabled and the task is only
  424. allowed to execute a few safe syscalls defined by each seccomp
  425. mode.
  426. If unsure, say N.
  427. config SMP
  428. bool "Symmetric multi-processing support"
  429. depends on SYS_SUPPORTS_SMP
  430. select USE_GENERIC_SMP_HELPERS
  431. ---help---
  432. This enables support for systems with more than one CPU. If you have
  433. a system with only one CPU, like most personal computers, say N. If
  434. you have a system with more than one CPU, say Y.
  435. If you say N here, the kernel will run on single and multiprocessor
  436. machines, but will use only one CPU of a multiprocessor machine. If
  437. you say Y here, the kernel will run on many, but not all,
  438. singleprocessor machines. On a singleprocessor machine, the kernel
  439. will run faster if you say N here.
  440. People using multiprocessor machines who say Y here should also say
  441. Y to "Enhanced Real Time Clock Support", below.
  442. See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
  443. available at <http://www.tldp.org/docs.html#howto>.
  444. If you don't know what to do here, say N.
  445. config NR_CPUS
  446. int "Maximum number of CPUs (2-32)"
  447. range 2 32
  448. depends on SMP
  449. default "4" if CPU_SHX3
  450. default "2"
  451. help
  452. This allows you to specify the maximum number of CPUs which this
  453. kernel will support. The maximum supported value is 32 and the
  454. minimum value which makes sense is 2.
  455. This is purely to save memory - each supported CPU adds
  456. approximately eight kilobytes to the kernel image.
  457. source "kernel/Kconfig.preempt"
  458. config GUSA
  459. def_bool y
  460. depends on !SMP && SUPERH32
  461. help
  462. This enables support for gUSA (general UserSpace Atomicity).
  463. This is the default implementation for both UP and non-ll/sc
  464. CPUs, and is used by the libc, amongst others.
  465. For additional information, design information can be found
  466. in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
  467. This should only be disabled for special cases where alternate
  468. atomicity implementations exist.
  469. config GUSA_RB
  470. bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
  471. depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
  472. help
  473. Enabling this option will allow the kernel to implement some
  474. atomic operations using a software implemention of load-locked/
  475. store-conditional (LLSC). On machines which do not have hardware
  476. LLSC, this should be more efficient than the other alternative of
  477. disabling insterrupts around the atomic sequence.
  478. endmenu
  479. menu "Boot options"
  480. config ZERO_PAGE_OFFSET
  481. hex "Zero page offset"
  482. default "0x00004000" if SH_SH03
  483. default "0x00010000" if PAGE_SIZE_64KB
  484. default "0x00002000" if PAGE_SIZE_8KB
  485. default "0x00001000"
  486. help
  487. This sets the default offset of zero page.
  488. config BOOT_LINK_OFFSET
  489. hex "Link address offset for booting"
  490. default "0x00800000"
  491. help
  492. This option allows you to set the link address offset of the zImage.
  493. This can be useful if you are on a board which has a small amount of
  494. memory.
  495. config UBC_WAKEUP
  496. bool "Wakeup UBC on startup"
  497. depends on CPU_SH4 && !CPU_SH4A
  498. help
  499. Selecting this option will wakeup the User Break Controller (UBC) on
  500. startup. Although the UBC is left in an awake state when the processor
  501. comes up, some boot loaders misbehave by putting the UBC to sleep in a
  502. power saving state, which causes issues with things like ptrace().
  503. If unsure, say N.
  504. config CMDLINE_BOOL
  505. bool "Default bootloader kernel arguments"
  506. config CMDLINE
  507. string "Initial kernel command string"
  508. depends on CMDLINE_BOOL
  509. default "console=ttySC1,115200"
  510. endmenu
  511. menu "Bus options"
  512. config SUPERHYWAY
  513. tristate "SuperHyway Bus support"
  514. depends on CPU_SUBTYPE_SH4_202
  515. config MAPLE
  516. bool "Maple Bus support"
  517. depends on SH_DREAMCAST
  518. help
  519. The Maple Bus is SEGA's serial communication bus for peripherals
  520. on the Dreamcast. Without this bus support you won't be able to
  521. get your Dreamcast keyboard etc to work, so most users
  522. probably want to say 'Y' here, unless you are only using the
  523. Dreamcast with a serial line terminal or a remote network
  524. connection.
  525. source "arch/sh/drivers/pci/Kconfig"
  526. source "drivers/pci/pcie/Kconfig"
  527. source "drivers/pci/Kconfig"
  528. source "drivers/pcmcia/Kconfig"
  529. source "drivers/pci/hotplug/Kconfig"
  530. endmenu
  531. menu "Executable file formats"
  532. source "fs/Kconfig.binfmt"
  533. endmenu
  534. menu "Power management options (EXPERIMENTAL)"
  535. depends on EXPERIMENTAL
  536. source "kernel/power/Kconfig"
  537. source "drivers/cpuidle/Kconfig"
  538. endmenu
  539. source "net/Kconfig"
  540. source "drivers/Kconfig"
  541. source "fs/Kconfig"
  542. source "arch/sh/Kconfig.debug"
  543. source "security/Kconfig"
  544. source "crypto/Kconfig"
  545. source "lib/Kconfig"