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