xref: /openbmc/linux/arch/sh/Kconfig (revision 80fbf838)
1ea0e1a9aSPaul Mundtconfig SUPERH
2ea0e1a9aSPaul Mundt	def_bool y
3ea0e1a9aSPaul Mundt	select EMBEDDED
49483a578SDavid Brownell	select HAVE_CLK
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
18c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
19a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
20eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
2157b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
2257b81330SPaul Mundt	select HAVE_SPARSE_IRQ
236eac1af0SPaul Mundt	select RTC_LIB
24f01789c6SPaul Mundt	select GENERIC_ATOMIC64
2580fbf838SPaul Mundt	# Support the deprecated APIs until MFD and GPIOLIB catch up.
2680fbf838SPaul Mundt	select GENERIC_HARDIRQS_NO_DEPRECATED if !MFD_SUPPORT && !GPIOLIB
27ea0e1a9aSPaul Mundt	help
28ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
29ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
30ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
31ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
32ea0e1a9aSPaul Mundt
33ea0e1a9aSPaul Mundtconfig SUPERH32
343cc000b5SPaul Mundt	def_bool ARCH = "sh"
35d39f5450SChris Smith	select HAVE_KPROBES
36d39f5450SChris Smith	select HAVE_KRETPROBES
376d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
38694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
39fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
40fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
41c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
42e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
43327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
44ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
456fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
460102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
47e583d6b3SSam Ravnborg	select PERF_EVENTS
488dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
4957b81330SPaul Mundt	select SPARSE_IRQ
50ea0e1a9aSPaul Mundt
51ea0e1a9aSPaul Mundtconfig SUPERH64
523cc000b5SPaul Mundt	def_bool ARCH = "sh64"
53ea0e1a9aSPaul Mundt
54f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
55f42b7e3dSPaul Mundt	string
56f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
57f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
58f42b7e3dSPaul Mundt
59ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
60d7ef4fb3SHarvey Harrison	def_bool y
61ea0e1a9aSPaul Mundt
62ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
63ea0e1a9aSPaul Mundt	bool
64ea0e1a9aSPaul Mundt
65ea0e1a9aSPaul Mundtconfig GENERIC_BUG
66ea0e1a9aSPaul Mundt	def_bool y
67a82d53ecSPaul Mundt	depends on BUG && SUPERH32
68ea0e1a9aSPaul Mundt
693767f3f1SPaul Mundtconfig GENERIC_CSUM
703767f3f1SPaul Mundt	def_bool y
713767f3f1SPaul Mundt	depends on SUPERH64
723767f3f1SPaul Mundt
73ea0e1a9aSPaul Mundtconfig GENERIC_FIND_NEXT_BIT
74d7ef4fb3SHarvey Harrison	def_bool y
75ea0e1a9aSPaul Mundt
76ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
77d7ef4fb3SHarvey Harrison	def_bool y
78ea0e1a9aSPaul Mundt
792eb2a436SPaul Mundtconfig IRQ_PER_CPU
802eb2a436SPaul Mundt	def_bool y
812eb2a436SPaul Mundt
822967dab1SMagnus Dammconfig GENERIC_GPIO
832967dab1SMagnus Damm	def_bool n
842967dab1SMagnus Damm
85ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
86cf204fa7SPaul Mundt	bool
87ea0e1a9aSPaul Mundt
88ea0e1a9aSPaul Mundtconfig GENERIC_IOMAP
89ea0e1a9aSPaul Mundt	bool
90ea0e1a9aSPaul Mundt
91ea0e1a9aSPaul Mundtconfig GENERIC_CLOCKEVENTS
92938edae1SPaul Mundt	def_bool y
93ea0e1a9aSPaul Mundt
948c24594dSPaul Mundtconfig GENERIC_CLOCKEVENTS_BROADCAST
958c24594dSPaul Mundt	bool
968c24594dSPaul Mundt
976d134b9eSPaul Mundtconfig GENERIC_CMOS_UPDATE
986d134b9eSPaul Mundt	def_bool y
996d134b9eSPaul Mundt	depends on SH_SH03 || SH_DREAMCAST
1006d134b9eSPaul Mundt
101bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
102bdcab87bSPaul Mundt	def_bool y
103bdcab87bSPaul Mundt	depends on SMP && PREEMPT
104bdcab87bSPaul Mundt
105ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PM
106ea0e1a9aSPaul Mundt	bool
107af998a9aSMagnus Damm	depends on !SMP
108af998a9aSMagnus Damm
109af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
110af998a9aSMagnus Damm	def_bool n
111af998a9aSMagnus Damm
112af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
113af998a9aSMagnus Damm	def_bool n
114ea0e1a9aSPaul Mundt
115ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
116ea0e1a9aSPaul Mundt	bool
117af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
118ea0e1a9aSPaul Mundt
119ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
120ffb4a73dSPaul Mundt	bool
121ffb4a73dSPaul Mundt
122ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
123ea0e1a9aSPaul Mundt	bool
124ea0e1a9aSPaul Mundt
125ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
126ea0e1a9aSPaul Mundt	bool
127ea0e1a9aSPaul Mundt
128ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
129ea0e1a9aSPaul Mundt	bool
130ea0e1a9aSPaul Mundt
131f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
132f5ad881bSPaul Mundt	bool
133f5ad881bSPaul Mundt
134d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
135d5ed4c2eSMagnus Damm	bool
136d5ed4c2eSMagnus Damm
1379570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1389570ef20SMagnus Damm	bool
1399570ef20SMagnus Damm
140ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
141d7ef4fb3SHarvey Harrison	def_bool y
142ea0e1a9aSPaul Mundt
143ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
144d7ef4fb3SHarvey Harrison	def_bool y
145ea0e1a9aSPaul Mundt
1465a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1475a89f1adSPaul Mundt	def_bool y
1485a89f1adSPaul Mundt
149ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
150d7ef4fb3SHarvey Harrison	def_bool n
151ea0e1a9aSPaul Mundt
152ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
153d7ef4fb3SHarvey Harrison	def_bool n
154ea0e1a9aSPaul Mundt
155ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
156ea0e1a9aSPaul Mundt	def_bool y
157ea0e1a9aSPaul Mundt
158e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
159e869a90eSPaul Mundt	def_bool y
160e869a90eSPaul Mundt
1612e046b94SPaul Mundtconfig ARCH_HAS_CPU_IDLE_WAIT
1622e046b94SPaul Mundt	def_bool y
1632e046b94SPaul Mundt
16486e4dd5aSPaul Mundtconfig NO_IOPORT
16586e4dd5aSPaul Mundt	bool
16686e4dd5aSPaul Mundt
167e7cc9a73SMagnus Dammconfig IO_TRAPPED
168e7cc9a73SMagnus Damm	bool
169e7cc9a73SMagnus Damm
17001be5d63SPaul Mundtconfig DMA_COHERENT
17101be5d63SPaul Mundt	bool
17201be5d63SPaul Mundt
17301be5d63SPaul Mundtconfig DMA_NONCOHERENT
17401be5d63SPaul Mundt	def_bool !DMA_COHERENT
17501be5d63SPaul Mundt
1765cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1775cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1785cabbb62SFUJITA Tomonori
17918e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
18018e98307SFUJITA Tomonori	def_bool y
18118e98307SFUJITA Tomonori
182ea0e1a9aSPaul Mundtsource "init/Kconfig"
183ea0e1a9aSPaul Mundt
184dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
185dc52ddc0SMatt Helsley
186ea0e1a9aSPaul Mundtmenu "System type"
187ea0e1a9aSPaul Mundt
188ea0e1a9aSPaul Mundt#
189ea0e1a9aSPaul Mundt# Processor families
190ea0e1a9aSPaul Mundt#
191ea0e1a9aSPaul Mundtconfig CPU_SH2
192ea0e1a9aSPaul Mundt	bool
193ea0e1a9aSPaul Mundt
194ea0e1a9aSPaul Mundtconfig CPU_SH2A
195ea0e1a9aSPaul Mundt	bool
196ea0e1a9aSPaul Mundt	select CPU_SH2
197e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
198ea0e1a9aSPaul Mundt
199ea0e1a9aSPaul Mundtconfig CPU_SH3
200ea0e1a9aSPaul Mundt	bool
201ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
202ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2034fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
204ea0e1a9aSPaul Mundt
205ea0e1a9aSPaul Mundtconfig CPU_SH4
206ea0e1a9aSPaul Mundt	bool
207ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
208ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
209ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2104fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
211ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
212ea0e1a9aSPaul Mundt
213ea0e1a9aSPaul Mundtconfig CPU_SH4A
214ea0e1a9aSPaul Mundt	bool
215ea0e1a9aSPaul Mundt	select CPU_SH4
216ea0e1a9aSPaul Mundt
217ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
218ea0e1a9aSPaul Mundt	bool
219ea0e1a9aSPaul Mundt	select CPU_SH4A
220ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
221ea0e1a9aSPaul Mundt
222ea0e1a9aSPaul Mundtconfig CPU_SH5
223ea0e1a9aSPaul Mundt	bool
224ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
225add47067SPaul Mundt	select SYS_SUPPORTS_TMU
226ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
227ea0e1a9aSPaul Mundt
228ea0e1a9aSPaul Mundtconfig CPU_SHX2
229ea0e1a9aSPaul Mundt	bool
230ea0e1a9aSPaul Mundt
231ea0e1a9aSPaul Mundtconfig CPU_SHX3
232ea0e1a9aSPaul Mundt	bool
23301be5d63SPaul Mundt	select DMA_COHERENT
2344b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2354b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
236ea0e1a9aSPaul Mundt
237dc65a977SPaul Mundtconfig ARCH_SHMOBILE
238dc65a977SPaul Mundt	bool
23977594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
240ac2c596bSMagnus Damm	select PM
241ac2c596bSMagnus Damm	select PM_RUNTIME
242dc65a977SPaul Mundt
24386c8c047SMatt Flemingconfig CPU_HAS_PMU
24486c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
24586c8c047SMatt Fleming       default y
24686c8c047SMatt Fleming       bool
24786c8c047SMatt Fleming
2483cc000b5SPaul Mundtif SUPERH32
2493cc000b5SPaul Mundt
250ea0e1a9aSPaul Mundtchoice
251ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
252ea0e1a9aSPaul Mundt
253ea0e1a9aSPaul Mundt#
254ea0e1a9aSPaul Mundt# Processor subtypes
255ea0e1a9aSPaul Mundt#
256ea0e1a9aSPaul Mundt
257ea0e1a9aSPaul Mundt# SH-2 Processor Support
258ea0e1a9aSPaul Mundt
259ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
260ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
261ea0e1a9aSPaul Mundt	select CPU_SH2
262f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
263ea0e1a9aSPaul Mundt
264ea0e1a9aSPaul Mundt# SH-2A Processor Support
265ea0e1a9aSPaul Mundt
2662825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2672825999eSPeter Griffin	bool "Support SH7201 processor"
2682825999eSPeter Griffin	select CPU_SH2A
2692825999eSPeter Griffin	select CPU_HAS_FPU
270da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2712825999eSPeter Griffin
2726d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2736d01f510SPaul Mundt	bool "Support SH7203 processor"
2746d01f510SPaul Mundt	select CPU_SH2A
27574d99a5eSPaul Mundt	select CPU_HAS_FPU
276f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
277da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2786d01f510SPaul Mundt
279ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
280ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
281ea0e1a9aSPaul Mundt	select CPU_SH2A
282f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
283da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
284ea0e1a9aSPaul Mundt
285a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
286a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
287a8f67f4bSPaul Mundt	select CPU_SH2A
28874d99a5eSPaul Mundt	select CPU_HAS_FPU
289f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
290da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
291a8f67f4bSPaul Mundt
2922ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2932ad69908SPaul Mundt	bool "Support MX-G processor"
2942ad69908SPaul Mundt	select CPU_SH2A
295da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2962ad69908SPaul Mundt	help
2972ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
2982ad69908SPaul Mundt
299ea0e1a9aSPaul Mundt# SH-3 Processor Support
300ea0e1a9aSPaul Mundt
301ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
302ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
303ea0e1a9aSPaul Mundt	select CPU_SH3
304ea0e1a9aSPaul Mundt
305ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
306ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
307ea0e1a9aSPaul Mundt	select CPU_SH3
308ea0e1a9aSPaul Mundt	help
309ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
310ea0e1a9aSPaul Mundt
311ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
312ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
313ea0e1a9aSPaul Mundt	select CPU_SH3
314ea0e1a9aSPaul Mundt	help
315ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
316ea0e1a9aSPaul Mundt
317ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
318ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
319ea0e1a9aSPaul Mundt	select CPU_SH3
320ea0e1a9aSPaul Mundt	help
321ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
322ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
323ea0e1a9aSPaul Mundt
324ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
325ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
326ea0e1a9aSPaul Mundt	select CPU_SH3
327ea0e1a9aSPaul Mundt	help
328ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
329ea0e1a9aSPaul Mundt
330ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
331ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
332ea0e1a9aSPaul Mundt	select CPU_SH3
333ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
334ea0e1a9aSPaul Mundt	help
335ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
336ea0e1a9aSPaul Mundt
337ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
338ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
339ea0e1a9aSPaul Mundt	select CPU_SH3
340ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
341ea0e1a9aSPaul Mundt	help
342ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
343ea0e1a9aSPaul Mundt
344ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
345ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
346ea0e1a9aSPaul Mundt	select CPU_SH3
347ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3482b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
349ea0e1a9aSPaul Mundt	help
350ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
351ea0e1a9aSPaul Mundt
35231a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
35331a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
35431a49c4bSYoshihiro Shimoda	select CPU_SH3
35531a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3562b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
35731a49c4bSYoshihiro Shimoda	help
35831a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
35931a49c4bSYoshihiro Shimoda
360ea0e1a9aSPaul Mundt# SH-4 Processor Support
361ea0e1a9aSPaul Mundt
362ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
363ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
364ea0e1a9aSPaul Mundt	select CPU_SH4
365ea0e1a9aSPaul Mundt	help
366ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
367ea0e1a9aSPaul Mundt
368ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
369ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
370ea0e1a9aSPaul Mundt	select CPU_SH4
371ea0e1a9aSPaul Mundt	help
372ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
373ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
374ea0e1a9aSPaul Mundt
375ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
376ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
377ea0e1a9aSPaul Mundt	select CPU_SH4
378ea0e1a9aSPaul Mundt
379ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
380ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
381ea0e1a9aSPaul Mundt	select CPU_SH4
382ea0e1a9aSPaul Mundt
383ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
384ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
385ea0e1a9aSPaul Mundt	select CPU_SH4
386ea0e1a9aSPaul Mundt	help
387ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
388ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
389ea0e1a9aSPaul Mundt
390ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
391ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
392ea0e1a9aSPaul Mundt	select CPU_SH4
393ea0e1a9aSPaul Mundt
394ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
395ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
396ea0e1a9aSPaul Mundt	select CPU_SH4
397ea0e1a9aSPaul Mundt
398ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
399ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
400ea0e1a9aSPaul Mundt	select CPU_SH4
401ea0e1a9aSPaul Mundt
402ea0e1a9aSPaul Mundt# SH-4A Processor Support
403ea0e1a9aSPaul Mundt
404178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
405178dd0cdSPaul Mundt	bool "Support SH7723 processor"
406178dd0cdSPaul Mundt	select CPU_SH4A
407178dd0cdSPaul Mundt	select CPU_SHX2
408dc65a977SPaul Mundt	select ARCH_SHMOBILE
409178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
410f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
411178dd0cdSPaul Mundt	help
412178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
413178dd0cdSPaul Mundt
4140207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4150207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4160207a2efSKuninori Morimoto	select CPU_SH4A
4170207a2efSKuninori Morimoto	select CPU_SHX2
41859fe700dSPaul Mundt	select ARCH_SHMOBILE
4190207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4200207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
4210207a2efSKuninori Morimoto	help
4220207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4230207a2efSKuninori Morimoto
424c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
425c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
426c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
427c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
428c01f0f1aSYoshihiro Shimoda	help
429c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
430c01f0f1aSYoshihiro Shimoda
4317d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4327d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4337d740a06SYoshihiro Shimoda	select CPU_SH4A
4347d740a06SYoshihiro Shimoda	help
4357d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4367d740a06SYoshihiro Shimoda
437ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
438ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
439ea0e1a9aSPaul Mundt	select CPU_SH4A
440ea0e1a9aSPaul Mundt
441ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
442ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
443ea0e1a9aSPaul Mundt	select CPU_SH4A
444ea0e1a9aSPaul Mundt
445ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
446ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
447ea0e1a9aSPaul Mundt	select CPU_SH4A
448ea0e1a9aSPaul Mundt	select CPU_SHX2
449ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
450ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
451ea0e1a9aSPaul Mundt
45255ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
45355ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
45455ba99ebSKuninori Morimoto	select CPU_SH4A
45537042fbdSPaul Mundt	select CPU_SHX3
4568263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4572eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
45855ba99ebSKuninori Morimoto
459ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
460ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
461ea0e1a9aSPaul Mundt	select CPU_SH4A
462ea0e1a9aSPaul Mundt	select CPU_SHX3
4635840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
464742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
465ea0e1a9aSPaul Mundt
466ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
467ea0e1a9aSPaul Mundt
468ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
469ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
470ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
471dc65a977SPaul Mundt	select ARCH_SHMOBILE
472f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
473ea0e1a9aSPaul Mundt
474ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
475ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
476ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
477ea0e1a9aSPaul Mundt	select CPU_SHX2
478dc65a977SPaul Mundt	select ARCH_SHMOBILE
479ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
480ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
481f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
482ea0e1a9aSPaul Mundt
4839109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
4849109a30eSMagnus Damm	bool "Support SH7366 processor"
4859109a30eSMagnus Damm	select CPU_SH4AL_DSP
4869109a30eSMagnus Damm	select CPU_SHX2
487dc65a977SPaul Mundt	select ARCH_SHMOBILE
4889109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
4899109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
490f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
4919109a30eSMagnus Damm
4923cc000b5SPaul Mundtendchoice
4933cc000b5SPaul Mundt
4943cc000b5SPaul Mundtendif
4953cc000b5SPaul Mundt
4963cc000b5SPaul Mundtif SUPERH64
4973cc000b5SPaul Mundt
4983cc000b5SPaul Mundtchoice
4993cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5003cc000b5SPaul Mundt
501ea0e1a9aSPaul Mundt# SH-5 Processor Support
502ea0e1a9aSPaul Mundt
503ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
504ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
505ea0e1a9aSPaul Mundt	select CPU_SH5
506ea0e1a9aSPaul Mundt
507ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
508ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5098ef97dd7SPaul Mundt	select CPU_SH5
510ea0e1a9aSPaul Mundt
511ea0e1a9aSPaul Mundtendchoice
512ea0e1a9aSPaul Mundt
5133cc000b5SPaul Mundtendif
5143cc000b5SPaul Mundt
515ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
516939a24a6SPaul Mundt
517ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
518ea0e1a9aSPaul Mundt
519939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
520ea0e1a9aSPaul Mundt
521ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
522ea0e1a9aSPaul Mundt
5239570ef20SMagnus Dammconfig SH_TIMER_TMU
5249570ef20SMagnus Damm	bool "TMU timer driver"
525f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5269570ef20SMagnus Damm	default y
5279570ef20SMagnus Damm	help
5289570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5299570ef20SMagnus Damm
530f5ad881bSPaul Mundtconfig SH_TIMER_CMT
531f425752fSMagnus Damm	bool "CMT timer driver"
532f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
533f425752fSMagnus Damm	default y
534f425752fSMagnus Damm	help
535f425752fSMagnus Damm	  This enables build of the CMT timer driver.
536f5ad881bSPaul Mundt
537d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
538d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5393280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
540d5ed4c2eSMagnus Damm	default y
541d5ed4c2eSMagnus Damm	help
542d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
543d5ed4c2eSMagnus Damm
544ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
545ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5468152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
547ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5488152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5498152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5508152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5518152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5528152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5538152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
55443a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
555ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
556ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
557ea0e1a9aSPaul Mundt	default "50000000"
558ea0e1a9aSPaul Mundt	help
559ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
560ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
561ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
562ea0e1a9aSPaul Mundt
56336aa1e32SPaul Mundtconfig SH_CLK_CPG
56436aa1e32SPaul Mundt	def_bool y
56536aa1e32SPaul Mundt
566253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
56736aa1e32SPaul Mundt	depends on SH_CLK_CPG
56843a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
5695924ad0dSPaul Mundt		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757
570253b0887SPaul Mundt
571ea0e1a9aSPaul Mundtconfig SH_CLK_MD
572ea0e1a9aSPaul Mundt	int "CPU Mode Pin Setting"
5736d01f510SPaul Mundt	depends on CPU_SH2
574ea0e1a9aSPaul Mundt	default 6 if CPU_SUBTYPE_SH7206
575ea0e1a9aSPaul Mundt	default 5 if CPU_SUBTYPE_SH7619
576ea0e1a9aSPaul Mundt	default 0
577ea0e1a9aSPaul Mundt	help
578ea0e1a9aSPaul Mundt	  MD2 - MD0 pin setting.
579ea0e1a9aSPaul Mundt
580ea0e1a9aSPaul Mundtsource "kernel/time/Kconfig"
581ea0e1a9aSPaul Mundt
582ea0e1a9aSPaul Mundtendmenu
583ea0e1a9aSPaul Mundt
584ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
585ea0e1a9aSPaul Mundt
586ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
587ea0e1a9aSPaul Mundt
588ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
589ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
590ea0e1a9aSPaul Mundt	depends on CPU_FREQ
591ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
592ea0e1a9aSPaul Mundt	help
5938a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
5948a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
5958a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
5968a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
5978a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
5988a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
599ea0e1a9aSPaul Mundt
600ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
601ea0e1a9aSPaul Mundt
602ea0e1a9aSPaul Mundt	  If unsure, say N.
603ea0e1a9aSPaul Mundt
604ea0e1a9aSPaul Mundtendmenu
605ea0e1a9aSPaul Mundt
606ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
607ea0e1a9aSPaul Mundt
608ea0e1a9aSPaul Mundtendmenu
609ea0e1a9aSPaul Mundt
610ea0e1a9aSPaul Mundtmenu "Kernel features"
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundtconfig KEXEC
615ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
616f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
617ea0e1a9aSPaul Mundt	help
618ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
619ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
620ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
621ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
622ea0e1a9aSPaul Mundt
623ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
624ea0e1a9aSPaul Mundt
625ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
626ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
627ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
628ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
629ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
630ea0e1a9aSPaul Mundt
631ea0e1a9aSPaul Mundtconfig CRASH_DUMP
632ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
633d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
634ea0e1a9aSPaul Mundt	help
635ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
636ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
637ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
638ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
639ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
640ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
641ea0e1a9aSPaul Mundt	  MEMORY_START.
642ea0e1a9aSPaul Mundt
643ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
644ea0e1a9aSPaul Mundt
645b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
646b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
647b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
648b7cf6ddcSMagnus Damm	help
649b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
650b7cf6ddcSMagnus Damm	  code via KEXEC
651b7cf6ddcSMagnus Damm
652c4637d47SPaul Mundtconfig SECCOMP
653c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
654c4637d47SPaul Mundt	depends on PROC_FS
655c4637d47SPaul Mundt	help
656c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
657c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
658c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
659c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
660c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
661c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
662c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
663c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
664c4637d47SPaul Mundt	  mode.
665c4637d47SPaul Mundt
666c4637d47SPaul Mundt	  If unsure, say N.
667c4637d47SPaul Mundt
668ea0e1a9aSPaul Mundtconfig SMP
669ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
670ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
671490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
672ea0e1a9aSPaul Mundt	---help---
673ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
674ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
675ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
676ea0e1a9aSPaul Mundt
677ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
678ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
679ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
680ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
681ea0e1a9aSPaul Mundt	  will run faster if you say N here.
682ea0e1a9aSPaul Mundt
683ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
684ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
685ea0e1a9aSPaul Mundt
68603502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
68703502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
688ea0e1a9aSPaul Mundt
689ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
690ea0e1a9aSPaul Mundt
691ea0e1a9aSPaul Mundtconfig NR_CPUS
692ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
693ea0e1a9aSPaul Mundt	range 2 32
694ea0e1a9aSPaul Mundt	depends on SMP
6952eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
696ea0e1a9aSPaul Mundt	default "2"
697ea0e1a9aSPaul Mundt	help
698ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
699ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
700ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
701ea0e1a9aSPaul Mundt
702ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
703ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
704ea0e1a9aSPaul Mundt
705763142d1SPaul Mundtconfig HOTPLUG_CPU
706763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
707763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
708763142d1SPaul Mundt	help
709763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
710763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
711763142d1SPaul Mundt
712ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
713ea0e1a9aSPaul Mundt
714ea0e1a9aSPaul Mundtconfig GUSA
715ea0e1a9aSPaul Mundt	def_bool y
7161efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
717ea0e1a9aSPaul Mundt	help
718ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
719ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
720ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
721ea0e1a9aSPaul Mundt
722ea0e1a9aSPaul Mundt	  For additional information, design information can be found
723ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
724ea0e1a9aSPaul Mundt
725ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
726ea0e1a9aSPaul Mundt	  atomicity implementations exist.
727ea0e1a9aSPaul Mundt
7281efe4ce3SStuart Menefyconfig GUSA_RB
7291efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7301efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7311efe4ce3SStuart Menefy	help
7321efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
733692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7341efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7351efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
736692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7371efe4ce3SStuart Menefy
73886c8c047SMatt Flemingconfig HW_PERF_EVENTS
73986c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
74086c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
74186c8c047SMatt Fleming	default y
74286c8c047SMatt Fleming	help
74386c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
74486c8c047SMatt Fleming	  disabled, perf events will use software events only.
74586c8c047SMatt Fleming
74643b8774dSPaul Mundtsource "drivers/sh/Kconfig"
74743b8774dSPaul Mundt
748ea0e1a9aSPaul Mundtendmenu
749ea0e1a9aSPaul Mundt
750ea0e1a9aSPaul Mundtmenu "Boot options"
751ea0e1a9aSPaul Mundt
752ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
753b412a49aSPaul Mundt	hex
754b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
755b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
756b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
757ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
758ea0e1a9aSPaul Mundt	default "0x00001000"
759ea0e1a9aSPaul Mundt	help
760ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
761ea0e1a9aSPaul Mundt
762ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
763b412a49aSPaul Mundt	hex
764b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
765a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
766b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
767b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
768b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
769b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
770ea0e1a9aSPaul Mundt	default "0x00800000"
771ea0e1a9aSPaul Mundt	help
772ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
773ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
774ea0e1a9aSPaul Mundt	  memory.
775ea0e1a9aSPaul Mundt
776b412a49aSPaul Mundtconfig ENTRY_OFFSET
777b412a49aSPaul Mundt	hex
778b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
779b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
780b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
781b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
782b412a49aSPaul Mundt	default "0x00000000"
783b412a49aSPaul Mundt
7844705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7854705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7864705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
7874705b2e8SMagnus Damm	help
7884705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
7894705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
7904705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
7914705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
7924705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
7934705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
7944705b2e8SMagnus Damm
795d724a9c9SPawel Mollchoice
796d724a9c9SPawel Moll	prompt "Kernel command line"
797d724a9c9SPawel Moll	optional
798d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
799d724a9c9SPawel Moll	help
800d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
801d724a9c9SPawel Moll	  to be set.
802d724a9c9SPawel Moll
803d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
804d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
805d724a9c9SPawel Moll	help
806d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
807d724a9c9SPawel Moll	  a bootloader.
808d724a9c9SPawel Moll
809d724a9c9SPawel Mollconfig CMDLINE_EXTEND
810d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
811d724a9c9SPawel Moll	help
812d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
813d724a9c9SPawel Moll	  by a bootloader.
814d724a9c9SPawel Moll
815d724a9c9SPawel Mollendchoice
816ea0e1a9aSPaul Mundt
817ea0e1a9aSPaul Mundtconfig CMDLINE
818d724a9c9SPawel Moll	string "Kernel command line arguments string"
819d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
820ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
821ea0e1a9aSPaul Mundt
822ea0e1a9aSPaul Mundtendmenu
823ea0e1a9aSPaul Mundt
824ea0e1a9aSPaul Mundtmenu "Bus options"
825ea0e1a9aSPaul Mundt
826ea0e1a9aSPaul Mundtconfig SUPERHYWAY
827ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
828ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
829ea0e1a9aSPaul Mundt
830ea0e1a9aSPaul Mundtconfig MAPLE
831ea0e1a9aSPaul Mundt	bool "Maple Bus support"
832ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
833ea0e1a9aSPaul Mundt	help
834ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
835ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
836ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
837ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
838ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
839ea0e1a9aSPaul Mundt	 connection.
840ea0e1a9aSPaul Mundt
8417693465dSPaul Mundtconfig PCI
8427693465dSPaul Mundt	bool "PCI support"
8437693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
844320e68daSPaul Mundt	select PCI_DOMAINS
8457693465dSPaul Mundt	help
8467693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8477693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8487693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
849ea0e1a9aSPaul Mundt
850320e68daSPaul Mundtconfig PCI_DOMAINS
851320e68daSPaul Mundt	bool
852320e68daSPaul Mundt
853e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
854e16038abSPaul Mundt
855ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
856ea0e1a9aSPaul Mundt
857ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
858ea0e1a9aSPaul Mundt
859ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
860ea0e1a9aSPaul Mundt
861ea0e1a9aSPaul Mundtendmenu
862ea0e1a9aSPaul Mundt
863ea0e1a9aSPaul Mundtmenu "Executable file formats"
864ea0e1a9aSPaul Mundt
865ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
866ea0e1a9aSPaul Mundt
867ea0e1a9aSPaul Mundtendmenu
868ea0e1a9aSPaul Mundt
869ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
870af998a9aSMagnus Dammdepends on EXPERIMENTAL
871f4cb5700SJohannes Berg
872c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
873c6f17cb2SMagnus Damm
874c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
875ea0e1a9aSPaul Mundt
876ea0e1a9aSPaul Mundtendmenu
877ea0e1a9aSPaul Mundt
878ea0e1a9aSPaul Mundtsource "net/Kconfig"
879ea0e1a9aSPaul Mundt
880ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
881ea0e1a9aSPaul Mundt
882ea0e1a9aSPaul Mundtsource "fs/Kconfig"
883ea0e1a9aSPaul Mundt
884ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
885ea0e1a9aSPaul Mundt
886ea0e1a9aSPaul Mundtsource "security/Kconfig"
887ea0e1a9aSPaul Mundt
888ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
889ea0e1a9aSPaul Mundt
8905f737b39SMagnus Dammmenuconfig VIRTUALIZATION
8915f737b39SMagnus Damm	bool "Virtualization"
8925f737b39SMagnus Damm	default n
8935f737b39SMagnus Damm	---help---
8945f737b39SMagnus Damm	  Say Y here to get to see options for using your Linux host to run other
8955f737b39SMagnus Damm	  operating systems inside virtual machines (guests).
8965f737b39SMagnus Damm	  This option alone does not add any kernel code.
8975f737b39SMagnus Damm
8985f737b39SMagnus Damm	  If you say N, all options in this submenu will be skipped and disabled.
8995f737b39SMagnus Damm
9005f737b39SMagnus Dammif VIRTUALIZATION
9015f737b39SMagnus Damm
9025f737b39SMagnus Dammsource drivers/virtio/Kconfig
9035f737b39SMagnus Damm
9045f737b39SMagnus Dammendif # VIRTUALIZATION
9055f737b39SMagnus Damm
906ea0e1a9aSPaul Mundtsource "lib/Kconfig"
907