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