]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/sh/Kconfig
powerpc32/bpf: Fix codegen for bpf-to-bpf calls
[mirror_ubuntu-jammy-kernel.git] / arch / sh / Kconfig
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
1da177e4 2config SUPERH
ea0e1a9a 3 def_bool y
582dc536 4 select ARCH_32BIT_OFF_T
91024b3c
AK
5 select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU
6 select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU
582dc536
CH
7 select ARCH_HAVE_CUSTOM_GPIO_H
8 select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
aef0f78e 9 select ARCH_HAS_BINFMT_FLAT if !MMU
582dc536
CH
10 select ARCH_HAS_GIGANTIC_PAGE
11 select ARCH_HAS_GCOV_PROFILE_ALL
3010a5ea 12 select ARCH_HAS_PTE_SPECIAL
45624ac3 13 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
582dc536 14 select ARCH_HIBERNATION_POSSIBLE if MMU
09d8dd93 15 select ARCH_MIGHT_HAVE_PC_PARPORT
582dc536 16 select ARCH_WANT_IPC_PARSE_VERSION
582dc536 17 select CPU_NO_EFFICIENT_FFS
ff4c25f2 18 select DMA_DECLARE_COHERENT
582dc536 19 select GENERIC_ATOMIC64
582dc536
CH
20 select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
21 select GENERIC_IDLE_POLL_SETUP
22 select GENERIC_IRQ_SHOW
23 select GENERIC_PCI_IOMAP if PCI
24 select GENERIC_SCHED_CLOCK
582dc536
CH
25 select GENERIC_SMP_IDLE_THREAD
26 select GUP_GET_PTE_LOW_HIGH if X2TLB
27 select HAVE_ARCH_AUDITSYSCALL
28 select HAVE_ARCH_KGDB
0bb605c2 29 select HAVE_ARCH_SECCOMP_FILTER
d7b01f78 30 select HAVE_ARCH_TRACEHOOK
9b2a60c4 31 select HAVE_DEBUG_BUGVERBOSE
b69ec42b 32 select HAVE_DEBUG_KMEMLEAK
582dc536
CH
33 select HAVE_DYNAMIC_FTRACE
34 select HAVE_FAST_GUP if MMU
35 select HAVE_FUNCTION_GRAPH_TRACER
36 select HAVE_FUNCTION_TRACER
37 select HAVE_FUTEX_CMPXCHG if FUTEX
38 select HAVE_FTRACE_MCOUNT_RECORD
39 select HAVE_HW_BREAKPOINT
582dc536 40 select HAVE_IOREMAP_PROT if MMU && !X2TLB
07e88e1b 41 select HAVE_KERNEL_BZIP2
582dc536 42 select HAVE_KERNEL_GZIP
07e88e1b 43 select HAVE_KERNEL_LZMA
c7b16efb 44 select HAVE_KERNEL_LZO
582dc536
CH
45 select HAVE_KERNEL_XZ
46 select HAVE_KPROBES
47 select HAVE_KRETPROBES
48 select HAVE_MIXED_BREAKPOINTS_REGS
49 select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
50 select HAVE_NMI
582dc536
CH
51 select HAVE_PATA_PLATFORM
52 select HAVE_PERF_EVENTS
53 select HAVE_REGS_AND_STACK_ACCESS_API
af1839eb 54 select HAVE_UID16
cd1a41ce 55 select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
582dc536 56 select HAVE_STACKPROTECTOR
a74f7e04 57 select HAVE_SYSCALL_TRACEPOINTS
ed170924 58 select IRQ_FORCED_THREADING
582dc536 59 select MAY_HAVE_SPARSE_IRQ
786d35d4 60 select MODULES_USE_ELF_RELA
582dc536 61 select NEED_SG_DMA_LENGTH
cd57d07b 62 select NO_DMA if !MMU && !DMA_COHERENT
eb01d42a 63 select NO_GENERIC_PCI_IOPORT_MAP if PCI
0679a858 64 select OLD_SIGACTION
582dc536 65 select OLD_SIGSUSPEND
eb01d42a 66 select PCI_DOMAINS if PCI
e583d6b3 67 select PERF_EVENTS
582dc536
CH
68 select PERF_USE_VMALLOC
69 select RTC_LIB
5e6e9852 70 select SET_FS
57b81330 71 select SPARSE_IRQ
4aae683f 72 select TRACE_IRQFLAGS_SUPPORT
37744fee
AB
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/>.
39d28a2d 78
fa691511
PM
79config GENERIC_BUG
80 def_bool y
37744fee 81 depends on BUG
3767f3f1 82
e2268c71 83config GENERIC_HWEIGHT
d7ef4fb3 84 def_bool y
e2268c71 85
1da177e4 86config GENERIC_CALIBRATE_DELAY
cf204fa7 87 bool
1da177e4 88
bdcab87b
PM
89config GENERIC_LOCKBREAK
90 def_bool y
7be60ccb 91 depends on SMP && PREEMPTION
bdcab87b 92
af998a9a
MD
93config ARCH_SUSPEND_POSSIBLE
94 def_bool n
95
96config ARCH_HIBERNATION_POSSIBLE
97 def_bool n
357d5946 98
0a9b0db1
PM
99config SYS_SUPPORTS_APM_EMULATION
100 bool
af998a9a 101 select ARCH_SUSPEND_POSSIBLE
357d5946
PM
102
103config SYS_SUPPORTS_SMP
104 bool
105
106config SYS_SUPPORTS_NUMA
107 bool
108
afbfb52e 109config STACKTRACE_SUPPORT
d7ef4fb3 110 def_bool y
afbfb52e
PM
111
112config LOCKDEP_SUPPORT
d7ef4fb3 113 def_bool y
afbfb52e 114
f0d1b0b3 115config ARCH_HAS_ILOG2_U32
d7ef4fb3 116 def_bool n
f0d1b0b3
DH
117
118config ARCH_HAS_ILOG2_U64
d7ef4fb3 119 def_bool n
f0d1b0b3 120
ce816fa8 121config NO_IOPORT_MAP
37b7a978 122 def_bool !PCI
8a8e5462
GU
123 depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
124 !SH_SOLUTION_ENGINE
86e4dd5a 125
e7cc9a73
MD
126config IO_TRAPPED
127 bool
128
b7e68d68
PM
129config SWAP_IO_SPACE
130 bool
131
01be5d63
PM
132config DMA_COHERENT
133 bool
134
135config DMA_NONCOHERENT
cd57d07b 136 def_bool !NO_DMA && !DMA_COHERENT
6dfdf673 137 select ARCH_HAS_DMA_PREP_COHERENT
6fa1d28e 138 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
6dfdf673 139 select DMA_DIRECT_REMAP
01be5d63 140
69543d63
KS
141config PGTABLE_LEVELS
142 default 3 if X2TLB
143 default 2
144
1da177e4
LT
145menu "System type"
146
b5f42db0
PM
147#
148# Processor families
149#
150config CPU_SH2
151 bool
049d2804 152 select SH_INTC
b5f42db0
PM
153
154config CPU_SH2A
155 bool
156 select CPU_SH2
e2fcf74f 157 select UNCACHED_MAPPING
b5f42db0 158
5a846aba
RF
159config CPU_J2
160 bool
161 select CPU_SH2
162 select OF
163 select OF_EARLY_FLATTREE
164
b5f42db0
PM
165config CPU_SH3
166 bool
167 select CPU_HAS_INTEVT
168 select CPU_HAS_SR_RB
049d2804 169 select SH_INTC
fbfa8934 170 select SYS_SUPPORTS_SH_TMU
b5f42db0
PM
171
172config CPU_SH4
173 bool
855f9a8e 174 select ARCH_SUPPORTS_HUGETLBFS if MMU
b5f42db0
PM
175 select CPU_HAS_INTEVT
176 select CPU_HAS_SR_RB
b5f42db0 177 select CPU_HAS_FPU if !CPU_SH4AL_DSP
049d2804 178 select SH_INTC
fbfa8934 179 select SYS_SUPPORTS_SH_TMU
b5f42db0
PM
180
181config CPU_SH4A
182 bool
183 select CPU_SH4
184
185config CPU_SH4AL_DSP
186 bool
187 select CPU_SH4A
188 select CPU_HAS_DSP
189
190config CPU_SHX2
191 bool
192
193config CPU_SHX3
194 bool
01be5d63 195 select DMA_COHERENT
4b478ee2
PM
196 select SYS_SUPPORTS_SMP
197 select SYS_SUPPORTS_NUMA
b5f42db0 198
dc65a977
PM
199config ARCH_SHMOBILE
200 bool
77594912 201 select ARCH_SUSPEND_POSSIBLE
464ed18e 202 select PM
dc65a977 203
86c8c047
MF
204config CPU_HAS_PMU
205 depends on CPU_SH4 || CPU_SH4A
206 default y
207 bool
208
b5f42db0
PM
209choice
210 prompt "Processor sub-type selection"
211
212#
213# Processor subtypes
214#
215
216# SH-2 Processor Support
217
218config CPU_SUBTYPE_SH7619
219 bool "Support SH7619 processor"
220 select CPU_SH2
fbfa8934 221 select SYS_SUPPORTS_SH_CMT
b5f42db0 222
5a846aba
RF
223config CPU_SUBTYPE_J2
224 bool "Support J2 processor"
225 select CPU_J2
b4214e41
RF
226 select SYS_SUPPORTS_SMP
227 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
5a846aba 228
b5f42db0
PM
229# SH-2A Processor Support
230
2825999e
PG
231config CPU_SUBTYPE_SH7201
232 bool "Support SH7201 processor"
233 select CPU_SH2A
234 select CPU_HAS_FPU
fbfa8934 235 select SYS_SUPPORTS_SH_MTU2
2825999e 236
6d01f510
PM
237config CPU_SUBTYPE_SH7203
238 bool "Support SH7203 processor"
239 select CPU_SH2A
74d99a5e 240 select CPU_HAS_FPU
fbfa8934
MD
241 select SYS_SUPPORTS_SH_CMT
242 select SYS_SUPPORTS_SH_MTU2
b768ecbc 243 select PINCTRL
6d01f510 244
b5f42db0
PM
245config CPU_SUBTYPE_SH7206
246 bool "Support SH7206 processor"
247 select CPU_SH2A
fbfa8934
MD
248 select SYS_SUPPORTS_SH_CMT
249 select SYS_SUPPORTS_SH_MTU2
b5f42db0 250
a8f67f4b
PM
251config CPU_SUBTYPE_SH7263
252 bool "Support SH7263 processor"
253 select CPU_SH2A
74d99a5e 254 select CPU_HAS_FPU
fbfa8934
MD
255 select SYS_SUPPORTS_SH_CMT
256 select SYS_SUPPORTS_SH_MTU2
a8f67f4b 257
51ce3068
PE
258config CPU_SUBTYPE_SH7264
259 bool "Support SH7264 processor"
260 select CPU_SH2A
261 select CPU_HAS_FPU
fbfa8934
MD
262 select SYS_SUPPORTS_SH_CMT
263 select SYS_SUPPORTS_SH_MTU2
5946e7bb 264 select PINCTRL
51ce3068 265
0b25b7c8
PE
266config CPU_SUBTYPE_SH7269
267 bool "Support SH7269 processor"
268 select CPU_SH2A
269 select CPU_HAS_FPU
fbfa8934
MD
270 select SYS_SUPPORTS_SH_CMT
271 select SYS_SUPPORTS_SH_MTU2
fb872fcc 272 select PINCTRL
0b25b7c8 273
2ad69908
PM
274config CPU_SUBTYPE_MXG
275 bool "Support MX-G processor"
276 select CPU_SH2A
fbfa8934 277 select SYS_SUPPORTS_SH_MTU2
2ad69908
PM
278 help
279 Select MX-G if running on an R8A03022BG part.
280
b5f42db0
PM
281# SH-3 Processor Support
282
283config CPU_SUBTYPE_SH7705
284 bool "Support SH7705 processor"
285 select CPU_SH3
286
287config CPU_SUBTYPE_SH7706
288 bool "Support SH7706 processor"
289 select CPU_SH3
290 help
291 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
292
293config CPU_SUBTYPE_SH7707
294 bool "Support SH7707 processor"
295 select CPU_SH3
296 help
297 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
298
299config CPU_SUBTYPE_SH7708
300 bool "Support SH7708 processor"
301 select CPU_SH3
302 help
303 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
304 if you have a 100 Mhz SH-3 HD6417708R CPU.
305
306config CPU_SUBTYPE_SH7709
307 bool "Support SH7709 processor"
308 select CPU_SH3
309 help
310 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
311
312config CPU_SUBTYPE_SH7710
313 bool "Support SH7710 processor"
314 select CPU_SH3
315 select CPU_HAS_DSP
316 help
317 Select SH7710 if you have a SH3-DSP SH7710 CPU.
318
319config CPU_SUBTYPE_SH7712
320 bool "Support SH7712 processor"
321 select CPU_SH3
322 select CPU_HAS_DSP
323 help
324 Select SH7712 if you have a SH3-DSP SH7712 CPU.
325
326config CPU_SUBTYPE_SH7720
327 bool "Support SH7720 processor"
328 select CPU_SH3
329 select CPU_HAS_DSP
fbfa8934 330 select SYS_SUPPORTS_SH_CMT
7b61ca5d 331 select USB_OHCI_SH if USB_OHCI_HCD
85db6bff 332 select PINCTRL
b5f42db0
PM
333 help
334 Select SH7720 if you have a SH3-DSP SH7720 CPU.
335
31a49c4b
YS
336config CPU_SUBTYPE_SH7721
337 bool "Support SH7721 processor"
338 select CPU_SH3
339 select CPU_HAS_DSP
fbfa8934 340 select SYS_SUPPORTS_SH_CMT
7b61ca5d 341 select USB_OHCI_SH if USB_OHCI_HCD
31a49c4b
YS
342 help
343 Select SH7721 if you have a SH3-DSP SH7721 CPU.
344
b5f42db0
PM
345# SH-4 Processor Support
346
347config CPU_SUBTYPE_SH7750
348 bool "Support SH7750 processor"
349 select CPU_SH4
350 help
351 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
352
353config CPU_SUBTYPE_SH7091
354 bool "Support SH7091 processor"
355 select CPU_SH4
356 help
357 Select SH7091 if you have an SH-4 based Sega device (such as
358 the Dreamcast, Naomi, and Naomi 2).
359
360config CPU_SUBTYPE_SH7750R
361 bool "Support SH7750R processor"
362 select CPU_SH4
363
364config CPU_SUBTYPE_SH7750S
365 bool "Support SH7750S processor"
366 select CPU_SH4
367
368config CPU_SUBTYPE_SH7751
369 bool "Support SH7751 processor"
370 select CPU_SH4
371 help
372 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
373 or if you have a HD6417751R CPU.
374
375config CPU_SUBTYPE_SH7751R
376 bool "Support SH7751R processor"
377 select CPU_SH4
378
379config CPU_SUBTYPE_SH7760
380 bool "Support SH7760 processor"
381 select CPU_SH4
382
383config CPU_SUBTYPE_SH4_202
384 bool "Support SH4-202 processor"
385 select CPU_SH4
386
387# SH-4A Processor Support
388
178dd0cd
PM
389config CPU_SUBTYPE_SH7723
390 bool "Support SH7723 processor"
391 select CPU_SH4A
392 select CPU_SHX2
dc65a977 393 select ARCH_SHMOBILE
178dd0cd 394 select ARCH_SPARSEMEM_ENABLE
fbfa8934 395 select SYS_SUPPORTS_SH_CMT
16941a89 396 select PINCTRL
178dd0cd
PM
397 help
398 Select SH7723 if you have an SH-MobileR2 CPU.
399
0207a2ef
KM
400config CPU_SUBTYPE_SH7724
401 bool "Support SH7724 processor"
402 select CPU_SH4A
403 select CPU_SHX2
59fe700d 404 select ARCH_SHMOBILE
0207a2ef 405 select ARCH_SPARSEMEM_ENABLE
fbfa8934 406 select SYS_SUPPORTS_SH_CMT
18ebd228 407 select PINCTRL
0207a2ef
KM
408 help
409 Select SH7724 if you have an SH-MobileR2R CPU.
410
fea88a0c
NI
411config CPU_SUBTYPE_SH7734
412 bool "Support SH7734 processor"
413 select CPU_SH4A
414 select CPU_SHX2
2c172182 415 select PINCTRL
fea88a0c
NI
416 help
417 Select SH7734 if you have a SH4A SH7734 CPU.
418
c01f0f1a
YS
419config CPU_SUBTYPE_SH7757
420 bool "Support SH7757 processor"
421 select CPU_SH4A
422 select CPU_SHX2
eb61b772 423 select PINCTRL
c01f0f1a
YS
424 help
425 Select SH7757 if you have a SH4A SH7757 CPU.
426
7d740a06
YS
427config CPU_SUBTYPE_SH7763
428 bool "Support SH7763 processor"
429 select CPU_SH4A
7b61ca5d 430 select USB_OHCI_SH if USB_OHCI_HCD
7d740a06
YS
431 help
432 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
433
b5f42db0
PM
434config CPU_SUBTYPE_SH7770
435 bool "Support SH7770 processor"
436 select CPU_SH4A
437
438config CPU_SUBTYPE_SH7780
439 bool "Support SH7780 processor"
440 select CPU_SH4A
441
442config CPU_SUBTYPE_SH7785
443 bool "Support SH7785 processor"
444 select CPU_SH4A
445 select CPU_SHX2
55ba99eb
KM
446 select ARCH_SPARSEMEM_ENABLE
447 select SYS_SUPPORTS_NUMA
77bd27b2 448 select PINCTRL
55ba99eb
KM
449
450config CPU_SUBTYPE_SH7786
451 bool "Support SH7786 processor"
452 select CPU_SH4A
37042fbd 453 select CPU_SHX3
8263a67e 454 select CPU_HAS_PTEAEX
2eb2a436 455 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
7b61ca5d 456 select USB_OHCI_SH if USB_OHCI_HCD
7b61ca5d 457 select USB_EHCI_SH if USB_EHCI_HCD
c0fdbff9 458 select PINCTRL
b5f42db0
PM
459
460config CPU_SUBTYPE_SHX3
461 bool "Support SH-X3 processor"
462 select CPU_SH4A
463 select CPU_SHX3
5840263e 464 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
fdcfdfa1 465 select GPIOLIB
3e347f08 466 select PINCTRL
b5f42db0
PM
467
468# SH4AL-DSP Processor Support
469
470config CPU_SUBTYPE_SH7343
471 bool "Support SH7343 processor"
472 select CPU_SH4AL_DSP
dc65a977 473 select ARCH_SHMOBILE
fbfa8934 474 select SYS_SUPPORTS_SH_CMT
b5f42db0
PM
475
476config CPU_SUBTYPE_SH7722
477 bool "Support SH7722 processor"
478 select CPU_SH4AL_DSP
479 select CPU_SHX2
dc65a977 480 select ARCH_SHMOBILE
b5f42db0
PM
481 select ARCH_SPARSEMEM_ENABLE
482 select SYS_SUPPORTS_NUMA
fbfa8934 483 select SYS_SUPPORTS_SH_CMT
ef97c3c1 484 select PINCTRL
9109a30e
MD
485
486config CPU_SUBTYPE_SH7366
487 bool "Support SH7366 processor"
488 select CPU_SH4AL_DSP
489 select CPU_SHX2
dc65a977 490 select ARCH_SHMOBILE
9109a30e
MD
491 select ARCH_SPARSEMEM_ENABLE
492 select SYS_SUPPORTS_NUMA
fbfa8934 493 select SYS_SUPPORTS_SH_CMT
b5f42db0 494
3cc000b5
PM
495endchoice
496
f3d22298 497source "arch/sh/mm/Kconfig"
939a24a6 498
4690bdc7 499source "arch/sh/Kconfig.cpu"
f3d22298 500
939a24a6 501source "arch/sh/boards/Kconfig"
32351a28 502
32351a28
PM
503menu "Timer and clock configuration"
504
cad82448
PM
505config SH_PCLK_FREQ
506 int "Peripheral clock frequency (in Hz)"
8152a74b 507 depends on SH_CLK_CPG_LEGACY
9d4436a6 508 default "31250000" if CPU_SUBTYPE_SH7619
8152a74b
PM
509 default "33333333" if CPU_SUBTYPE_SH7770 || \
510 CPU_SUBTYPE_SH7760 || \
511 CPU_SUBTYPE_SH7705 || \
512 CPU_SUBTYPE_SH7203 || \
513 CPU_SUBTYPE_SH7206 || \
514 CPU_SUBTYPE_SH7263 || \
43a1839c 515 CPU_SUBTYPE_MXG
05627486 516 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
cad82448 517 default "66000000" if CPU_SUBTYPE_SH4_202
05627486 518 default "50000000"
1da177e4 519 help
cad82448
PM
520 This option is used to specify the peripheral clock frequency.
521 This is necessary for determining the reference clock value on
522 platforms lacking an RTC.
1da177e4 523
36aa1e32
PM
524config SH_CLK_CPG
525 def_bool y
526
253b0887 527config SH_CLK_CPG_LEGACY
36aa1e32 528 depends on SH_CLK_CPG
43a1839c 529 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
51ce3068 530 !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
bcb86e0a
PM
531 !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
532 !CPU_SUBTYPE_SH7269
253b0887 533
32351a28
PM
534endmenu
535
cad82448 536menu "CPU Frequency scaling"
cad82448 537source "drivers/cpufreq/Kconfig"
cad82448
PM
538endmenu
539
9f5e8eee
PM
540source "arch/sh/drivers/Kconfig"
541
cad82448 542endmenu
1da177e4 543
cad82448
PM
544menu "Kernel features"
545
8636a1f9 546source "kernel/Kconfig.hz"
91b91d01 547
cad82448
PM
548config KEXEC
549 bool "kexec system call (EXPERIMENTAL)"
37744fee 550 depends on MMU
2965faa5 551 select KEXEC_CORE
1da177e4 552 help
cad82448
PM
553 kexec is a system call that implements the ability to shutdown your
554 current kernel, and to start another kernel. It is like a reboot
1f1332f7 555 but it is independent of the system firmware. And like a reboot
cad82448
PM
556 you can start any kernel with it, not just Linux.
557
1f1332f7 558 The name comes from the similarity to the exec system call.
cad82448
PM
559
560 It is an ongoing process to be certain the hardware in a machine
561 is properly shutdown, so do not be surprised if this code does not
bf220695
GU
562 initially work for you. As of this writing the exact hardware
563 interface is strongly in flux, so no good recommendation can be
564 made.
cad82448 565
4d5ade5b
PM
566config CRASH_DUMP
567 bool "kernel crash dumps (EXPERIMENTAL)"
37744fee 568 depends on BROKEN_ON_SMP
4d5ade5b
PM
569 help
570 Generate crash dump after being started by kexec.
571 This should be normally only set in special crash dump kernels
572 which are loaded in the main kernel with kexec-tools into
573 a specially reserved region and then later executed after
574 a crash by kdump/kexec. The crash dump kernel must be compiled
575 to a memory address not used by the main kernel using
e66ac3f2 576 PHYSICAL_START.
4d5ade5b 577
330d4810 578 For more details see Documentation/admin-guide/kdump/kdump.rst
4d5ade5b 579
b7cf6ddc
MD
580config KEXEC_JUMP
581 bool "kexec jump (EXPERIMENTAL)"
37744fee 582 depends on KEXEC && HIBERNATION
b7cf6ddc
MD
583 help
584 Jump between original kernel and kexeced kernel and invoke
585 code via KEXEC
586
e66ac3f2
SH
587config PHYSICAL_START
588 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
589 default MEMORY_START
a7f7f624 590 help
e66ac3f2
SH
591 This gives the physical address where the kernel is loaded
592 and is ordinarily the same as MEMORY_START.
593
594 Different values are primarily used in the case of kexec on panic
595 where the fail safe kernel needs to run at a different address
596 than the panic-ed kernel.
597
1da177e4
LT
598config SMP
599 bool "Symmetric multi-processing support"
357d5946 600 depends on SYS_SUPPORTS_SMP
a7f7f624 601 help
1da177e4 602 This enables support for systems with more than one CPU. If you have
4a474157
RG
603 a system with only one CPU, say N. If you have a system with more
604 than one CPU, say Y.
1da177e4 605
4a474157 606 If you say N here, the kernel will run on uni- and multiprocessor
1da177e4
LT
607 machines, but will use only one CPU of a multiprocessor machine. If
608 you say Y here, the kernel will run on many, but not all,
4a474157 609 uniprocessor machines. On a uniprocessor machine, the kernel
1da177e4
LT
610 will run faster if you say N here.
611
612 People using multiprocessor machines who say Y here should also say
613 Y to "Enhanced Real Time Clock Support", below.
614
4f4cfa6c 615 See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
91194e9b 616 available at <https://www.tldp.org/docs.html#howto>.
1da177e4
LT
617
618 If you don't know what to do here, say N.
619
620config NR_CPUS
621 int "Maximum number of CPUs (2-32)"
622 range 2 32
623 depends on SMP
2eb2a436 624 default "4" if CPU_SUBTYPE_SHX3
1da177e4
LT
625 default "2"
626 help
627 This allows you to specify the maximum number of CPUs which this
628 kernel will support. The maximum supported value is 32 and the
629 minimum value which makes sense is 2.
630
631 This is purely to save memory - each supported CPU adds
632 approximately eight kilobytes to the kernel image.
633
763142d1
PM
634config HOTPLUG_CPU
635 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
40b31360 636 depends on SMP
763142d1
PM
637 help
638 Say Y here to experiment with turning CPUs off and on. CPUs
639 can be controlled through /sys/devices/system/cpu.
640
83662461
PM
641config GUSA
642 def_bool y
37744fee 643 depends on !SMP
83662461
PM
644 help
645 This enables support for gUSA (general UserSpace Atomicity).
646 This is the default implementation for both UP and non-ll/sc
647 CPUs, and is used by the libc, amongst others.
648
649 For additional information, design information can be found
650 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
651
652 This should only be disabled for special cases where alternate
653 atomicity implementations exist.
654
1efe4ce3
SM
655config GUSA_RB
656 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
657 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
658 help
659 Enabling this option will allow the kernel to implement some
692105b8 660 atomic operations using a software implementation of load-locked/
1efe4ce3
SM
661 store-conditional (LLSC). On machines which do not have hardware
662 LLSC, this should be more efficient than the other alternative of
692105b8 663 disabling interrupts around the atomic sequence.
1efe4ce3 664
86c8c047
MF
665config HW_PERF_EVENTS
666 bool "Enable hardware performance counter support for perf events"
667 depends on PERF_EVENTS && CPU_HAS_PMU
668 default y
669 help
670 Enable hardware performance counter support for perf events. If
671 disabled, perf events will use software events only.
672
43b8774d
PM
673source "drivers/sh/Kconfig"
674
cad82448 675endmenu
1da177e4 676
cad82448 677menu "Boot options"
1da177e4 678
190fe191
RF
679config USE_BUILTIN_DTB
680 bool "Use builtin DTB"
681 default n
682 depends on SH_DEVICE_TREE
683 help
684 Link a device tree blob for particular hardware into the kernel,
685 suppressing use of the DTB pointer provided by the bootloader.
686 This option should only be used with legacy bootloaders that are
687 not capable of providing a DTB to the kernel, or for experimental
688 hardware without stable device tree bindings.
689
690config BUILTIN_DTB_SOURCE
691 string "Source file for builtin DTB"
692 default ""
693 depends on USE_BUILTIN_DTB
694 help
695 Base name (without suffix, relative to arch/sh/boot/dts) for the
696 a DTS file that will be used to produce the DTB linked into the
697 kernel.
698
cad82448 699config ZERO_PAGE_OFFSET
b412a49a
PM
700 hex
701 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
702 SH_7751_SOLUTION_ENGINE
703 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
7a847f81 704 default "0x00002000" if PAGE_SIZE_8KB
cad82448 705 default "0x00001000"
1da177e4 706 help
cad82448 707 This sets the default offset of zero page.
1da177e4 708
cad82448 709config BOOT_LINK_OFFSET
b412a49a
PM
710 hex
711 default "0x00210000" if SH_SHMIN
b412a49a
PM
712 default "0x00810000" if SH_7780_SOLUTION_ENGINE
713 default "0x009e0000" if SH_TITAN
714 default "0x01800000" if SH_SDK7780
715 default "0x02000000" if SH_EDOSK7760
cad82448
PM
716 default "0x00800000"
717 help
718 This option allows you to set the link address offset of the zImage.
719 This can be useful if you are on a board which has a small amount of
720 memory.
1da177e4 721
b412a49a
PM
722config ENTRY_OFFSET
723 hex
724 default "0x00001000" if PAGE_SIZE_4KB
725 default "0x00002000" if PAGE_SIZE_8KB
726 default "0x00004000" if PAGE_SIZE_16KB
727 default "0x00010000" if PAGE_SIZE_64KB
728 default "0x00000000"
729
4705b2e8
MD
730config ROMIMAGE_MMCIF
731 bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
0d57af1e 732 depends on CPU_SUBTYPE_SH7724
4705b2e8
MD
733 help
734 Say Y here to include experimental MMCIF loading code in
735 romImage. With this enabled it is possible to write the romImage
736 kernel image to an MMC card and boot the kernel straight from
737 the reset vector. At reset the processor Mask ROM will load the
738 first part of the romImage which in turn loads the rest the kernel
739 image to RAM using the MMCIF hardware block.
740
d724a9c9
PM
741choice
742 prompt "Kernel command line"
743 optional
744 default CMDLINE_OVERWRITE
745 help
746 Setting this option allows the kernel command line arguments
747 to be set.
748
749config CMDLINE_OVERWRITE
750 bool "Overwrite bootloader kernel arguments"
751 help
752 Given string will overwrite any arguments passed in by
753 a bootloader.
754
755config CMDLINE_EXTEND
756 bool "Extend bootloader kernel arguments"
757 help
758 Given string will be concatenated with arguments passed in
759 by a bootloader.
760
761endchoice
1da177e4 762
cad82448 763config CMDLINE
d724a9c9
PM
764 string "Kernel command line arguments string"
765 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
cad82448 766 default "console=ttySC1,115200"
1da177e4
LT
767
768endmenu
769
cad82448 770menu "Bus options"
1da177e4 771
cad82448
PM
772config SUPERHYWAY
773 tristate "SuperHyway Bus support"
774 depends on CPU_SUBTYPE_SH4_202
1da177e4 775
17be2d2b 776config MAPLE
e16038ab
PM
777 bool "Maple Bus support"
778 depends on SH_DREAMCAST
779 help
780 The Maple Bus is SEGA's serial communication bus for peripherals
781 on the Dreamcast. Without this bus support you won't be able to
782 get your Dreamcast keyboard etc to work, so most users
783 probably want to say 'Y' here, unless you are only using the
784 Dreamcast with a serial line terminal or a remote network
785 connection.
17be2d2b 786
1da177e4
LT
787endmenu
788
3aa770e7 789menu "Power management options (EXPERIMENTAL)"
f4cb5700 790
c6f17cb2
MD
791source "kernel/power/Kconfig"
792
793source "drivers/cpuidle/Kconfig"
3aa770e7 794
3aa770e7 795endmenu