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