Kconfig 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943
  1. config SUPERH
  2. def_bool y
  3. select EXPERT
  4. select CLKDEV_LOOKUP
  5. select HAVE_IDE if HAS_IOPORT
  6. select HAVE_MEMBLOCK
  7. select HAVE_MEMBLOCK_NODE_MAP
  8. select ARCH_DISCARD_MEMBLOCK
  9. select HAVE_OPROFILE
  10. select HAVE_GENERIC_DMA_COHERENT
  11. select HAVE_ARCH_TRACEHOOK
  12. select HAVE_DMA_API_DEBUG
  13. select HAVE_DMA_ATTRS
  14. select HAVE_IRQ_WORK
  15. select HAVE_PERF_EVENTS
  16. select ARCH_HAVE_CUSTOM_GPIO_H
  17. select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
  18. select PERF_USE_VMALLOC
  19. select HAVE_KERNEL_GZIP
  20. select HAVE_KERNEL_BZIP2
  21. select HAVE_KERNEL_LZMA
  22. select HAVE_KERNEL_XZ
  23. select HAVE_KERNEL_LZO
  24. select HAVE_SYSCALL_TRACEPOINTS
  25. select HAVE_REGS_AND_STACK_ACCESS_API
  26. select HAVE_GENERIC_HARDIRQS
  27. select MAY_HAVE_SPARSE_IRQ
  28. select IRQ_FORCED_THREADING
  29. select RTC_LIB
  30. select GENERIC_ATOMIC64
  31. select GENERIC_IRQ_SHOW
  32. select GENERIC_SMP_IDLE_THREAD
  33. select GENERIC_CLOCKEVENTS
  34. select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
  35. select GENERIC_STRNCPY_FROM_USER
  36. help
  37. The SuperH is a RISC processor targeted for use in embedded systems
  38. and consumer electronics; it was also used in the Sega Dreamcast
  39. gaming console. The SuperH port has a home page at
  40. <http://www.linux-sh.org/>.
  41. config SUPERH32
  42. def_bool ARCH = "sh"
  43. select HAVE_KPROBES
  44. select HAVE_KRETPROBES
  45. select HAVE_IOREMAP_PROT if MMU && !X2TLB
  46. select HAVE_FUNCTION_TRACER
  47. select HAVE_FTRACE_MCOUNT_RECORD
  48. select HAVE_DYNAMIC_FTRACE
  49. select HAVE_FUNCTION_TRACE_MCOUNT_TEST
  50. select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
  51. select HAVE_FUNCTION_GRAPH_TRACER
  52. select HAVE_ARCH_KGDB
  53. select HAVE_HW_BREAKPOINT
  54. select HAVE_MIXED_BREAKPOINTS_REGS
  55. select PERF_EVENTS
  56. select ARCH_HIBERNATION_POSSIBLE if MMU
  57. select SPARSE_IRQ
  58. config SUPERH64
  59. def_bool ARCH = "sh64"
  60. config ARCH_DEFCONFIG
  61. string
  62. default "arch/sh/configs/shx3_defconfig" if SUPERH32
  63. default "arch/sh/configs/cayman_defconfig" if SUPERH64
  64. config RWSEM_GENERIC_SPINLOCK
  65. def_bool y
  66. config RWSEM_XCHGADD_ALGORITHM
  67. bool
  68. config GENERIC_BUG
  69. def_bool y
  70. depends on BUG && SUPERH32
  71. config GENERIC_CSUM
  72. def_bool y
  73. depends on SUPERH64
  74. config GENERIC_HWEIGHT
  75. def_bool y
  76. config IRQ_PER_CPU
  77. def_bool y
  78. config GENERIC_GPIO
  79. def_bool n
  80. config GENERIC_CALIBRATE_DELAY
  81. bool
  82. config GENERIC_LOCKBREAK
  83. def_bool y
  84. depends on SMP && PREEMPT
  85. config ARCH_SUSPEND_POSSIBLE
  86. def_bool n
  87. config ARCH_HIBERNATION_POSSIBLE
  88. def_bool n
  89. config SYS_SUPPORTS_APM_EMULATION
  90. bool
  91. select ARCH_SUSPEND_POSSIBLE
  92. config SYS_SUPPORTS_HUGETLBFS
  93. bool
  94. config SYS_SUPPORTS_SMP
  95. bool
  96. config SYS_SUPPORTS_NUMA
  97. bool
  98. config SYS_SUPPORTS_PCI
  99. bool
  100. config SYS_SUPPORTS_CMT
  101. bool
  102. config SYS_SUPPORTS_MTU2
  103. bool
  104. config SYS_SUPPORTS_TMU
  105. bool
  106. config STACKTRACE_SUPPORT
  107. def_bool y
  108. config LOCKDEP_SUPPORT
  109. def_bool y
  110. config HAVE_LATENCYTOP_SUPPORT
  111. def_bool y
  112. config ARCH_HAS_ILOG2_U32
  113. def_bool n
  114. config ARCH_HAS_ILOG2_U64
  115. def_bool n
  116. config ARCH_NO_VIRT_TO_BUS
  117. def_bool y
  118. config ARCH_HAS_DEFAULT_IDLE
  119. def_bool y
  120. config NO_IOPORT
  121. def_bool !PCI
  122. depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
  123. !SH_HP6XX && !SH_SOLUTION_ENGINE
  124. config IO_TRAPPED
  125. bool
  126. config SWAP_IO_SPACE
  127. bool
  128. config DMA_COHERENT
  129. bool
  130. config DMA_NONCOHERENT
  131. def_bool !DMA_COHERENT
  132. config NEED_DMA_MAP_STATE
  133. def_bool DMA_NONCOHERENT
  134. config NEED_SG_DMA_LENGTH
  135. def_bool y
  136. source "init/Kconfig"
  137. source "kernel/Kconfig.freezer"
  138. menu "System type"
  139. #
  140. # Processor families
  141. #
  142. config CPU_SH2
  143. bool
  144. config CPU_SH2A
  145. bool
  146. select CPU_SH2
  147. select UNCACHED_MAPPING
  148. config CPU_SH3
  149. bool
  150. select CPU_HAS_INTEVT
  151. select CPU_HAS_SR_RB
  152. select SYS_SUPPORTS_TMU
  153. config CPU_SH4
  154. bool
  155. select CPU_HAS_INTEVT
  156. select CPU_HAS_SR_RB
  157. select CPU_HAS_FPU if !CPU_SH4AL_DSP
  158. select SYS_SUPPORTS_TMU
  159. select SYS_SUPPORTS_HUGETLBFS if MMU
  160. config CPU_SH4A
  161. bool
  162. select CPU_SH4
  163. config CPU_SH4AL_DSP
  164. bool
  165. select CPU_SH4A
  166. select CPU_HAS_DSP
  167. config CPU_SH5
  168. bool
  169. select CPU_HAS_FPU
  170. select SYS_SUPPORTS_TMU
  171. select SYS_SUPPORTS_HUGETLBFS if MMU
  172. config CPU_SHX2
  173. bool
  174. config CPU_SHX3
  175. bool
  176. select DMA_COHERENT
  177. select SYS_SUPPORTS_SMP
  178. select SYS_SUPPORTS_NUMA
  179. config ARCH_SHMOBILE
  180. bool
  181. select ARCH_SUSPEND_POSSIBLE
  182. select PM
  183. select PM_RUNTIME
  184. config CPU_HAS_PMU
  185. depends on CPU_SH4 || CPU_SH4A
  186. default y
  187. bool
  188. if SUPERH32
  189. choice
  190. prompt "Processor sub-type selection"
  191. #
  192. # Processor subtypes
  193. #
  194. # SH-2 Processor Support
  195. config CPU_SUBTYPE_SH7619
  196. bool "Support SH7619 processor"
  197. select CPU_SH2
  198. select SYS_SUPPORTS_CMT
  199. # SH-2A Processor Support
  200. config CPU_SUBTYPE_SH7201
  201. bool "Support SH7201 processor"
  202. select CPU_SH2A
  203. select CPU_HAS_FPU
  204. select SYS_SUPPORTS_MTU2
  205. config CPU_SUBTYPE_SH7203
  206. bool "Support SH7203 processor"
  207. select CPU_SH2A
  208. select CPU_HAS_FPU
  209. select SYS_SUPPORTS_CMT
  210. select SYS_SUPPORTS_MTU2
  211. select ARCH_WANT_OPTIONAL_GPIOLIB
  212. config CPU_SUBTYPE_SH7206
  213. bool "Support SH7206 processor"
  214. select CPU_SH2A
  215. select SYS_SUPPORTS_CMT
  216. select SYS_SUPPORTS_MTU2
  217. config CPU_SUBTYPE_SH7263
  218. bool "Support SH7263 processor"
  219. select CPU_SH2A
  220. select CPU_HAS_FPU
  221. select SYS_SUPPORTS_CMT
  222. select SYS_SUPPORTS_MTU2
  223. config CPU_SUBTYPE_SH7264
  224. bool "Support SH7264 processor"
  225. select CPU_SH2A
  226. select CPU_HAS_FPU
  227. select SYS_SUPPORTS_CMT
  228. select SYS_SUPPORTS_MTU2
  229. config CPU_SUBTYPE_SH7269
  230. bool "Support SH7269 processor"
  231. select CPU_SH2A
  232. select CPU_HAS_FPU
  233. select SYS_SUPPORTS_CMT
  234. select SYS_SUPPORTS_MTU2
  235. config CPU_SUBTYPE_MXG
  236. bool "Support MX-G processor"
  237. select CPU_SH2A
  238. select SYS_SUPPORTS_MTU2
  239. help
  240. Select MX-G if running on an R8A03022BG part.
  241. # SH-3 Processor Support
  242. config CPU_SUBTYPE_SH7705
  243. bool "Support SH7705 processor"
  244. select CPU_SH3
  245. config CPU_SUBTYPE_SH7706
  246. bool "Support SH7706 processor"
  247. select CPU_SH3
  248. help
  249. Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
  250. config CPU_SUBTYPE_SH7707
  251. bool "Support SH7707 processor"
  252. select CPU_SH3
  253. help
  254. Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
  255. config CPU_SUBTYPE_SH7708
  256. bool "Support SH7708 processor"
  257. select CPU_SH3
  258. help
  259. Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
  260. if you have a 100 Mhz SH-3 HD6417708R CPU.
  261. config CPU_SUBTYPE_SH7709
  262. bool "Support SH7709 processor"
  263. select CPU_SH3
  264. help
  265. Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
  266. config CPU_SUBTYPE_SH7710
  267. bool "Support SH7710 processor"
  268. select CPU_SH3
  269. select CPU_HAS_DSP
  270. help
  271. Select SH7710 if you have a SH3-DSP SH7710 CPU.
  272. config CPU_SUBTYPE_SH7712
  273. bool "Support SH7712 processor"
  274. select CPU_SH3
  275. select CPU_HAS_DSP
  276. help
  277. Select SH7712 if you have a SH3-DSP SH7712 CPU.
  278. config CPU_SUBTYPE_SH7720
  279. bool "Support SH7720 processor"
  280. select CPU_SH3
  281. select CPU_HAS_DSP
  282. select SYS_SUPPORTS_CMT
  283. select ARCH_WANT_OPTIONAL_GPIOLIB
  284. select USB_ARCH_HAS_OHCI
  285. select USB_OHCI_SH if USB_OHCI_HCD
  286. help
  287. Select SH7720 if you have a SH3-DSP SH7720 CPU.
  288. config CPU_SUBTYPE_SH7721
  289. bool "Support SH7721 processor"
  290. select CPU_SH3
  291. select CPU_HAS_DSP
  292. select SYS_SUPPORTS_CMT
  293. select USB_ARCH_HAS_OHCI
  294. select USB_OHCI_SH if USB_OHCI_HCD
  295. help
  296. Select SH7721 if you have a SH3-DSP SH7721 CPU.
  297. # SH-4 Processor Support
  298. config CPU_SUBTYPE_SH7750
  299. bool "Support SH7750 processor"
  300. select CPU_SH4
  301. help
  302. Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
  303. config CPU_SUBTYPE_SH7091
  304. bool "Support SH7091 processor"
  305. select CPU_SH4
  306. help
  307. Select SH7091 if you have an SH-4 based Sega device (such as
  308. the Dreamcast, Naomi, and Naomi 2).
  309. config CPU_SUBTYPE_SH7750R
  310. bool "Support SH7750R processor"
  311. select CPU_SH4
  312. config CPU_SUBTYPE_SH7750S
  313. bool "Support SH7750S processor"
  314. select CPU_SH4
  315. config CPU_SUBTYPE_SH7751
  316. bool "Support SH7751 processor"
  317. select CPU_SH4
  318. help
  319. Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
  320. or if you have a HD6417751R CPU.
  321. config CPU_SUBTYPE_SH7751R
  322. bool "Support SH7751R processor"
  323. select CPU_SH4
  324. config CPU_SUBTYPE_SH7760
  325. bool "Support SH7760 processor"
  326. select CPU_SH4
  327. config CPU_SUBTYPE_SH4_202
  328. bool "Support SH4-202 processor"
  329. select CPU_SH4
  330. # SH-4A Processor Support
  331. config CPU_SUBTYPE_SH7723
  332. bool "Support SH7723 processor"
  333. select CPU_SH4A
  334. select CPU_SHX2
  335. select ARCH_SHMOBILE
  336. select ARCH_SPARSEMEM_ENABLE
  337. select SYS_SUPPORTS_CMT
  338. select ARCH_WANT_OPTIONAL_GPIOLIB
  339. help
  340. Select SH7723 if you have an SH-MobileR2 CPU.
  341. config CPU_SUBTYPE_SH7724
  342. bool "Support SH7724 processor"
  343. select CPU_SH4A
  344. select CPU_SHX2
  345. select ARCH_SHMOBILE
  346. select ARCH_SPARSEMEM_ENABLE
  347. select SYS_SUPPORTS_CMT
  348. select ARCH_WANT_OPTIONAL_GPIOLIB
  349. help
  350. Select SH7724 if you have an SH-MobileR2R CPU.
  351. config CPU_SUBTYPE_SH7734
  352. bool "Support SH7734 processor"
  353. select CPU_SH4A
  354. select CPU_SHX2
  355. select ARCH_WANT_OPTIONAL_GPIOLIB
  356. select USB_ARCH_HAS_OHCI
  357. select USB_ARCH_HAS_EHCI
  358. help
  359. Select SH7734 if you have a SH4A SH7734 CPU.
  360. config CPU_SUBTYPE_SH7757
  361. bool "Support SH7757 processor"
  362. select CPU_SH4A
  363. select CPU_SHX2
  364. select ARCH_WANT_OPTIONAL_GPIOLIB
  365. select USB_ARCH_HAS_OHCI
  366. select USB_ARCH_HAS_EHCI
  367. help
  368. Select SH7757 if you have a SH4A SH7757 CPU.
  369. config CPU_SUBTYPE_SH7763
  370. bool "Support SH7763 processor"
  371. select CPU_SH4A
  372. select USB_ARCH_HAS_OHCI
  373. select USB_OHCI_SH if USB_OHCI_HCD
  374. help
  375. Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
  376. config CPU_SUBTYPE_SH7770
  377. bool "Support SH7770 processor"
  378. select CPU_SH4A
  379. config CPU_SUBTYPE_SH7780
  380. bool "Support SH7780 processor"
  381. select CPU_SH4A
  382. config CPU_SUBTYPE_SH7785
  383. bool "Support SH7785 processor"
  384. select CPU_SH4A
  385. select CPU_SHX2
  386. select ARCH_SPARSEMEM_ENABLE
  387. select SYS_SUPPORTS_NUMA
  388. select ARCH_WANT_OPTIONAL_GPIOLIB
  389. config CPU_SUBTYPE_SH7786
  390. bool "Support SH7786 processor"
  391. select CPU_SH4A
  392. select CPU_SHX3
  393. select CPU_HAS_PTEAEX
  394. select GENERIC_CLOCKEVENTS_BROADCAST if SMP
  395. select ARCH_WANT_OPTIONAL_GPIOLIB
  396. select USB_ARCH_HAS_OHCI
  397. select USB_OHCI_SH if USB_OHCI_HCD
  398. select USB_ARCH_HAS_EHCI
  399. select USB_EHCI_SH if USB_EHCI_HCD
  400. config CPU_SUBTYPE_SHX3
  401. bool "Support SH-X3 processor"
  402. select CPU_SH4A
  403. select CPU_SHX3
  404. select GENERIC_CLOCKEVENTS_BROADCAST if SMP
  405. select ARCH_REQUIRE_GPIOLIB
  406. # SH4AL-DSP Processor Support
  407. config CPU_SUBTYPE_SH7343
  408. bool "Support SH7343 processor"
  409. select CPU_SH4AL_DSP
  410. select ARCH_SHMOBILE
  411. select SYS_SUPPORTS_CMT
  412. config CPU_SUBTYPE_SH7722
  413. bool "Support SH7722 processor"
  414. select CPU_SH4AL_DSP
  415. select CPU_SHX2
  416. select ARCH_SHMOBILE
  417. select ARCH_SPARSEMEM_ENABLE
  418. select SYS_SUPPORTS_NUMA
  419. select SYS_SUPPORTS_CMT
  420. select ARCH_WANT_OPTIONAL_GPIOLIB
  421. config CPU_SUBTYPE_SH7366
  422. bool "Support SH7366 processor"
  423. select CPU_SH4AL_DSP
  424. select CPU_SHX2
  425. select ARCH_SHMOBILE
  426. select ARCH_SPARSEMEM_ENABLE
  427. select SYS_SUPPORTS_NUMA
  428. select SYS_SUPPORTS_CMT
  429. endchoice
  430. endif
  431. if SUPERH64
  432. choice
  433. prompt "Processor sub-type selection"
  434. # SH-5 Processor Support
  435. config CPU_SUBTYPE_SH5_101
  436. bool "Support SH5-101 processor"
  437. select CPU_SH5
  438. config CPU_SUBTYPE_SH5_103
  439. bool "Support SH5-103 processor"
  440. select CPU_SH5
  441. endchoice
  442. endif
  443. source "arch/sh/mm/Kconfig"
  444. source "arch/sh/Kconfig.cpu"
  445. source "arch/sh/boards/Kconfig"
  446. menu "Timer and clock configuration"
  447. config SH_TIMER_TMU
  448. bool "TMU timer driver"
  449. depends on SYS_SUPPORTS_TMU
  450. default y
  451. help
  452. This enables the build of the TMU timer driver.
  453. config SH_TIMER_CMT
  454. bool "CMT timer driver"
  455. depends on SYS_SUPPORTS_CMT
  456. default y
  457. help
  458. This enables build of the CMT timer driver.
  459. config SH_TIMER_MTU2
  460. bool "MTU2 timer driver"
  461. depends on SYS_SUPPORTS_MTU2
  462. default y
  463. help
  464. This enables build of the MTU2 timer driver.
  465. config SH_PCLK_FREQ
  466. int "Peripheral clock frequency (in Hz)"
  467. depends on SH_CLK_CPG_LEGACY
  468. default "31250000" if CPU_SUBTYPE_SH7619
  469. default "33333333" if CPU_SUBTYPE_SH7770 || \
  470. CPU_SUBTYPE_SH7760 || \
  471. CPU_SUBTYPE_SH7705 || \
  472. CPU_SUBTYPE_SH7203 || \
  473. CPU_SUBTYPE_SH7206 || \
  474. CPU_SUBTYPE_SH7263 || \
  475. CPU_SUBTYPE_MXG
  476. default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
  477. default "66000000" if CPU_SUBTYPE_SH4_202
  478. default "50000000"
  479. help
  480. This option is used to specify the peripheral clock frequency.
  481. This is necessary for determining the reference clock value on
  482. platforms lacking an RTC.
  483. config SH_CLK_CPG
  484. def_bool y
  485. config SH_CLK_CPG_LEGACY
  486. depends on SH_CLK_CPG
  487. def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
  488. !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
  489. !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
  490. !CPU_SUBTYPE_SH7269
  491. endmenu
  492. menu "CPU Frequency scaling"
  493. source "drivers/cpufreq/Kconfig"
  494. config SH_CPU_FREQ
  495. tristate "SuperH CPU Frequency driver"
  496. depends on CPU_FREQ
  497. select CPU_FREQ_TABLE
  498. help
  499. This adds the cpufreq driver for SuperH. Any CPU that supports
  500. clock rate rounding through the clock framework can use this
  501. driver. While it will make the kernel slightly larger, this is
  502. harmless for CPUs that don't support rate rounding. The driver
  503. will also generate a notice in the boot log before disabling
  504. itself if the CPU in question is not capable of rate rounding.
  505. For details, take a look at <file:Documentation/cpu-freq>.
  506. If unsure, say N.
  507. endmenu
  508. source "arch/sh/drivers/Kconfig"
  509. endmenu
  510. menu "Kernel features"
  511. source kernel/Kconfig.hz
  512. config KEXEC
  513. bool "kexec system call (EXPERIMENTAL)"
  514. depends on SUPERH32 && EXPERIMENTAL && MMU
  515. help
  516. kexec is a system call that implements the ability to shutdown your
  517. current kernel, and to start another kernel. It is like a reboot
  518. but it is independent of the system firmware. And like a reboot
  519. you can start any kernel with it, not just Linux.
  520. The name comes from the similarity to the exec system call.
  521. It is an ongoing process to be certain the hardware in a machine
  522. is properly shutdown, so do not be surprised if this code does not
  523. initially work for you. It may help to enable device hotplugging
  524. support. As of this writing the exact hardware interface is
  525. strongly in flux, so no good recommendation can be made.
  526. config CRASH_DUMP
  527. bool "kernel crash dumps (EXPERIMENTAL)"
  528. depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
  529. help
  530. Generate crash dump after being started by kexec.
  531. This should be normally only set in special crash dump kernels
  532. which are loaded in the main kernel with kexec-tools into
  533. a specially reserved region and then later executed after
  534. a crash by kdump/kexec. The crash dump kernel must be compiled
  535. to a memory address not used by the main kernel using
  536. PHYSICAL_START.
  537. For more details see Documentation/kdump/kdump.txt
  538. config KEXEC_JUMP
  539. bool "kexec jump (EXPERIMENTAL)"
  540. depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
  541. help
  542. Jump between original kernel and kexeced kernel and invoke
  543. code via KEXEC
  544. config PHYSICAL_START
  545. hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
  546. default MEMORY_START
  547. ---help---
  548. This gives the physical address where the kernel is loaded
  549. and is ordinarily the same as MEMORY_START.
  550. Different values are primarily used in the case of kexec on panic
  551. where the fail safe kernel needs to run at a different address
  552. than the panic-ed kernel.
  553. config SECCOMP
  554. bool "Enable seccomp to safely compute untrusted bytecode"
  555. depends on PROC_FS
  556. help
  557. This kernel feature is useful for number crunching applications
  558. that may need to compute untrusted bytecode during their
  559. execution. By using pipes or other transports made available to
  560. the process as file descriptors supporting the read/write
  561. syscalls, it's possible to isolate those applications in
  562. their own address space using seccomp. Once seccomp is
  563. enabled via prctl, it cannot be disabled and the task is only
  564. allowed to execute a few safe syscalls defined by each seccomp
  565. mode.
  566. If unsure, say N.
  567. config CC_STACKPROTECTOR
  568. bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
  569. depends on SUPERH32 && EXPERIMENTAL
  570. help
  571. This option turns on the -fstack-protector GCC feature. This
  572. feature puts, at the beginning of functions, a canary value on
  573. the stack just before the return address, and validates
  574. the value just before actually returning. Stack based buffer
  575. overflows (that need to overwrite this return address) now also
  576. overwrite the canary, which gets detected and the attack is then
  577. neutralized via a kernel panic.
  578. This feature requires gcc version 4.2 or above.
  579. config SMP
  580. bool "Symmetric multi-processing support"
  581. depends on SYS_SUPPORTS_SMP
  582. select USE_GENERIC_SMP_HELPERS
  583. ---help---
  584. This enables support for systems with more than one CPU. If you have
  585. a system with only one CPU, like most personal computers, say N. If
  586. you have a system with more than one CPU, say Y.
  587. If you say N here, the kernel will run on single and multiprocessor
  588. machines, but will use only one CPU of a multiprocessor machine. If
  589. you say Y here, the kernel will run on many, but not all,
  590. singleprocessor machines. On a singleprocessor machine, the kernel
  591. will run faster if you say N here.
  592. People using multiprocessor machines who say Y here should also say
  593. Y to "Enhanced Real Time Clock Support", below.
  594. See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
  595. available at <http://www.tldp.org/docs.html#howto>.
  596. If you don't know what to do here, say N.
  597. config NR_CPUS
  598. int "Maximum number of CPUs (2-32)"
  599. range 2 32
  600. depends on SMP
  601. default "4" if CPU_SUBTYPE_SHX3
  602. default "2"
  603. help
  604. This allows you to specify the maximum number of CPUs which this
  605. kernel will support. The maximum supported value is 32 and the
  606. minimum value which makes sense is 2.
  607. This is purely to save memory - each supported CPU adds
  608. approximately eight kilobytes to the kernel image.
  609. config HOTPLUG_CPU
  610. bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
  611. depends on SMP && HOTPLUG && EXPERIMENTAL
  612. help
  613. Say Y here to experiment with turning CPUs off and on. CPUs
  614. can be controlled through /sys/devices/system/cpu.
  615. source "kernel/Kconfig.preempt"
  616. config GUSA
  617. def_bool y
  618. depends on !SMP && SUPERH32
  619. help
  620. This enables support for gUSA (general UserSpace Atomicity).
  621. This is the default implementation for both UP and non-ll/sc
  622. CPUs, and is used by the libc, amongst others.
  623. For additional information, design information can be found
  624. in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
  625. This should only be disabled for special cases where alternate
  626. atomicity implementations exist.
  627. config GUSA_RB
  628. bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
  629. depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
  630. help
  631. Enabling this option will allow the kernel to implement some
  632. atomic operations using a software implementation of load-locked/
  633. store-conditional (LLSC). On machines which do not have hardware
  634. LLSC, this should be more efficient than the other alternative of
  635. disabling interrupts around the atomic sequence.
  636. config HW_PERF_EVENTS
  637. bool "Enable hardware performance counter support for perf events"
  638. depends on PERF_EVENTS && CPU_HAS_PMU
  639. default y
  640. help
  641. Enable hardware performance counter support for perf events. If
  642. disabled, perf events will use software events only.
  643. source "drivers/sh/Kconfig"
  644. endmenu
  645. menu "Boot options"
  646. config ZERO_PAGE_OFFSET
  647. hex
  648. default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
  649. SH_7751_SOLUTION_ENGINE
  650. default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
  651. default "0x00002000" if PAGE_SIZE_8KB
  652. default "0x00001000"
  653. help
  654. This sets the default offset of zero page.
  655. config BOOT_LINK_OFFSET
  656. hex
  657. default "0x00210000" if SH_SHMIN
  658. default "0x00400000" if SH_CAYMAN
  659. default "0x00810000" if SH_7780_SOLUTION_ENGINE
  660. default "0x009e0000" if SH_TITAN
  661. default "0x01800000" if SH_SDK7780
  662. default "0x02000000" if SH_EDOSK7760
  663. default "0x00800000"
  664. help
  665. This option allows you to set the link address offset of the zImage.
  666. This can be useful if you are on a board which has a small amount of
  667. memory.
  668. config ENTRY_OFFSET
  669. hex
  670. default "0x00001000" if PAGE_SIZE_4KB
  671. default "0x00002000" if PAGE_SIZE_8KB
  672. default "0x00004000" if PAGE_SIZE_16KB
  673. default "0x00010000" if PAGE_SIZE_64KB
  674. default "0x00000000"
  675. config ROMIMAGE_MMCIF
  676. bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
  677. depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
  678. help
  679. Say Y here to include experimental MMCIF loading code in
  680. romImage. With this enabled it is possible to write the romImage
  681. kernel image to an MMC card and boot the kernel straight from
  682. the reset vector. At reset the processor Mask ROM will load the
  683. first part of the romImage which in turn loads the rest the kernel
  684. image to RAM using the MMCIF hardware block.
  685. choice
  686. prompt "Kernel command line"
  687. optional
  688. default CMDLINE_OVERWRITE
  689. help
  690. Setting this option allows the kernel command line arguments
  691. to be set.
  692. config CMDLINE_OVERWRITE
  693. bool "Overwrite bootloader kernel arguments"
  694. help
  695. Given string will overwrite any arguments passed in by
  696. a bootloader.
  697. config CMDLINE_EXTEND
  698. bool "Extend bootloader kernel arguments"
  699. help
  700. Given string will be concatenated with arguments passed in
  701. by a bootloader.
  702. endchoice
  703. config CMDLINE
  704. string "Kernel command line arguments string"
  705. depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
  706. default "console=ttySC1,115200"
  707. endmenu
  708. menu "Bus options"
  709. config SUPERHYWAY
  710. tristate "SuperHyway Bus support"
  711. depends on CPU_SUBTYPE_SH4_202
  712. config MAPLE
  713. bool "Maple Bus support"
  714. depends on SH_DREAMCAST
  715. help
  716. The Maple Bus is SEGA's serial communication bus for peripherals
  717. on the Dreamcast. Without this bus support you won't be able to
  718. get your Dreamcast keyboard etc to work, so most users
  719. probably want to say 'Y' here, unless you are only using the
  720. Dreamcast with a serial line terminal or a remote network
  721. connection.
  722. config PCI
  723. bool "PCI support"
  724. depends on SYS_SUPPORTS_PCI
  725. select PCI_DOMAINS
  726. select GENERIC_PCI_IOMAP
  727. select NO_GENERIC_PCI_IOPORT_MAP
  728. help
  729. Find out whether you have a PCI motherboard. PCI is the name of a
  730. bus system, i.e. the way the CPU talks to the other stuff inside
  731. your box. If you have PCI, say Y, otherwise N.
  732. config PCI_DOMAINS
  733. bool
  734. source "drivers/pci/pcie/Kconfig"
  735. source "drivers/pci/Kconfig"
  736. source "drivers/pcmcia/Kconfig"
  737. source "drivers/pci/hotplug/Kconfig"
  738. endmenu
  739. menu "Executable file formats"
  740. source "fs/Kconfig.binfmt"
  741. endmenu
  742. menu "Power management options (EXPERIMENTAL)"
  743. depends on EXPERIMENTAL
  744. source "kernel/power/Kconfig"
  745. source "drivers/cpuidle/Kconfig"
  746. endmenu
  747. source "net/Kconfig"
  748. source "drivers/Kconfig"
  749. source "fs/Kconfig"
  750. source "arch/sh/Kconfig.debug"
  751. source "security/Kconfig"
  752. source "crypto/Kconfig"
  753. source "lib/Kconfig"