Kconfig 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795
  1. # SPDX-License-Identifier: GPL-2.0
  2. config SUPERH
  3. def_bool y
  4. select ARCH_32BIT_OFF_T
  5. select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU
  6. select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU
  7. select ARCH_HAVE_CUSTOM_GPIO_H
  8. select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
  9. select ARCH_HAS_BINFMT_FLAT if !MMU
  10. select ARCH_HAS_CPU_FINALIZE_INIT
  11. select ARCH_HAS_CURRENT_STACK_POINTER
  12. select ARCH_HAS_GIGANTIC_PAGE
  13. select ARCH_HAS_GCOV_PROFILE_ALL
  14. select ARCH_HAS_PTE_SPECIAL
  15. select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
  16. select ARCH_HIBERNATION_POSSIBLE if MMU
  17. select ARCH_MIGHT_HAVE_PC_PARPORT
  18. select ARCH_WANT_IPC_PARSE_VERSION
  19. select CPU_NO_EFFICIENT_FFS
  20. select DMA_DECLARE_COHERENT
  21. select GENERIC_ATOMIC64
  22. select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
  23. select GENERIC_IDLE_POLL_SETUP
  24. select GENERIC_IRQ_SHOW
  25. select GENERIC_PCI_IOMAP if PCI
  26. select GENERIC_SCHED_CLOCK
  27. select GENERIC_SMP_IDLE_THREAD
  28. select GUP_GET_PTE_LOW_HIGH if X2TLB
  29. select HAVE_ARCH_AUDITSYSCALL
  30. select HAVE_ARCH_KGDB
  31. select HAVE_ARCH_SECCOMP_FILTER
  32. select HAVE_ARCH_TRACEHOOK
  33. select HAVE_DEBUG_BUGVERBOSE
  34. select HAVE_DEBUG_KMEMLEAK
  35. select HAVE_DYNAMIC_FTRACE
  36. select HAVE_FAST_GUP if MMU
  37. select HAVE_FUNCTION_GRAPH_TRACER
  38. select HAVE_FUNCTION_TRACER
  39. select HAVE_FTRACE_MCOUNT_RECORD
  40. select HAVE_HW_BREAKPOINT
  41. select HAVE_IOREMAP_PROT if MMU && !X2TLB
  42. select HAVE_KERNEL_BZIP2
  43. select HAVE_KERNEL_GZIP
  44. select HAVE_KERNEL_LZMA
  45. select HAVE_KERNEL_LZO
  46. select HAVE_KERNEL_XZ
  47. select HAVE_KPROBES
  48. select HAVE_KRETPROBES
  49. select HAVE_MIXED_BREAKPOINTS_REGS
  50. select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
  51. select HAVE_NMI
  52. select HAVE_PATA_PLATFORM
  53. select HAVE_PERF_EVENTS
  54. select HAVE_REGS_AND_STACK_ACCESS_API
  55. select HAVE_UID16
  56. select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
  57. select HAVE_STACKPROTECTOR
  58. select HAVE_SYSCALL_TRACEPOINTS
  59. select IRQ_FORCED_THREADING
  60. select LOCK_MM_AND_FIND_VMA
  61. select MODULES_USE_ELF_RELA
  62. select NEED_SG_DMA_LENGTH
  63. select NO_DMA if !MMU && !DMA_COHERENT
  64. select NO_GENERIC_PCI_IOPORT_MAP if PCI
  65. select OLD_SIGACTION
  66. select OLD_SIGSUSPEND
  67. select PCI_DOMAINS if PCI
  68. select PERF_EVENTS
  69. select PERF_USE_VMALLOC
  70. select RTC_LIB
  71. select SPARSE_IRQ
  72. select TRACE_IRQFLAGS_SUPPORT
  73. help
  74. The SuperH is a RISC processor targeted for use in embedded systems
  75. and consumer electronics; it was also used in the Sega Dreamcast
  76. gaming console. The SuperH port has a home page at
  77. <http://www.linux-sh.org/>.
  78. config GENERIC_BUG
  79. def_bool y
  80. depends on BUG
  81. config GENERIC_HWEIGHT
  82. def_bool y
  83. config GENERIC_CALIBRATE_DELAY
  84. bool
  85. config GENERIC_LOCKBREAK
  86. def_bool y
  87. depends on SMP && PREEMPTION
  88. config ARCH_SUSPEND_POSSIBLE
  89. def_bool n
  90. config ARCH_HIBERNATION_POSSIBLE
  91. def_bool n
  92. config SYS_SUPPORTS_APM_EMULATION
  93. bool
  94. select ARCH_SUSPEND_POSSIBLE
  95. config SYS_SUPPORTS_SMP
  96. bool
  97. config SYS_SUPPORTS_NUMA
  98. bool
  99. config STACKTRACE_SUPPORT
  100. def_bool y
  101. config LOCKDEP_SUPPORT
  102. def_bool y
  103. config ARCH_HAS_ILOG2_U32
  104. def_bool n
  105. config ARCH_HAS_ILOG2_U64
  106. def_bool n
  107. config NO_IOPORT_MAP
  108. def_bool !PCI
  109. depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
  110. !SH_SOLUTION_ENGINE
  111. config IO_TRAPPED
  112. bool
  113. config SWAP_IO_SPACE
  114. bool
  115. config DMA_COHERENT
  116. bool
  117. config DMA_NONCOHERENT
  118. def_bool !NO_DMA && !DMA_COHERENT
  119. select ARCH_HAS_DMA_PREP_COHERENT
  120. select ARCH_HAS_SYNC_DMA_FOR_DEVICE
  121. select DMA_DIRECT_REMAP
  122. config PGTABLE_LEVELS
  123. default 3 if X2TLB
  124. default 2
  125. menu "System type"
  126. #
  127. # Processor families
  128. #
  129. config CPU_SH2
  130. bool
  131. select SH_INTC
  132. config CPU_SH2A
  133. bool
  134. select CPU_SH2
  135. select UNCACHED_MAPPING
  136. config CPU_J2
  137. bool
  138. select CPU_SH2
  139. select OF
  140. select OF_EARLY_FLATTREE
  141. config CPU_SH3
  142. bool
  143. select CPU_HAS_INTEVT
  144. select CPU_HAS_SR_RB
  145. select SH_INTC
  146. select SYS_SUPPORTS_SH_TMU
  147. config CPU_SH4
  148. bool
  149. select ARCH_SUPPORTS_HUGETLBFS if MMU
  150. select CPU_HAS_INTEVT
  151. select CPU_HAS_SR_RB
  152. select CPU_HAS_FPU if !CPU_SH4AL_DSP
  153. select SH_INTC
  154. select SYS_SUPPORTS_SH_TMU
  155. config CPU_SH4A
  156. bool
  157. select CPU_SH4
  158. config CPU_SH4AL_DSP
  159. bool
  160. select CPU_SH4A
  161. select CPU_HAS_DSP
  162. config CPU_SHX2
  163. bool
  164. config CPU_SHX3
  165. bool
  166. select DMA_COHERENT
  167. select SYS_SUPPORTS_SMP
  168. select SYS_SUPPORTS_NUMA
  169. config ARCH_SHMOBILE
  170. bool
  171. select ARCH_SUSPEND_POSSIBLE
  172. select PM
  173. config CPU_HAS_PMU
  174. depends on CPU_SH4 || CPU_SH4A
  175. default y
  176. bool
  177. choice
  178. prompt "Processor sub-type selection"
  179. #
  180. # Processor subtypes
  181. #
  182. # SH-2 Processor Support
  183. config CPU_SUBTYPE_SH7619
  184. bool "Support SH7619 processor"
  185. select CPU_SH2
  186. select SYS_SUPPORTS_SH_CMT
  187. config CPU_SUBTYPE_J2
  188. bool "Support J2 processor"
  189. select CPU_J2
  190. select SYS_SUPPORTS_SMP
  191. select GENERIC_CLOCKEVENTS_BROADCAST if SMP
  192. # SH-2A Processor Support
  193. config CPU_SUBTYPE_SH7201
  194. bool "Support SH7201 processor"
  195. select CPU_SH2A
  196. select CPU_HAS_FPU
  197. select SYS_SUPPORTS_SH_MTU2
  198. config CPU_SUBTYPE_SH7203
  199. bool "Support SH7203 processor"
  200. select CPU_SH2A
  201. select CPU_HAS_FPU
  202. select SYS_SUPPORTS_SH_CMT
  203. select SYS_SUPPORTS_SH_MTU2
  204. select PINCTRL
  205. config CPU_SUBTYPE_SH7206
  206. bool "Support SH7206 processor"
  207. select CPU_SH2A
  208. select SYS_SUPPORTS_SH_CMT
  209. select SYS_SUPPORTS_SH_MTU2
  210. config CPU_SUBTYPE_SH7263
  211. bool "Support SH7263 processor"
  212. select CPU_SH2A
  213. select CPU_HAS_FPU
  214. select SYS_SUPPORTS_SH_CMT
  215. select SYS_SUPPORTS_SH_MTU2
  216. config CPU_SUBTYPE_SH7264
  217. bool "Support SH7264 processor"
  218. select CPU_SH2A
  219. select CPU_HAS_FPU
  220. select SYS_SUPPORTS_SH_CMT
  221. select SYS_SUPPORTS_SH_MTU2
  222. select PINCTRL
  223. config CPU_SUBTYPE_SH7269
  224. bool "Support SH7269 processor"
  225. select CPU_SH2A
  226. select CPU_HAS_FPU
  227. select SYS_SUPPORTS_SH_CMT
  228. select SYS_SUPPORTS_SH_MTU2
  229. select PINCTRL
  230. config CPU_SUBTYPE_MXG
  231. bool "Support MX-G processor"
  232. select CPU_SH2A
  233. select SYS_SUPPORTS_SH_MTU2
  234. help
  235. Select MX-G if running on an R8A03022BG part.
  236. # SH-3 Processor Support
  237. config CPU_SUBTYPE_SH7705
  238. bool "Support SH7705 processor"
  239. select CPU_SH3
  240. config CPU_SUBTYPE_SH7706
  241. bool "Support SH7706 processor"
  242. select CPU_SH3
  243. help
  244. Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
  245. config CPU_SUBTYPE_SH7707
  246. bool "Support SH7707 processor"
  247. select CPU_SH3
  248. help
  249. Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
  250. config CPU_SUBTYPE_SH7708
  251. bool "Support SH7708 processor"
  252. select CPU_SH3
  253. help
  254. Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
  255. if you have a 100 Mhz SH-3 HD6417708R CPU.
  256. config CPU_SUBTYPE_SH7709
  257. bool "Support SH7709 processor"
  258. select CPU_SH3
  259. help
  260. Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
  261. config CPU_SUBTYPE_SH7710
  262. bool "Support SH7710 processor"
  263. select CPU_SH3
  264. select CPU_HAS_DSP
  265. help
  266. Select SH7710 if you have a SH3-DSP SH7710 CPU.
  267. config CPU_SUBTYPE_SH7712
  268. bool "Support SH7712 processor"
  269. select CPU_SH3
  270. select CPU_HAS_DSP
  271. help
  272. Select SH7712 if you have a SH3-DSP SH7712 CPU.
  273. config CPU_SUBTYPE_SH7720
  274. bool "Support SH7720 processor"
  275. select CPU_SH3
  276. select CPU_HAS_DSP
  277. select SYS_SUPPORTS_SH_CMT
  278. select USB_OHCI_SH if USB_OHCI_HCD
  279. select PINCTRL
  280. help
  281. Select SH7720 if you have a SH3-DSP SH7720 CPU.
  282. config CPU_SUBTYPE_SH7721
  283. bool "Support SH7721 processor"
  284. select CPU_SH3
  285. select CPU_HAS_DSP
  286. select SYS_SUPPORTS_SH_CMT
  287. select USB_OHCI_SH if USB_OHCI_HCD
  288. help
  289. Select SH7721 if you have a SH3-DSP SH7721 CPU.
  290. # SH-4 Processor Support
  291. config CPU_SUBTYPE_SH7750
  292. bool "Support SH7750 processor"
  293. select CPU_SH4
  294. help
  295. Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
  296. config CPU_SUBTYPE_SH7091
  297. bool "Support SH7091 processor"
  298. select CPU_SH4
  299. help
  300. Select SH7091 if you have an SH-4 based Sega device (such as
  301. the Dreamcast, Naomi, and Naomi 2).
  302. config CPU_SUBTYPE_SH7750R
  303. bool "Support SH7750R processor"
  304. select CPU_SH4
  305. config CPU_SUBTYPE_SH7750S
  306. bool "Support SH7750S processor"
  307. select CPU_SH4
  308. config CPU_SUBTYPE_SH7751
  309. bool "Support SH7751 processor"
  310. select CPU_SH4
  311. help
  312. Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
  313. or if you have a HD6417751R CPU.
  314. config CPU_SUBTYPE_SH7751R
  315. bool "Support SH7751R processor"
  316. select CPU_SH4
  317. config CPU_SUBTYPE_SH7760
  318. bool "Support SH7760 processor"
  319. select CPU_SH4
  320. config CPU_SUBTYPE_SH4_202
  321. bool "Support SH4-202 processor"
  322. select CPU_SH4
  323. # SH-4A Processor Support
  324. config CPU_SUBTYPE_SH7723
  325. bool "Support SH7723 processor"
  326. select CPU_SH4A
  327. select CPU_SHX2
  328. select ARCH_SHMOBILE
  329. select ARCH_SPARSEMEM_ENABLE
  330. select SYS_SUPPORTS_SH_CMT
  331. select PINCTRL
  332. help
  333. Select SH7723 if you have an SH-MobileR2 CPU.
  334. config CPU_SUBTYPE_SH7724
  335. bool "Support SH7724 processor"
  336. select CPU_SH4A
  337. select CPU_SHX2
  338. select ARCH_SHMOBILE
  339. select ARCH_SPARSEMEM_ENABLE
  340. select SYS_SUPPORTS_SH_CMT
  341. select PINCTRL
  342. help
  343. Select SH7724 if you have an SH-MobileR2R CPU.
  344. config CPU_SUBTYPE_SH7734
  345. bool "Support SH7734 processor"
  346. select CPU_SH4A
  347. select CPU_SHX2
  348. select PINCTRL
  349. help
  350. Select SH7734 if you have a SH4A SH7734 CPU.
  351. config CPU_SUBTYPE_SH7757
  352. bool "Support SH7757 processor"
  353. select CPU_SH4A
  354. select CPU_SHX2
  355. select PINCTRL
  356. help
  357. Select SH7757 if you have a SH4A SH7757 CPU.
  358. config CPU_SUBTYPE_SH7763
  359. bool "Support SH7763 processor"
  360. select CPU_SH4A
  361. select USB_OHCI_SH if USB_OHCI_HCD
  362. help
  363. Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
  364. config CPU_SUBTYPE_SH7770
  365. bool "Support SH7770 processor"
  366. select CPU_SH4A
  367. config CPU_SUBTYPE_SH7780
  368. bool "Support SH7780 processor"
  369. select CPU_SH4A
  370. config CPU_SUBTYPE_SH7785
  371. bool "Support SH7785 processor"
  372. select CPU_SH4A
  373. select CPU_SHX2
  374. select ARCH_SPARSEMEM_ENABLE
  375. select SYS_SUPPORTS_NUMA
  376. select PINCTRL
  377. config CPU_SUBTYPE_SH7786
  378. bool "Support SH7786 processor"
  379. select CPU_SH4A
  380. select CPU_SHX3
  381. select CPU_HAS_PTEAEX
  382. select GENERIC_CLOCKEVENTS_BROADCAST if SMP
  383. select USB_OHCI_SH if USB_OHCI_HCD
  384. select USB_EHCI_SH if USB_EHCI_HCD
  385. select PINCTRL
  386. config CPU_SUBTYPE_SHX3
  387. bool "Support SH-X3 processor"
  388. select CPU_SH4A
  389. select CPU_SHX3
  390. select GENERIC_CLOCKEVENTS_BROADCAST if SMP
  391. select GPIOLIB
  392. select PINCTRL
  393. # SH4AL-DSP Processor Support
  394. config CPU_SUBTYPE_SH7343
  395. bool "Support SH7343 processor"
  396. select CPU_SH4AL_DSP
  397. select ARCH_SHMOBILE
  398. select SYS_SUPPORTS_SH_CMT
  399. config CPU_SUBTYPE_SH7722
  400. bool "Support SH7722 processor"
  401. select CPU_SH4AL_DSP
  402. select CPU_SHX2
  403. select ARCH_SHMOBILE
  404. select ARCH_SPARSEMEM_ENABLE
  405. select SYS_SUPPORTS_NUMA
  406. select SYS_SUPPORTS_SH_CMT
  407. select PINCTRL
  408. config CPU_SUBTYPE_SH7366
  409. bool "Support SH7366 processor"
  410. select CPU_SH4AL_DSP
  411. select CPU_SHX2
  412. select ARCH_SHMOBILE
  413. select ARCH_SPARSEMEM_ENABLE
  414. select SYS_SUPPORTS_NUMA
  415. select SYS_SUPPORTS_SH_CMT
  416. endchoice
  417. source "arch/sh/mm/Kconfig"
  418. source "arch/sh/Kconfig.cpu"
  419. source "arch/sh/boards/Kconfig"
  420. menu "Timer and clock configuration"
  421. config SH_PCLK_FREQ
  422. int "Peripheral clock frequency (in Hz)"
  423. depends on SH_CLK_CPG_LEGACY
  424. default "31250000" if CPU_SUBTYPE_SH7619
  425. default "33333333" if CPU_SUBTYPE_SH7770 || \
  426. CPU_SUBTYPE_SH7760 || \
  427. CPU_SUBTYPE_SH7705 || \
  428. CPU_SUBTYPE_SH7203 || \
  429. CPU_SUBTYPE_SH7206 || \
  430. CPU_SUBTYPE_SH7263 || \
  431. CPU_SUBTYPE_MXG
  432. default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
  433. default "66000000" if CPU_SUBTYPE_SH4_202
  434. default "50000000"
  435. help
  436. This option is used to specify the peripheral clock frequency.
  437. This is necessary for determining the reference clock value on
  438. platforms lacking an RTC.
  439. config SH_CLK_CPG
  440. def_bool y
  441. config SH_CLK_CPG_LEGACY
  442. depends on SH_CLK_CPG
  443. def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
  444. !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
  445. !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
  446. !CPU_SUBTYPE_SH7269
  447. endmenu
  448. menu "CPU Frequency scaling"
  449. source "drivers/cpufreq/Kconfig"
  450. endmenu
  451. source "arch/sh/drivers/Kconfig"
  452. endmenu
  453. menu "Kernel features"
  454. source "kernel/Kconfig.hz"
  455. config KEXEC
  456. bool "kexec system call (EXPERIMENTAL)"
  457. depends on MMU
  458. select KEXEC_CORE
  459. help
  460. kexec is a system call that implements the ability to shutdown your
  461. current kernel, and to start another kernel. It is like a reboot
  462. but it is independent of the system firmware. And like a reboot
  463. you can start any kernel with it, not just Linux.
  464. The name comes from the similarity to the exec system call.
  465. It is an ongoing process to be certain the hardware in a machine
  466. is properly shutdown, so do not be surprised if this code does not
  467. initially work for you. As of this writing the exact hardware
  468. interface is strongly in flux, so no good recommendation can be
  469. made.
  470. config CRASH_DUMP
  471. bool "kernel crash dumps (EXPERIMENTAL)"
  472. depends on BROKEN_ON_SMP
  473. help
  474. Generate crash dump after being started by kexec.
  475. This should be normally only set in special crash dump kernels
  476. which are loaded in the main kernel with kexec-tools into
  477. a specially reserved region and then later executed after
  478. a crash by kdump/kexec. The crash dump kernel must be compiled
  479. to a memory address not used by the main kernel using
  480. PHYSICAL_START.
  481. For more details see Documentation/admin-guide/kdump/kdump.rst
  482. config KEXEC_JUMP
  483. bool "kexec jump (EXPERIMENTAL)"
  484. depends on KEXEC && HIBERNATION
  485. help
  486. Jump between original kernel and kexeced kernel and invoke
  487. code via KEXEC
  488. config PHYSICAL_START
  489. hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
  490. default MEMORY_START
  491. help
  492. This gives the physical address where the kernel is loaded
  493. and is ordinarily the same as MEMORY_START.
  494. Different values are primarily used in the case of kexec on panic
  495. where the fail safe kernel needs to run at a different address
  496. than the panic-ed kernel.
  497. config SMP
  498. bool "Symmetric multi-processing support"
  499. depends on SYS_SUPPORTS_SMP
  500. help
  501. This enables support for systems with more than one CPU. If you have
  502. a system with only one CPU, say N. If you have a system with more
  503. than one CPU, say Y.
  504. If you say N here, the kernel will run on uni- and multiprocessor
  505. machines, but will use only one CPU of a multiprocessor machine. If
  506. you say Y here, the kernel will run on many, but not all,
  507. uniprocessor machines. On a uniprocessor machine, the kernel
  508. will run faster if you say N here.
  509. People using multiprocessor machines who say Y here should also say
  510. Y to "Enhanced Real Time Clock Support", below.
  511. See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
  512. available at <https://www.tldp.org/docs.html#howto>.
  513. If you don't know what to do here, say N.
  514. config NR_CPUS
  515. int "Maximum number of CPUs (2-32)"
  516. range 2 32
  517. depends on SMP
  518. default "4" if CPU_SUBTYPE_SHX3
  519. default "2"
  520. help
  521. This allows you to specify the maximum number of CPUs which this
  522. kernel will support. The maximum supported value is 32 and the
  523. minimum value which makes sense is 2.
  524. This is purely to save memory - each supported CPU adds
  525. approximately eight kilobytes to the kernel image.
  526. config HOTPLUG_CPU
  527. bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
  528. depends on SMP
  529. help
  530. Say Y here to experiment with turning CPUs off and on. CPUs
  531. can be controlled through /sys/devices/system/cpu.
  532. config GUSA
  533. def_bool y
  534. depends on !SMP
  535. help
  536. This enables support for gUSA (general UserSpace Atomicity).
  537. This is the default implementation for both UP and non-ll/sc
  538. CPUs, and is used by the libc, amongst others.
  539. For additional information, design information can be found
  540. in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
  541. This should only be disabled for special cases where alternate
  542. atomicity implementations exist.
  543. config GUSA_RB
  544. bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
  545. depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
  546. help
  547. Enabling this option will allow the kernel to implement some
  548. atomic operations using a software implementation of load-locked/
  549. store-conditional (LLSC). On machines which do not have hardware
  550. LLSC, this should be more efficient than the other alternative of
  551. disabling interrupts around the atomic sequence.
  552. config HW_PERF_EVENTS
  553. bool "Enable hardware performance counter support for perf events"
  554. depends on PERF_EVENTS && CPU_HAS_PMU
  555. default y
  556. help
  557. Enable hardware performance counter support for perf events. If
  558. disabled, perf events will use software events only.
  559. source "drivers/sh/Kconfig"
  560. endmenu
  561. menu "Boot options"
  562. config USE_BUILTIN_DTB
  563. bool "Use builtin DTB"
  564. default n
  565. depends on SH_DEVICE_TREE
  566. help
  567. Link a device tree blob for particular hardware into the kernel,
  568. suppressing use of the DTB pointer provided by the bootloader.
  569. This option should only be used with legacy bootloaders that are
  570. not capable of providing a DTB to the kernel, or for experimental
  571. hardware without stable device tree bindings.
  572. config BUILTIN_DTB_SOURCE
  573. string "Source file for builtin DTB"
  574. default ""
  575. depends on USE_BUILTIN_DTB
  576. help
  577. Base name (without suffix, relative to arch/sh/boot/dts) for the
  578. a DTS file that will be used to produce the DTB linked into the
  579. kernel.
  580. config ZERO_PAGE_OFFSET
  581. hex
  582. default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
  583. SH_7751_SOLUTION_ENGINE
  584. default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
  585. default "0x00002000" if PAGE_SIZE_8KB
  586. default "0x00001000"
  587. help
  588. This sets the default offset of zero page.
  589. config BOOT_LINK_OFFSET
  590. hex
  591. default "0x00210000" if SH_SHMIN
  592. default "0x00810000" if SH_7780_SOLUTION_ENGINE
  593. default "0x009e0000" if SH_TITAN
  594. default "0x01800000" if SH_SDK7780
  595. default "0x02000000" if SH_EDOSK7760
  596. default "0x00800000"
  597. help
  598. This option allows you to set the link address offset of the zImage.
  599. This can be useful if you are on a board which has a small amount of
  600. memory.
  601. config ENTRY_OFFSET
  602. hex
  603. default "0x00001000" if PAGE_SIZE_4KB
  604. default "0x00002000" if PAGE_SIZE_8KB
  605. default "0x00004000" if PAGE_SIZE_16KB
  606. default "0x00010000" if PAGE_SIZE_64KB
  607. default "0x00000000"
  608. config ROMIMAGE_MMCIF
  609. bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
  610. depends on CPU_SUBTYPE_SH7724
  611. help
  612. Say Y here to include experimental MMCIF loading code in
  613. romImage. With this enabled it is possible to write the romImage
  614. kernel image to an MMC card and boot the kernel straight from
  615. the reset vector. At reset the processor Mask ROM will load the
  616. first part of the romImage which in turn loads the rest the kernel
  617. image to RAM using the MMCIF hardware block.
  618. choice
  619. prompt "Kernel command line"
  620. optional
  621. default CMDLINE_OVERWRITE
  622. help
  623. Setting this option allows the kernel command line arguments
  624. to be set.
  625. config CMDLINE_OVERWRITE
  626. bool "Overwrite bootloader kernel arguments"
  627. help
  628. Given string will overwrite any arguments passed in by
  629. a bootloader.
  630. config CMDLINE_EXTEND
  631. bool "Extend bootloader kernel arguments"
  632. help
  633. Given string will be concatenated with arguments passed in
  634. by a bootloader.
  635. endchoice
  636. config CMDLINE
  637. string "Kernel command line arguments string"
  638. depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
  639. default "console=ttySC1,115200"
  640. endmenu
  641. menu "Bus options"
  642. config SUPERHYWAY
  643. tristate "SuperHyway Bus support"
  644. depends on CPU_SUBTYPE_SH4_202
  645. config MAPLE
  646. bool "Maple Bus support"
  647. depends on SH_DREAMCAST
  648. help
  649. The Maple Bus is SEGA's serial communication bus for peripherals
  650. on the Dreamcast. Without this bus support you won't be able to
  651. get your Dreamcast keyboard etc to work, so most users
  652. probably want to say 'Y' here, unless you are only using the
  653. Dreamcast with a serial line terminal or a remote network
  654. connection.
  655. endmenu
  656. menu "Power management options (EXPERIMENTAL)"
  657. source "kernel/power/Kconfig"
  658. source "drivers/cpuidle/Kconfig"
  659. endmenu