xref: /openbmc/linux/arch/sh/Kconfig (revision 50cfa79d)
1ea0e1a9aSPaul Mundtconfig SUPERH
2ea0e1a9aSPaul Mundt	def_bool y
3ea0e1a9aSPaul Mundt	select EMBEDDED
46d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
586e4dd5aSPaul Mundt	select HAVE_IDE if HAS_IOPORT
695f72d1eSYinghai Lu	select HAVE_MEMBLOCK
742d4b839SMathieu Desnoyers	select HAVE_OPROFILE
89de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
9d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
10f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
1173c926beSPaul Mundt	select HAVE_DMA_ATTRS
12e360adbeSPeter Zijlstra	select HAVE_IRQ_WORK
13cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
1472f0c137SPaul Mundt	select PERF_USE_VMALLOC
15df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
1607e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
1707e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
1850cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
19c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
20a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
21eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
2257b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
2357b81330SPaul Mundt	select HAVE_SPARSE_IRQ
246eac1af0SPaul Mundt	select RTC_LIB
25f01789c6SPaul Mundt	select GENERIC_ATOMIC64
2680fbf838SPaul Mundt	# Support the deprecated APIs until MFD and GPIOLIB catch up.
2780fbf838SPaul Mundt	select GENERIC_HARDIRQS_NO_DEPRECATED if !MFD_SUPPORT && !GPIOLIB
28ea0e1a9aSPaul Mundt	help
29ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
30ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
31ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
32ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
33ea0e1a9aSPaul Mundt
34ea0e1a9aSPaul Mundtconfig SUPERH32
353cc000b5SPaul Mundt	def_bool ARCH = "sh"
36d39f5450SChris Smith	select HAVE_KPROBES
37d39f5450SChris Smith	select HAVE_KRETPROBES
386d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
39694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
40fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
41fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
42c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
43e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
44327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
45ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
466fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
470102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
48e583d6b3SSam Ravnborg	select PERF_EVENTS
498dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
5057b81330SPaul Mundt	select SPARSE_IRQ
51ea0e1a9aSPaul Mundt
52ea0e1a9aSPaul Mundtconfig SUPERH64
533cc000b5SPaul Mundt	def_bool ARCH = "sh64"
54ea0e1a9aSPaul Mundt
55f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
56f42b7e3dSPaul Mundt	string
57f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
58f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
59f42b7e3dSPaul Mundt
60ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
61d7ef4fb3SHarvey Harrison	def_bool y
62ea0e1a9aSPaul Mundt
63ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
64ea0e1a9aSPaul Mundt	bool
65ea0e1a9aSPaul Mundt
66ea0e1a9aSPaul Mundtconfig GENERIC_BUG
67ea0e1a9aSPaul Mundt	def_bool y
68a82d53ecSPaul Mundt	depends on BUG && SUPERH32
69ea0e1a9aSPaul Mundt
703767f3f1SPaul Mundtconfig GENERIC_CSUM
713767f3f1SPaul Mundt	def_bool y
723767f3f1SPaul Mundt	depends on SUPERH64
733767f3f1SPaul Mundt
74ea0e1a9aSPaul Mundtconfig GENERIC_FIND_NEXT_BIT
75d7ef4fb3SHarvey Harrison	def_bool y
76ea0e1a9aSPaul Mundt
77ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
78d7ef4fb3SHarvey Harrison	def_bool y
79ea0e1a9aSPaul Mundt
802eb2a436SPaul Mundtconfig IRQ_PER_CPU
812eb2a436SPaul Mundt	def_bool y
822eb2a436SPaul Mundt
832967dab1SMagnus Dammconfig GENERIC_GPIO
842967dab1SMagnus Damm	def_bool n
852967dab1SMagnus Damm
86ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
87cf204fa7SPaul Mundt	bool
88ea0e1a9aSPaul Mundt
89ea0e1a9aSPaul Mundtconfig GENERIC_IOMAP
90ea0e1a9aSPaul Mundt	bool
91ea0e1a9aSPaul Mundt
92ea0e1a9aSPaul Mundtconfig GENERIC_CLOCKEVENTS
93938edae1SPaul Mundt	def_bool y
94ea0e1a9aSPaul Mundt
958c24594dSPaul Mundtconfig GENERIC_CLOCKEVENTS_BROADCAST
968c24594dSPaul Mundt	bool
978c24594dSPaul Mundt
986d134b9eSPaul Mundtconfig GENERIC_CMOS_UPDATE
996d134b9eSPaul Mundt	def_bool y
1006d134b9eSPaul Mundt	depends on SH_SH03 || SH_DREAMCAST
1016d134b9eSPaul Mundt
102bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
103bdcab87bSPaul Mundt	def_bool y
104bdcab87bSPaul Mundt	depends on SMP && PREEMPT
105bdcab87bSPaul Mundt
106ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PM
107ea0e1a9aSPaul Mundt	bool
108af998a9aSMagnus Damm	depends on !SMP
109af998a9aSMagnus Damm
110af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
111af998a9aSMagnus Damm	def_bool n
112af998a9aSMagnus Damm
113af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
114af998a9aSMagnus Damm	def_bool n
115ea0e1a9aSPaul Mundt
116ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
117ea0e1a9aSPaul Mundt	bool
118af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
119ea0e1a9aSPaul Mundt
120ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
121ffb4a73dSPaul Mundt	bool
122ffb4a73dSPaul Mundt
123ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
124ea0e1a9aSPaul Mundt	bool
125ea0e1a9aSPaul Mundt
126ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
127ea0e1a9aSPaul Mundt	bool
128ea0e1a9aSPaul Mundt
129ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
130ea0e1a9aSPaul Mundt	bool
131ea0e1a9aSPaul Mundt
132f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
133f5ad881bSPaul Mundt	bool
134f5ad881bSPaul Mundt
135d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
136d5ed4c2eSMagnus Damm	bool
137d5ed4c2eSMagnus Damm
1389570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1399570ef20SMagnus Damm	bool
1409570ef20SMagnus Damm
141ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
142d7ef4fb3SHarvey Harrison	def_bool y
143ea0e1a9aSPaul Mundt
144ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
145d7ef4fb3SHarvey Harrison	def_bool y
146ea0e1a9aSPaul Mundt
1475a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1485a89f1adSPaul Mundt	def_bool y
1495a89f1adSPaul Mundt
150ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
151d7ef4fb3SHarvey Harrison	def_bool n
152ea0e1a9aSPaul Mundt
153ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
154d7ef4fb3SHarvey Harrison	def_bool n
155ea0e1a9aSPaul Mundt
156ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
157ea0e1a9aSPaul Mundt	def_bool y
158ea0e1a9aSPaul Mundt
159e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
160e869a90eSPaul Mundt	def_bool y
161e869a90eSPaul Mundt
1622e046b94SPaul Mundtconfig ARCH_HAS_CPU_IDLE_WAIT
1632e046b94SPaul Mundt	def_bool y
1642e046b94SPaul Mundt
16586e4dd5aSPaul Mundtconfig NO_IOPORT
16637b7a978SPaul Mundt	def_bool !PCI
16737b7a978SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV
16886e4dd5aSPaul Mundt
169e7cc9a73SMagnus Dammconfig IO_TRAPPED
170e7cc9a73SMagnus Damm	bool
171e7cc9a73SMagnus Damm
17201be5d63SPaul Mundtconfig DMA_COHERENT
17301be5d63SPaul Mundt	bool
17401be5d63SPaul Mundt
17501be5d63SPaul Mundtconfig DMA_NONCOHERENT
17601be5d63SPaul Mundt	def_bool !DMA_COHERENT
17701be5d63SPaul Mundt
1785cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1795cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1805cabbb62SFUJITA Tomonori
18118e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
18218e98307SFUJITA Tomonori	def_bool y
18318e98307SFUJITA Tomonori
184ea0e1a9aSPaul Mundtsource "init/Kconfig"
185ea0e1a9aSPaul Mundt
186dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
187dc52ddc0SMatt Helsley
188ea0e1a9aSPaul Mundtmenu "System type"
189ea0e1a9aSPaul Mundt
190ea0e1a9aSPaul Mundt#
191ea0e1a9aSPaul Mundt# Processor families
192ea0e1a9aSPaul Mundt#
193ea0e1a9aSPaul Mundtconfig CPU_SH2
194ea0e1a9aSPaul Mundt	bool
195ea0e1a9aSPaul Mundt
196ea0e1a9aSPaul Mundtconfig CPU_SH2A
197ea0e1a9aSPaul Mundt	bool
198ea0e1a9aSPaul Mundt	select CPU_SH2
199e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
200ea0e1a9aSPaul Mundt
201ea0e1a9aSPaul Mundtconfig CPU_SH3
202ea0e1a9aSPaul Mundt	bool
203ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
204ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2054fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
206ea0e1a9aSPaul Mundt
207ea0e1a9aSPaul Mundtconfig CPU_SH4
208ea0e1a9aSPaul Mundt	bool
209ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
210ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
211ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2124fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
213ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SH4A
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt	select CPU_SH4
218ea0e1a9aSPaul Mundt
219ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
220ea0e1a9aSPaul Mundt	bool
221ea0e1a9aSPaul Mundt	select CPU_SH4A
222ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
223ea0e1a9aSPaul Mundt
224ea0e1a9aSPaul Mundtconfig CPU_SH5
225ea0e1a9aSPaul Mundt	bool
226ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
227add47067SPaul Mundt	select SYS_SUPPORTS_TMU
228ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
229ea0e1a9aSPaul Mundt
230ea0e1a9aSPaul Mundtconfig CPU_SHX2
231ea0e1a9aSPaul Mundt	bool
232ea0e1a9aSPaul Mundt
233ea0e1a9aSPaul Mundtconfig CPU_SHX3
234ea0e1a9aSPaul Mundt	bool
23501be5d63SPaul Mundt	select DMA_COHERENT
2364b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2374b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
238ea0e1a9aSPaul Mundt
239dc65a977SPaul Mundtconfig ARCH_SHMOBILE
240dc65a977SPaul Mundt	bool
24177594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
242ac2c596bSMagnus Damm	select PM
243ac2c596bSMagnus Damm	select PM_RUNTIME
244dc65a977SPaul Mundt
24586c8c047SMatt Flemingconfig CPU_HAS_PMU
24686c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
24786c8c047SMatt Fleming       default y
24886c8c047SMatt Fleming       bool
24986c8c047SMatt Fleming
2503cc000b5SPaul Mundtif SUPERH32
2513cc000b5SPaul Mundt
252ea0e1a9aSPaul Mundtchoice
253ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
254ea0e1a9aSPaul Mundt
255ea0e1a9aSPaul Mundt#
256ea0e1a9aSPaul Mundt# Processor subtypes
257ea0e1a9aSPaul Mundt#
258ea0e1a9aSPaul Mundt
259ea0e1a9aSPaul Mundt# SH-2 Processor Support
260ea0e1a9aSPaul Mundt
261ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
262ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
263ea0e1a9aSPaul Mundt	select CPU_SH2
264f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
265ea0e1a9aSPaul Mundt
266ea0e1a9aSPaul Mundt# SH-2A Processor Support
267ea0e1a9aSPaul Mundt
2682825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2692825999eSPeter Griffin	bool "Support SH7201 processor"
2702825999eSPeter Griffin	select CPU_SH2A
2712825999eSPeter Griffin	select CPU_HAS_FPU
272da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2732825999eSPeter Griffin
2746d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2756d01f510SPaul Mundt	bool "Support SH7203 processor"
2766d01f510SPaul Mundt	select CPU_SH2A
27774d99a5eSPaul Mundt	select CPU_HAS_FPU
278f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
279da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
280f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
2816d01f510SPaul Mundt
282ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
283ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
284ea0e1a9aSPaul Mundt	select CPU_SH2A
285f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
286da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
287ea0e1a9aSPaul Mundt
288a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
289a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
290a8f67f4bSPaul Mundt	select CPU_SH2A
29174d99a5eSPaul Mundt	select CPU_HAS_FPU
292f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
293da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
294a8f67f4bSPaul Mundt
2952ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2962ad69908SPaul Mundt	bool "Support MX-G processor"
2972ad69908SPaul Mundt	select CPU_SH2A
298da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2992ad69908SPaul Mundt	help
3002ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3012ad69908SPaul Mundt
302ea0e1a9aSPaul Mundt# SH-3 Processor Support
303ea0e1a9aSPaul Mundt
304ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
305ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
306ea0e1a9aSPaul Mundt	select CPU_SH3
307ea0e1a9aSPaul Mundt
308ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
309ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
310ea0e1a9aSPaul Mundt	select CPU_SH3
311ea0e1a9aSPaul Mundt	help
312ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
313ea0e1a9aSPaul Mundt
314ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
315ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
316ea0e1a9aSPaul Mundt	select CPU_SH3
317ea0e1a9aSPaul Mundt	help
318ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
319ea0e1a9aSPaul Mundt
320ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
321ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
322ea0e1a9aSPaul Mundt	select CPU_SH3
323ea0e1a9aSPaul Mundt	help
324ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
325ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
326ea0e1a9aSPaul Mundt
327ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
328ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
329ea0e1a9aSPaul Mundt	select CPU_SH3
330ea0e1a9aSPaul Mundt	help
331ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
332ea0e1a9aSPaul Mundt
333ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
334ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
335ea0e1a9aSPaul Mundt	select CPU_SH3
336ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
337ea0e1a9aSPaul Mundt	help
338ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
339ea0e1a9aSPaul Mundt
340ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
341ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
342ea0e1a9aSPaul Mundt	select CPU_SH3
343ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
344ea0e1a9aSPaul Mundt	help
345ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
346ea0e1a9aSPaul Mundt
347ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
348ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
349ea0e1a9aSPaul Mundt	select CPU_SH3
350ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3512b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
352f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
353e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
354ea0e1a9aSPaul Mundt	help
355ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
356ea0e1a9aSPaul Mundt
35731a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
35831a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
35931a49c4bSYoshihiro Shimoda	select CPU_SH3
36031a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3612b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
362e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
36331a49c4bSYoshihiro Shimoda	help
36431a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
36531a49c4bSYoshihiro Shimoda
366ea0e1a9aSPaul Mundt# SH-4 Processor Support
367ea0e1a9aSPaul Mundt
368ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
369ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
370ea0e1a9aSPaul Mundt	select CPU_SH4
371ea0e1a9aSPaul Mundt	help
372ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
373ea0e1a9aSPaul Mundt
374ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
375ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
376ea0e1a9aSPaul Mundt	select CPU_SH4
377ea0e1a9aSPaul Mundt	help
378ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
379ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
380ea0e1a9aSPaul Mundt
381ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
382ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
383ea0e1a9aSPaul Mundt	select CPU_SH4
384ea0e1a9aSPaul Mundt
385ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
386ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
387ea0e1a9aSPaul Mundt	select CPU_SH4
388ea0e1a9aSPaul Mundt
389ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
390ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
391ea0e1a9aSPaul Mundt	select CPU_SH4
392ea0e1a9aSPaul Mundt	help
393ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
394ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
395ea0e1a9aSPaul Mundt
396ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
397ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
398ea0e1a9aSPaul Mundt	select CPU_SH4
399ea0e1a9aSPaul Mundt
400ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
401ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
402ea0e1a9aSPaul Mundt	select CPU_SH4
403ea0e1a9aSPaul Mundt
404ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
405ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
406ea0e1a9aSPaul Mundt	select CPU_SH4
407ea0e1a9aSPaul Mundt
408ea0e1a9aSPaul Mundt# SH-4A Processor Support
409ea0e1a9aSPaul Mundt
410178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
411178dd0cdSPaul Mundt	bool "Support SH7723 processor"
412178dd0cdSPaul Mundt	select CPU_SH4A
413178dd0cdSPaul Mundt	select CPU_SHX2
414dc65a977SPaul Mundt	select ARCH_SHMOBILE
415178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
416f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
417f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
418178dd0cdSPaul Mundt	help
419178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
420178dd0cdSPaul Mundt
4210207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4220207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4230207a2efSKuninori Morimoto	select CPU_SH4A
4240207a2efSKuninori Morimoto	select CPU_SHX2
42559fe700dSPaul Mundt	select ARCH_SHMOBILE
4260207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4270207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
428f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4290207a2efSKuninori Morimoto	help
4300207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4310207a2efSKuninori Morimoto
432c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
433c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
434c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
435c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
436f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
437c01f0f1aSYoshihiro Shimoda	help
438c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
439c01f0f1aSYoshihiro Shimoda
4407d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4417d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4427d740a06SYoshihiro Shimoda	select CPU_SH4A
443e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4447d740a06SYoshihiro Shimoda	help
4457d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4467d740a06SYoshihiro Shimoda
447ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
448ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
449ea0e1a9aSPaul Mundt	select CPU_SH4A
450ea0e1a9aSPaul Mundt
451ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
452ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
453ea0e1a9aSPaul Mundt	select CPU_SH4A
454ea0e1a9aSPaul Mundt
455ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
456ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
457ea0e1a9aSPaul Mundt	select CPU_SH4A
458ea0e1a9aSPaul Mundt	select CPU_SHX2
459ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
460ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
461f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
462ea0e1a9aSPaul Mundt
46355ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
46455ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
46555ba99ebSKuninori Morimoto	select CPU_SH4A
46637042fbdSPaul Mundt	select CPU_SHX3
4678263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4682eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
469f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
470e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
471e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
47255ba99ebSKuninori Morimoto
473ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
474ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
475ea0e1a9aSPaul Mundt	select CPU_SH4A
476ea0e1a9aSPaul Mundt	select CPU_SHX3
4775840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
478742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
479ea0e1a9aSPaul Mundt
480ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
481ea0e1a9aSPaul Mundt
482ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
483ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
484ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
485dc65a977SPaul Mundt	select ARCH_SHMOBILE
486f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
487ea0e1a9aSPaul Mundt
488ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
489ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
490ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
491ea0e1a9aSPaul Mundt	select CPU_SHX2
492dc65a977SPaul Mundt	select ARCH_SHMOBILE
493ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
494ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
495f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
496f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
497ea0e1a9aSPaul Mundt
4989109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
4999109a30eSMagnus Damm	bool "Support SH7366 processor"
5009109a30eSMagnus Damm	select CPU_SH4AL_DSP
5019109a30eSMagnus Damm	select CPU_SHX2
502dc65a977SPaul Mundt	select ARCH_SHMOBILE
5039109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5049109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
505f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5069109a30eSMagnus Damm
5073cc000b5SPaul Mundtendchoice
5083cc000b5SPaul Mundt
5093cc000b5SPaul Mundtendif
5103cc000b5SPaul Mundt
5113cc000b5SPaul Mundtif SUPERH64
5123cc000b5SPaul Mundt
5133cc000b5SPaul Mundtchoice
5143cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5153cc000b5SPaul Mundt
516ea0e1a9aSPaul Mundt# SH-5 Processor Support
517ea0e1a9aSPaul Mundt
518ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
519ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
520ea0e1a9aSPaul Mundt	select CPU_SH5
521ea0e1a9aSPaul Mundt
522ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
523ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5248ef97dd7SPaul Mundt	select CPU_SH5
525ea0e1a9aSPaul Mundt
526ea0e1a9aSPaul Mundtendchoice
527ea0e1a9aSPaul Mundt
5283cc000b5SPaul Mundtendif
5293cc000b5SPaul Mundt
530ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
531939a24a6SPaul Mundt
532ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
533ea0e1a9aSPaul Mundt
534939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
535ea0e1a9aSPaul Mundt
536ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
537ea0e1a9aSPaul Mundt
5389570ef20SMagnus Dammconfig SH_TIMER_TMU
5399570ef20SMagnus Damm	bool "TMU timer driver"
540f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5419570ef20SMagnus Damm	default y
5429570ef20SMagnus Damm	help
5439570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5449570ef20SMagnus Damm
545f5ad881bSPaul Mundtconfig SH_TIMER_CMT
546f425752fSMagnus Damm	bool "CMT timer driver"
547f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
548f425752fSMagnus Damm	default y
549f425752fSMagnus Damm	help
550f425752fSMagnus Damm	  This enables build of the CMT timer driver.
551f5ad881bSPaul Mundt
552d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
553d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5543280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
555d5ed4c2eSMagnus Damm	default y
556d5ed4c2eSMagnus Damm	help
557d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
558d5ed4c2eSMagnus Damm
559ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
560ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5618152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
562ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5638152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5648152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5658152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5668152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5678152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5688152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
56943a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
570ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
571ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
572ea0e1a9aSPaul Mundt	default "50000000"
573ea0e1a9aSPaul Mundt	help
574ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
575ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
576ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
577ea0e1a9aSPaul Mundt
57836aa1e32SPaul Mundtconfig SH_CLK_CPG
57936aa1e32SPaul Mundt	def_bool y
58036aa1e32SPaul Mundt
581253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
58236aa1e32SPaul Mundt	depends on SH_CLK_CPG
58343a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
5845924ad0dSPaul Mundt		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757
585253b0887SPaul Mundt
586ea0e1a9aSPaul Mundtsource "kernel/time/Kconfig"
587ea0e1a9aSPaul Mundt
588ea0e1a9aSPaul Mundtendmenu
589ea0e1a9aSPaul Mundt
590ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
591ea0e1a9aSPaul Mundt
592ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
593ea0e1a9aSPaul Mundt
594ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
595ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
596ea0e1a9aSPaul Mundt	depends on CPU_FREQ
597ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
598ea0e1a9aSPaul Mundt	help
5998a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
6008a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
6018a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6028a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6038a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6048a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
605ea0e1a9aSPaul Mundt
606ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
607ea0e1a9aSPaul Mundt
608ea0e1a9aSPaul Mundt	  If unsure, say N.
609ea0e1a9aSPaul Mundt
610ea0e1a9aSPaul Mundtendmenu
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundtendmenu
615ea0e1a9aSPaul Mundt
616ea0e1a9aSPaul Mundtmenu "Kernel features"
617ea0e1a9aSPaul Mundt
618ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
619ea0e1a9aSPaul Mundt
620ea0e1a9aSPaul Mundtconfig KEXEC
621ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
622f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
623ea0e1a9aSPaul Mundt	help
624ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
625ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
626ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
627ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
628ea0e1a9aSPaul Mundt
629ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
630ea0e1a9aSPaul Mundt
631ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
632ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
633ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
634ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
635ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
636ea0e1a9aSPaul Mundt
637ea0e1a9aSPaul Mundtconfig CRASH_DUMP
638ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
639d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
640ea0e1a9aSPaul Mundt	help
641ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
642ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
643ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
644ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
645ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
646ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
647ea0e1a9aSPaul Mundt	  MEMORY_START.
648ea0e1a9aSPaul Mundt
649ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
650ea0e1a9aSPaul Mundt
651b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
652b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
653b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
654b7cf6ddcSMagnus Damm	help
655b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
656b7cf6ddcSMagnus Damm	  code via KEXEC
657b7cf6ddcSMagnus Damm
658c4637d47SPaul Mundtconfig SECCOMP
659c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
660c4637d47SPaul Mundt	depends on PROC_FS
661c4637d47SPaul Mundt	help
662c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
663c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
664c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
665c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
666c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
667c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
668c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
669c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
670c4637d47SPaul Mundt	  mode.
671c4637d47SPaul Mundt
672c4637d47SPaul Mundt	  If unsure, say N.
673c4637d47SPaul Mundt
674ea0e1a9aSPaul Mundtconfig SMP
675ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
676ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
677490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
678ea0e1a9aSPaul Mundt	---help---
679ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
680ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
681ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
682ea0e1a9aSPaul Mundt
683ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
684ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
685ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
686ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
687ea0e1a9aSPaul Mundt	  will run faster if you say N here.
688ea0e1a9aSPaul Mundt
689ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
690ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
691ea0e1a9aSPaul Mundt
69203502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
69303502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
694ea0e1a9aSPaul Mundt
695ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
696ea0e1a9aSPaul Mundt
697ea0e1a9aSPaul Mundtconfig NR_CPUS
698ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
699ea0e1a9aSPaul Mundt	range 2 32
700ea0e1a9aSPaul Mundt	depends on SMP
7012eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
702ea0e1a9aSPaul Mundt	default "2"
703ea0e1a9aSPaul Mundt	help
704ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
705ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
706ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
707ea0e1a9aSPaul Mundt
708ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
709ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
710ea0e1a9aSPaul Mundt
711763142d1SPaul Mundtconfig HOTPLUG_CPU
712763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
713763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
714763142d1SPaul Mundt	help
715763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
716763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
717763142d1SPaul Mundt
718ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
719ea0e1a9aSPaul Mundt
720ea0e1a9aSPaul Mundtconfig GUSA
721ea0e1a9aSPaul Mundt	def_bool y
7221efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
723ea0e1a9aSPaul Mundt	help
724ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
725ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
726ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
727ea0e1a9aSPaul Mundt
728ea0e1a9aSPaul Mundt	  For additional information, design information can be found
729ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
730ea0e1a9aSPaul Mundt
731ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
732ea0e1a9aSPaul Mundt	  atomicity implementations exist.
733ea0e1a9aSPaul Mundt
7341efe4ce3SStuart Menefyconfig GUSA_RB
7351efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7361efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7371efe4ce3SStuart Menefy	help
7381efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
739692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7401efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7411efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
742692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7431efe4ce3SStuart Menefy
74486c8c047SMatt Flemingconfig HW_PERF_EVENTS
74586c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
74686c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
74786c8c047SMatt Fleming	default y
74886c8c047SMatt Fleming	help
74986c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
75086c8c047SMatt Fleming	  disabled, perf events will use software events only.
75186c8c047SMatt Fleming
75243b8774dSPaul Mundtsource "drivers/sh/Kconfig"
75343b8774dSPaul Mundt
754ea0e1a9aSPaul Mundtendmenu
755ea0e1a9aSPaul Mundt
756ea0e1a9aSPaul Mundtmenu "Boot options"
757ea0e1a9aSPaul Mundt
758ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
759b412a49aSPaul Mundt	hex
760b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
761b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
762b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
763ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
764ea0e1a9aSPaul Mundt	default "0x00001000"
765ea0e1a9aSPaul Mundt	help
766ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
767ea0e1a9aSPaul Mundt
768ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
769b412a49aSPaul Mundt	hex
770b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
771a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
772b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
773b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
774b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
775b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
776ea0e1a9aSPaul Mundt	default "0x00800000"
777ea0e1a9aSPaul Mundt	help
778ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
779ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
780ea0e1a9aSPaul Mundt	  memory.
781ea0e1a9aSPaul Mundt
782b412a49aSPaul Mundtconfig ENTRY_OFFSET
783b412a49aSPaul Mundt	hex
784b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
785b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
786b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
787b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
788b412a49aSPaul Mundt	default "0x00000000"
789b412a49aSPaul Mundt
7904705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7914705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7924705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
7934705b2e8SMagnus Damm	help
7944705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
7954705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
7964705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
7974705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
7984705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
7994705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8004705b2e8SMagnus Damm
801d724a9c9SPawel Mollchoice
802d724a9c9SPawel Moll	prompt "Kernel command line"
803d724a9c9SPawel Moll	optional
804d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
805d724a9c9SPawel Moll	help
806d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
807d724a9c9SPawel Moll	  to be set.
808d724a9c9SPawel Moll
809d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
810d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
811d724a9c9SPawel Moll	help
812d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
813d724a9c9SPawel Moll	  a bootloader.
814d724a9c9SPawel Moll
815d724a9c9SPawel Mollconfig CMDLINE_EXTEND
816d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
817d724a9c9SPawel Moll	help
818d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
819d724a9c9SPawel Moll	  by a bootloader.
820d724a9c9SPawel Moll
821d724a9c9SPawel Mollendchoice
822ea0e1a9aSPaul Mundt
823ea0e1a9aSPaul Mundtconfig CMDLINE
824d724a9c9SPawel Moll	string "Kernel command line arguments string"
825d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
826ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
827ea0e1a9aSPaul Mundt
828ea0e1a9aSPaul Mundtendmenu
829ea0e1a9aSPaul Mundt
830ea0e1a9aSPaul Mundtmenu "Bus options"
831ea0e1a9aSPaul Mundt
832ea0e1a9aSPaul Mundtconfig SUPERHYWAY
833ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
834ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
835ea0e1a9aSPaul Mundt
836ea0e1a9aSPaul Mundtconfig MAPLE
837ea0e1a9aSPaul Mundt	bool "Maple Bus support"
838ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
839ea0e1a9aSPaul Mundt	help
840ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
841ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
842ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
843ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
844ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
845ea0e1a9aSPaul Mundt	 connection.
846ea0e1a9aSPaul Mundt
8477693465dSPaul Mundtconfig PCI
8487693465dSPaul Mundt	bool "PCI support"
8497693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
850320e68daSPaul Mundt	select PCI_DOMAINS
8517693465dSPaul Mundt	help
8527693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8537693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8547693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
855ea0e1a9aSPaul Mundt
856320e68daSPaul Mundtconfig PCI_DOMAINS
857320e68daSPaul Mundt	bool
858320e68daSPaul Mundt
859e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
860e16038abSPaul Mundt
861ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
862ea0e1a9aSPaul Mundt
863ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
864ea0e1a9aSPaul Mundt
865ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
866ea0e1a9aSPaul Mundt
867ea0e1a9aSPaul Mundtendmenu
868ea0e1a9aSPaul Mundt
869ea0e1a9aSPaul Mundtmenu "Executable file formats"
870ea0e1a9aSPaul Mundt
871ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
872ea0e1a9aSPaul Mundt
873ea0e1a9aSPaul Mundtendmenu
874ea0e1a9aSPaul Mundt
875ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
876af998a9aSMagnus Dammdepends on EXPERIMENTAL
877f4cb5700SJohannes Berg
878c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
879c6f17cb2SMagnus Damm
880c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
881ea0e1a9aSPaul Mundt
882ea0e1a9aSPaul Mundtendmenu
883ea0e1a9aSPaul Mundt
884ea0e1a9aSPaul Mundtsource "net/Kconfig"
885ea0e1a9aSPaul Mundt
886ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
887ea0e1a9aSPaul Mundt
888ea0e1a9aSPaul Mundtsource "fs/Kconfig"
889ea0e1a9aSPaul Mundt
890ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
891ea0e1a9aSPaul Mundt
892ea0e1a9aSPaul Mundtsource "security/Kconfig"
893ea0e1a9aSPaul Mundt
894ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
895ea0e1a9aSPaul Mundt
8965f737b39SMagnus Dammmenuconfig VIRTUALIZATION
8975f737b39SMagnus Damm	bool "Virtualization"
8985f737b39SMagnus Damm	default n
8995f737b39SMagnus Damm	---help---
9005f737b39SMagnus Damm	  Say Y here to get to see options for using your Linux host to run other
9015f737b39SMagnus Damm	  operating systems inside virtual machines (guests).
9025f737b39SMagnus Damm	  This option alone does not add any kernel code.
9035f737b39SMagnus Damm
9045f737b39SMagnus Damm	  If you say N, all options in this submenu will be skipped and disabled.
9055f737b39SMagnus Damm
9065f737b39SMagnus Dammif VIRTUALIZATION
9075f737b39SMagnus Damm
9085f737b39SMagnus Dammsource drivers/virtio/Kconfig
9095f737b39SMagnus Damm
9105f737b39SMagnus Dammendif # VIRTUALIZATION
9115f737b39SMagnus Damm
912ea0e1a9aSPaul Mundtsource "lib/Kconfig"
913