xref: /openbmc/linux/arch/sh/Kconfig (revision 0664996b)
1ea0e1a9aSPaul Mundtconfig SUPERH
2ea0e1a9aSPaul Mundt	def_bool y
36a108a14SDavid Rientjes	select EXPERT
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
283d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
29ea0e1a9aSPaul Mundt	help
30ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
31ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
32ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
33ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
34ea0e1a9aSPaul Mundt
35ea0e1a9aSPaul Mundtconfig SUPERH32
363cc000b5SPaul Mundt	def_bool ARCH = "sh"
37d39f5450SChris Smith	select HAVE_KPROBES
38d39f5450SChris Smith	select HAVE_KRETPROBES
396d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
40694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
41fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
42fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
43c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
44e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
45327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
46ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
476fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
480102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
49e583d6b3SSam Ravnborg	select PERF_EVENTS
508dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
5157b81330SPaul Mundt	select SPARSE_IRQ
52ea0e1a9aSPaul Mundt
53ea0e1a9aSPaul Mundtconfig SUPERH64
543cc000b5SPaul Mundt	def_bool ARCH = "sh64"
55ea0e1a9aSPaul Mundt
56f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
57f42b7e3dSPaul Mundt	string
58f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
59f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
60f42b7e3dSPaul Mundt
61ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
62d7ef4fb3SHarvey Harrison	def_bool y
63ea0e1a9aSPaul Mundt
64ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
65ea0e1a9aSPaul Mundt	bool
66ea0e1a9aSPaul Mundt
67ea0e1a9aSPaul Mundtconfig GENERIC_BUG
68ea0e1a9aSPaul Mundt	def_bool y
69a82d53ecSPaul Mundt	depends on BUG && SUPERH32
70ea0e1a9aSPaul Mundt
713767f3f1SPaul Mundtconfig GENERIC_CSUM
723767f3f1SPaul Mundt	def_bool y
733767f3f1SPaul Mundt	depends on SUPERH64
743767f3f1SPaul Mundt
75ea0e1a9aSPaul Mundtconfig GENERIC_FIND_NEXT_BIT
76d7ef4fb3SHarvey Harrison	def_bool y
77ea0e1a9aSPaul Mundt
780664996bSAkinobu Mitaconfig GENERIC_FIND_BIT_LE
790664996bSAkinobu Mita	def_bool y
800664996bSAkinobu Mita
81ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
82d7ef4fb3SHarvey Harrison	def_bool y
83ea0e1a9aSPaul Mundt
842eb2a436SPaul Mundtconfig IRQ_PER_CPU
852eb2a436SPaul Mundt	def_bool y
862eb2a436SPaul Mundt
872967dab1SMagnus Dammconfig GENERIC_GPIO
882967dab1SMagnus Damm	def_bool n
892967dab1SMagnus Damm
90ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
91cf204fa7SPaul Mundt	bool
92ea0e1a9aSPaul Mundt
93ea0e1a9aSPaul Mundtconfig GENERIC_IOMAP
94ea0e1a9aSPaul Mundt	bool
95ea0e1a9aSPaul Mundt
96ea0e1a9aSPaul Mundtconfig GENERIC_CLOCKEVENTS
97938edae1SPaul Mundt	def_bool y
98ea0e1a9aSPaul Mundt
998c24594dSPaul Mundtconfig GENERIC_CLOCKEVENTS_BROADCAST
1008c24594dSPaul Mundt	bool
1018c24594dSPaul Mundt
1026d134b9eSPaul Mundtconfig GENERIC_CMOS_UPDATE
1036d134b9eSPaul Mundt	def_bool y
1046d134b9eSPaul Mundt	depends on SH_SH03 || SH_DREAMCAST
1056d134b9eSPaul Mundt
106bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
107bdcab87bSPaul Mundt	def_bool y
108bdcab87bSPaul Mundt	depends on SMP && PREEMPT
109bdcab87bSPaul Mundt
110ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PM
111ea0e1a9aSPaul Mundt	bool
112af998a9aSMagnus Damm	depends on !SMP
113af998a9aSMagnus Damm
114af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
115af998a9aSMagnus Damm	def_bool n
116af998a9aSMagnus Damm
117af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
118af998a9aSMagnus Damm	def_bool n
119ea0e1a9aSPaul Mundt
120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
121ea0e1a9aSPaul Mundt	bool
122af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
123ea0e1a9aSPaul Mundt
124ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
125ffb4a73dSPaul Mundt	bool
126ffb4a73dSPaul Mundt
127ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
128ea0e1a9aSPaul Mundt	bool
129ea0e1a9aSPaul Mundt
130ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
131ea0e1a9aSPaul Mundt	bool
132ea0e1a9aSPaul Mundt
133ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
134ea0e1a9aSPaul Mundt	bool
135ea0e1a9aSPaul Mundt
136f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
137f5ad881bSPaul Mundt	bool
138f5ad881bSPaul Mundt
139d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
140d5ed4c2eSMagnus Damm	bool
141d5ed4c2eSMagnus Damm
1429570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1439570ef20SMagnus Damm	bool
1449570ef20SMagnus Damm
145ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
146d7ef4fb3SHarvey Harrison	def_bool y
147ea0e1a9aSPaul Mundt
148ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
149d7ef4fb3SHarvey Harrison	def_bool y
150ea0e1a9aSPaul Mundt
1515a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1525a89f1adSPaul Mundt	def_bool y
1535a89f1adSPaul Mundt
154ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
155d7ef4fb3SHarvey Harrison	def_bool n
156ea0e1a9aSPaul Mundt
157ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
158d7ef4fb3SHarvey Harrison	def_bool n
159ea0e1a9aSPaul Mundt
160ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
161ea0e1a9aSPaul Mundt	def_bool y
162ea0e1a9aSPaul Mundt
163e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
164e869a90eSPaul Mundt	def_bool y
165e869a90eSPaul Mundt
1662e046b94SPaul Mundtconfig ARCH_HAS_CPU_IDLE_WAIT
1672e046b94SPaul Mundt	def_bool y
1682e046b94SPaul Mundt
16986e4dd5aSPaul Mundtconfig NO_IOPORT
17037b7a978SPaul Mundt	def_bool !PCI
17137b7a978SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV
17286e4dd5aSPaul Mundt
173e7cc9a73SMagnus Dammconfig IO_TRAPPED
174e7cc9a73SMagnus Damm	bool
175e7cc9a73SMagnus Damm
17601be5d63SPaul Mundtconfig DMA_COHERENT
17701be5d63SPaul Mundt	bool
17801be5d63SPaul Mundt
17901be5d63SPaul Mundtconfig DMA_NONCOHERENT
18001be5d63SPaul Mundt	def_bool !DMA_COHERENT
18101be5d63SPaul Mundt
1825cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1835cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1845cabbb62SFUJITA Tomonori
18518e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
18618e98307SFUJITA Tomonori	def_bool y
18718e98307SFUJITA Tomonori
188ea0e1a9aSPaul Mundtsource "init/Kconfig"
189ea0e1a9aSPaul Mundt
190dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
191dc52ddc0SMatt Helsley
192ea0e1a9aSPaul Mundtmenu "System type"
193ea0e1a9aSPaul Mundt
194ea0e1a9aSPaul Mundt#
195ea0e1a9aSPaul Mundt# Processor families
196ea0e1a9aSPaul Mundt#
197ea0e1a9aSPaul Mundtconfig CPU_SH2
198ea0e1a9aSPaul Mundt	bool
199ea0e1a9aSPaul Mundt
200ea0e1a9aSPaul Mundtconfig CPU_SH2A
201ea0e1a9aSPaul Mundt	bool
202ea0e1a9aSPaul Mundt	select CPU_SH2
203e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
204ea0e1a9aSPaul Mundt
205ea0e1a9aSPaul Mundtconfig CPU_SH3
206ea0e1a9aSPaul Mundt	bool
207ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
208ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2094fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
210ea0e1a9aSPaul Mundt
211ea0e1a9aSPaul Mundtconfig CPU_SH4
212ea0e1a9aSPaul Mundt	bool
213ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
214ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
215ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2164fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
217ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
218ea0e1a9aSPaul Mundt
219ea0e1a9aSPaul Mundtconfig CPU_SH4A
220ea0e1a9aSPaul Mundt	bool
221ea0e1a9aSPaul Mundt	select CPU_SH4
222ea0e1a9aSPaul Mundt
223ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
224ea0e1a9aSPaul Mundt	bool
225ea0e1a9aSPaul Mundt	select CPU_SH4A
226ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
227ea0e1a9aSPaul Mundt
228ea0e1a9aSPaul Mundtconfig CPU_SH5
229ea0e1a9aSPaul Mundt	bool
230ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
231add47067SPaul Mundt	select SYS_SUPPORTS_TMU
232ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
233ea0e1a9aSPaul Mundt
234ea0e1a9aSPaul Mundtconfig CPU_SHX2
235ea0e1a9aSPaul Mundt	bool
236ea0e1a9aSPaul Mundt
237ea0e1a9aSPaul Mundtconfig CPU_SHX3
238ea0e1a9aSPaul Mundt	bool
23901be5d63SPaul Mundt	select DMA_COHERENT
2404b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2414b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
242ea0e1a9aSPaul Mundt
243dc65a977SPaul Mundtconfig ARCH_SHMOBILE
244dc65a977SPaul Mundt	bool
24577594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
246ac2c596bSMagnus Damm	select PM
247ac2c596bSMagnus Damm	select PM_RUNTIME
248dc65a977SPaul Mundt
24986c8c047SMatt Flemingconfig CPU_HAS_PMU
25086c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
25186c8c047SMatt Fleming       default y
25286c8c047SMatt Fleming       bool
25386c8c047SMatt Fleming
2543cc000b5SPaul Mundtif SUPERH32
2553cc000b5SPaul Mundt
256ea0e1a9aSPaul Mundtchoice
257ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
258ea0e1a9aSPaul Mundt
259ea0e1a9aSPaul Mundt#
260ea0e1a9aSPaul Mundt# Processor subtypes
261ea0e1a9aSPaul Mundt#
262ea0e1a9aSPaul Mundt
263ea0e1a9aSPaul Mundt# SH-2 Processor Support
264ea0e1a9aSPaul Mundt
265ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
266ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
267ea0e1a9aSPaul Mundt	select CPU_SH2
268f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
269ea0e1a9aSPaul Mundt
270ea0e1a9aSPaul Mundt# SH-2A Processor Support
271ea0e1a9aSPaul Mundt
2722825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2732825999eSPeter Griffin	bool "Support SH7201 processor"
2742825999eSPeter Griffin	select CPU_SH2A
2752825999eSPeter Griffin	select CPU_HAS_FPU
276da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2772825999eSPeter Griffin
2786d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2796d01f510SPaul Mundt	bool "Support SH7203 processor"
2806d01f510SPaul Mundt	select CPU_SH2A
28174d99a5eSPaul Mundt	select CPU_HAS_FPU
282f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
283da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
284f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
2856d01f510SPaul Mundt
286ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
287ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
288ea0e1a9aSPaul Mundt	select CPU_SH2A
289f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
290da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
291ea0e1a9aSPaul Mundt
292a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
293a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
294a8f67f4bSPaul Mundt	select CPU_SH2A
29574d99a5eSPaul Mundt	select CPU_HAS_FPU
296f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
297da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
298a8f67f4bSPaul Mundt
2992ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3002ad69908SPaul Mundt	bool "Support MX-G processor"
3012ad69908SPaul Mundt	select CPU_SH2A
302da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
3032ad69908SPaul Mundt	help
3042ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3052ad69908SPaul Mundt
306ea0e1a9aSPaul Mundt# SH-3 Processor Support
307ea0e1a9aSPaul Mundt
308ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
309ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
310ea0e1a9aSPaul Mundt	select CPU_SH3
311ea0e1a9aSPaul Mundt
312ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
313ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
314ea0e1a9aSPaul Mundt	select CPU_SH3
315ea0e1a9aSPaul Mundt	help
316ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
317ea0e1a9aSPaul Mundt
318ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
319ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
320ea0e1a9aSPaul Mundt	select CPU_SH3
321ea0e1a9aSPaul Mundt	help
322ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
323ea0e1a9aSPaul Mundt
324ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
325ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
326ea0e1a9aSPaul Mundt	select CPU_SH3
327ea0e1a9aSPaul Mundt	help
328ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
329ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
330ea0e1a9aSPaul Mundt
331ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
332ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
333ea0e1a9aSPaul Mundt	select CPU_SH3
334ea0e1a9aSPaul Mundt	help
335ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
336ea0e1a9aSPaul Mundt
337ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
338ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
339ea0e1a9aSPaul Mundt	select CPU_SH3
340ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
341ea0e1a9aSPaul Mundt	help
342ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
343ea0e1a9aSPaul Mundt
344ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
345ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
346ea0e1a9aSPaul Mundt	select CPU_SH3
347ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
348ea0e1a9aSPaul Mundt	help
349ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
350ea0e1a9aSPaul Mundt
351ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
352ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
353ea0e1a9aSPaul Mundt	select CPU_SH3
354ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3552b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
356f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
357e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
358ea0e1a9aSPaul Mundt	help
359ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
360ea0e1a9aSPaul Mundt
36131a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
36231a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
36331a49c4bSYoshihiro Shimoda	select CPU_SH3
36431a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3652b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
366e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
36731a49c4bSYoshihiro Shimoda	help
36831a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
36931a49c4bSYoshihiro Shimoda
370ea0e1a9aSPaul Mundt# SH-4 Processor Support
371ea0e1a9aSPaul Mundt
372ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
373ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
374ea0e1a9aSPaul Mundt	select CPU_SH4
375ea0e1a9aSPaul Mundt	help
376ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
377ea0e1a9aSPaul Mundt
378ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
379ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
380ea0e1a9aSPaul Mundt	select CPU_SH4
381ea0e1a9aSPaul Mundt	help
382ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
383ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
384ea0e1a9aSPaul Mundt
385ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
386ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
387ea0e1a9aSPaul Mundt	select CPU_SH4
388ea0e1a9aSPaul Mundt
389ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
390ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
391ea0e1a9aSPaul Mundt	select CPU_SH4
392ea0e1a9aSPaul Mundt
393ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
394ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
395ea0e1a9aSPaul Mundt	select CPU_SH4
396ea0e1a9aSPaul Mundt	help
397ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
398ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
399ea0e1a9aSPaul Mundt
400ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
401ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
402ea0e1a9aSPaul Mundt	select CPU_SH4
403ea0e1a9aSPaul Mundt
404ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
405ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
406ea0e1a9aSPaul Mundt	select CPU_SH4
407ea0e1a9aSPaul Mundt
408ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
409ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
410ea0e1a9aSPaul Mundt	select CPU_SH4
411ea0e1a9aSPaul Mundt
412ea0e1a9aSPaul Mundt# SH-4A Processor Support
413ea0e1a9aSPaul Mundt
414178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
415178dd0cdSPaul Mundt	bool "Support SH7723 processor"
416178dd0cdSPaul Mundt	select CPU_SH4A
417178dd0cdSPaul Mundt	select CPU_SHX2
418dc65a977SPaul Mundt	select ARCH_SHMOBILE
419178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
420f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
421f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
422178dd0cdSPaul Mundt	help
423178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
424178dd0cdSPaul Mundt
4250207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4260207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4270207a2efSKuninori Morimoto	select CPU_SH4A
4280207a2efSKuninori Morimoto	select CPU_SHX2
42959fe700dSPaul Mundt	select ARCH_SHMOBILE
4300207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4310207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
432f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4330207a2efSKuninori Morimoto	help
4340207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4350207a2efSKuninori Morimoto
436c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
437c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
438c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
439c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
440f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4410fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4420fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
443c01f0f1aSYoshihiro Shimoda	help
444c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
445c01f0f1aSYoshihiro Shimoda
4467d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4477d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4487d740a06SYoshihiro Shimoda	select CPU_SH4A
449e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4507d740a06SYoshihiro Shimoda	help
4517d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4527d740a06SYoshihiro Shimoda
453ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
454ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
455ea0e1a9aSPaul Mundt	select CPU_SH4A
456ea0e1a9aSPaul Mundt
457ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
458ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
459ea0e1a9aSPaul Mundt	select CPU_SH4A
460ea0e1a9aSPaul Mundt
461ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
462ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
463ea0e1a9aSPaul Mundt	select CPU_SH4A
464ea0e1a9aSPaul Mundt	select CPU_SHX2
465ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
466ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
467f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
468ea0e1a9aSPaul Mundt
46955ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
47055ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
47155ba99ebSKuninori Morimoto	select CPU_SH4A
47237042fbdSPaul Mundt	select CPU_SHX3
4738263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4742eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
475f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
476e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
477e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
47855ba99ebSKuninori Morimoto
479ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
480ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
481ea0e1a9aSPaul Mundt	select CPU_SH4A
482ea0e1a9aSPaul Mundt	select CPU_SHX3
4835840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
484742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
485ea0e1a9aSPaul Mundt
486ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
487ea0e1a9aSPaul Mundt
488ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
489ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
490ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
491dc65a977SPaul Mundt	select ARCH_SHMOBILE
492f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
493ea0e1a9aSPaul Mundt
494ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
495ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
496ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
497ea0e1a9aSPaul Mundt	select CPU_SHX2
498dc65a977SPaul Mundt	select ARCH_SHMOBILE
499ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
500ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
501f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
502f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
503ea0e1a9aSPaul Mundt
5049109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5059109a30eSMagnus Damm	bool "Support SH7366 processor"
5069109a30eSMagnus Damm	select CPU_SH4AL_DSP
5079109a30eSMagnus Damm	select CPU_SHX2
508dc65a977SPaul Mundt	select ARCH_SHMOBILE
5099109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5109109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
511f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5129109a30eSMagnus Damm
5133cc000b5SPaul Mundtendchoice
5143cc000b5SPaul Mundt
5153cc000b5SPaul Mundtendif
5163cc000b5SPaul Mundt
5173cc000b5SPaul Mundtif SUPERH64
5183cc000b5SPaul Mundt
5193cc000b5SPaul Mundtchoice
5203cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5213cc000b5SPaul Mundt
522ea0e1a9aSPaul Mundt# SH-5 Processor Support
523ea0e1a9aSPaul Mundt
524ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
525ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
526ea0e1a9aSPaul Mundt	select CPU_SH5
527ea0e1a9aSPaul Mundt
528ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
529ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5308ef97dd7SPaul Mundt	select CPU_SH5
531ea0e1a9aSPaul Mundt
532ea0e1a9aSPaul Mundtendchoice
533ea0e1a9aSPaul Mundt
5343cc000b5SPaul Mundtendif
5353cc000b5SPaul Mundt
536ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
537939a24a6SPaul Mundt
538ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
539ea0e1a9aSPaul Mundt
540939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
541ea0e1a9aSPaul Mundt
542ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
543ea0e1a9aSPaul Mundt
5449570ef20SMagnus Dammconfig SH_TIMER_TMU
5459570ef20SMagnus Damm	bool "TMU timer driver"
546f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5479570ef20SMagnus Damm	default y
5489570ef20SMagnus Damm	help
5499570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5509570ef20SMagnus Damm
551f5ad881bSPaul Mundtconfig SH_TIMER_CMT
552f425752fSMagnus Damm	bool "CMT timer driver"
553f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
554f425752fSMagnus Damm	default y
555f425752fSMagnus Damm	help
556f425752fSMagnus Damm	  This enables build of the CMT timer driver.
557f5ad881bSPaul Mundt
558d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
559d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5603280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
561d5ed4c2eSMagnus Damm	default y
562d5ed4c2eSMagnus Damm	help
563d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
564d5ed4c2eSMagnus Damm
565ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
566ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5678152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
568ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5698152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5708152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5718152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5728152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5738152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5748152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
57543a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
576ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
577ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
578ea0e1a9aSPaul Mundt	default "50000000"
579ea0e1a9aSPaul Mundt	help
580ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
581ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
582ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
583ea0e1a9aSPaul Mundt
58436aa1e32SPaul Mundtconfig SH_CLK_CPG
58536aa1e32SPaul Mundt	def_bool y
58636aa1e32SPaul Mundt
587253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
58836aa1e32SPaul Mundt	depends on SH_CLK_CPG
58943a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
5905924ad0dSPaul Mundt		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757
591253b0887SPaul Mundt
592ea0e1a9aSPaul Mundtsource "kernel/time/Kconfig"
593ea0e1a9aSPaul Mundt
594ea0e1a9aSPaul Mundtendmenu
595ea0e1a9aSPaul Mundt
596ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
597ea0e1a9aSPaul Mundt
598ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
599ea0e1a9aSPaul Mundt
600ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
601ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
602ea0e1a9aSPaul Mundt	depends on CPU_FREQ
603ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
604ea0e1a9aSPaul Mundt	help
6058a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
6068a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
6078a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6088a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6098a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6108a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundt	  If unsure, say N.
615ea0e1a9aSPaul Mundt
616ea0e1a9aSPaul Mundtendmenu
617ea0e1a9aSPaul Mundt
618ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
619ea0e1a9aSPaul Mundt
620ea0e1a9aSPaul Mundtendmenu
621ea0e1a9aSPaul Mundt
622ea0e1a9aSPaul Mundtmenu "Kernel features"
623ea0e1a9aSPaul Mundt
624ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
625ea0e1a9aSPaul Mundt
626ea0e1a9aSPaul Mundtconfig KEXEC
627ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
628f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
629ea0e1a9aSPaul Mundt	help
630ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
631ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
632ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
633ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
634ea0e1a9aSPaul Mundt
635ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
636ea0e1a9aSPaul Mundt
637ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
638ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
639ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
640ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
641ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
642ea0e1a9aSPaul Mundt
643ea0e1a9aSPaul Mundtconfig CRASH_DUMP
644ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
645d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
646ea0e1a9aSPaul Mundt	help
647ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
648ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
649ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
650ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
651ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
652ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
653ea0e1a9aSPaul Mundt	  MEMORY_START.
654ea0e1a9aSPaul Mundt
655ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
656ea0e1a9aSPaul Mundt
657b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
658b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
659b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
660b7cf6ddcSMagnus Damm	help
661b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
662b7cf6ddcSMagnus Damm	  code via KEXEC
663b7cf6ddcSMagnus Damm
664c4637d47SPaul Mundtconfig SECCOMP
665c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
666c4637d47SPaul Mundt	depends on PROC_FS
667c4637d47SPaul Mundt	help
668c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
669c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
670c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
671c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
672c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
673c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
674c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
675c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
676c4637d47SPaul Mundt	  mode.
677c4637d47SPaul Mundt
678c4637d47SPaul Mundt	  If unsure, say N.
679c4637d47SPaul Mundt
680ea0e1a9aSPaul Mundtconfig SMP
681ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
682ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
683490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
684ea0e1a9aSPaul Mundt	---help---
685ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
686ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
687ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
688ea0e1a9aSPaul Mundt
689ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
690ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
691ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
692ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
693ea0e1a9aSPaul Mundt	  will run faster if you say N here.
694ea0e1a9aSPaul Mundt
695ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
696ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
697ea0e1a9aSPaul Mundt
69803502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
69903502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
700ea0e1a9aSPaul Mundt
701ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
702ea0e1a9aSPaul Mundt
703ea0e1a9aSPaul Mundtconfig NR_CPUS
704ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
705ea0e1a9aSPaul Mundt	range 2 32
706ea0e1a9aSPaul Mundt	depends on SMP
7072eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
708ea0e1a9aSPaul Mundt	default "2"
709ea0e1a9aSPaul Mundt	help
710ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
711ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
712ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
713ea0e1a9aSPaul Mundt
714ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
715ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
716ea0e1a9aSPaul Mundt
717763142d1SPaul Mundtconfig HOTPLUG_CPU
718763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
719763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
720763142d1SPaul Mundt	help
721763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
722763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
723763142d1SPaul Mundt
724ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
725ea0e1a9aSPaul Mundt
726ea0e1a9aSPaul Mundtconfig GUSA
727ea0e1a9aSPaul Mundt	def_bool y
7281efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
729ea0e1a9aSPaul Mundt	help
730ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
731ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
732ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
733ea0e1a9aSPaul Mundt
734ea0e1a9aSPaul Mundt	  For additional information, design information can be found
735ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
736ea0e1a9aSPaul Mundt
737ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
738ea0e1a9aSPaul Mundt	  atomicity implementations exist.
739ea0e1a9aSPaul Mundt
7401efe4ce3SStuart Menefyconfig GUSA_RB
7411efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7421efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7431efe4ce3SStuart Menefy	help
7441efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
745692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7461efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7471efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
748692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7491efe4ce3SStuart Menefy
75086c8c047SMatt Flemingconfig HW_PERF_EVENTS
75186c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
75286c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
75386c8c047SMatt Fleming	default y
75486c8c047SMatt Fleming	help
75586c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
75686c8c047SMatt Fleming	  disabled, perf events will use software events only.
75786c8c047SMatt Fleming
75843b8774dSPaul Mundtsource "drivers/sh/Kconfig"
75943b8774dSPaul Mundt
760ea0e1a9aSPaul Mundtendmenu
761ea0e1a9aSPaul Mundt
762ea0e1a9aSPaul Mundtmenu "Boot options"
763ea0e1a9aSPaul Mundt
764ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
765b412a49aSPaul Mundt	hex
766b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
767b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
768b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
769ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
770ea0e1a9aSPaul Mundt	default "0x00001000"
771ea0e1a9aSPaul Mundt	help
772ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
773ea0e1a9aSPaul Mundt
774ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
775b412a49aSPaul Mundt	hex
776b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
777a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
778b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
779b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
780b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
781b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
782ea0e1a9aSPaul Mundt	default "0x00800000"
783ea0e1a9aSPaul Mundt	help
784ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
785ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
786ea0e1a9aSPaul Mundt	  memory.
787ea0e1a9aSPaul Mundt
788b412a49aSPaul Mundtconfig ENTRY_OFFSET
789b412a49aSPaul Mundt	hex
790b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
791b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
792b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
793b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
794b412a49aSPaul Mundt	default "0x00000000"
795b412a49aSPaul Mundt
7964705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7974705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7984705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
7994705b2e8SMagnus Damm	help
8004705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8014705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8024705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8034705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8044705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8054705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8064705b2e8SMagnus Damm
807d724a9c9SPawel Mollchoice
808d724a9c9SPawel Moll	prompt "Kernel command line"
809d724a9c9SPawel Moll	optional
810d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
811d724a9c9SPawel Moll	help
812d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
813d724a9c9SPawel Moll	  to be set.
814d724a9c9SPawel Moll
815d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
816d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
817d724a9c9SPawel Moll	help
818d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
819d724a9c9SPawel Moll	  a bootloader.
820d724a9c9SPawel Moll
821d724a9c9SPawel Mollconfig CMDLINE_EXTEND
822d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
823d724a9c9SPawel Moll	help
824d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
825d724a9c9SPawel Moll	  by a bootloader.
826d724a9c9SPawel Moll
827d724a9c9SPawel Mollendchoice
828ea0e1a9aSPaul Mundt
829ea0e1a9aSPaul Mundtconfig CMDLINE
830d724a9c9SPawel Moll	string "Kernel command line arguments string"
831d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
832ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
833ea0e1a9aSPaul Mundt
834ea0e1a9aSPaul Mundtendmenu
835ea0e1a9aSPaul Mundt
836ea0e1a9aSPaul Mundtmenu "Bus options"
837ea0e1a9aSPaul Mundt
838ea0e1a9aSPaul Mundtconfig SUPERHYWAY
839ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
840ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
841ea0e1a9aSPaul Mundt
842ea0e1a9aSPaul Mundtconfig MAPLE
843ea0e1a9aSPaul Mundt	bool "Maple Bus support"
844ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
845ea0e1a9aSPaul Mundt	help
846ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
847ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
848ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
849ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
850ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
851ea0e1a9aSPaul Mundt	 connection.
852ea0e1a9aSPaul Mundt
8537693465dSPaul Mundtconfig PCI
8547693465dSPaul Mundt	bool "PCI support"
8557693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
856320e68daSPaul Mundt	select PCI_DOMAINS
8577693465dSPaul Mundt	help
8587693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8597693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8607693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
861ea0e1a9aSPaul Mundt
862320e68daSPaul Mundtconfig PCI_DOMAINS
863320e68daSPaul Mundt	bool
864320e68daSPaul Mundt
865e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
866e16038abSPaul Mundt
867ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
868ea0e1a9aSPaul Mundt
869ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
870ea0e1a9aSPaul Mundt
871ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
872ea0e1a9aSPaul Mundt
873ea0e1a9aSPaul Mundtendmenu
874ea0e1a9aSPaul Mundt
875ea0e1a9aSPaul Mundtmenu "Executable file formats"
876ea0e1a9aSPaul Mundt
877ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
878ea0e1a9aSPaul Mundt
879ea0e1a9aSPaul Mundtendmenu
880ea0e1a9aSPaul Mundt
881ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
882af998a9aSMagnus Dammdepends on EXPERIMENTAL
883f4cb5700SJohannes Berg
884c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
885c6f17cb2SMagnus Damm
886c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
887ea0e1a9aSPaul Mundt
888ea0e1a9aSPaul Mundtendmenu
889ea0e1a9aSPaul Mundt
890ea0e1a9aSPaul Mundtsource "net/Kconfig"
891ea0e1a9aSPaul Mundt
892ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
893ea0e1a9aSPaul Mundt
894ea0e1a9aSPaul Mundtsource "fs/Kconfig"
895ea0e1a9aSPaul Mundt
896ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
897ea0e1a9aSPaul Mundt
898ea0e1a9aSPaul Mundtsource "security/Kconfig"
899ea0e1a9aSPaul Mundt
900ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
901ea0e1a9aSPaul Mundt
9025f737b39SMagnus Dammmenuconfig VIRTUALIZATION
9035f737b39SMagnus Damm	bool "Virtualization"
9045f737b39SMagnus Damm	default n
9055f737b39SMagnus Damm	---help---
9065f737b39SMagnus Damm	  Say Y here to get to see options for using your Linux host to run other
9075f737b39SMagnus Damm	  operating systems inside virtual machines (guests).
9085f737b39SMagnus Damm	  This option alone does not add any kernel code.
9095f737b39SMagnus Damm
9105f737b39SMagnus Damm	  If you say N, all options in this submenu will be skipped and disabled.
9115f737b39SMagnus Damm
9125f737b39SMagnus Dammif VIRTUALIZATION
9135f737b39SMagnus Damm
9145f737b39SMagnus Dammsource drivers/virtio/Kconfig
9155f737b39SMagnus Damm
9165f737b39SMagnus Dammendif # VIRTUALIZATION
9175f737b39SMagnus Damm
918ea0e1a9aSPaul Mundtsource "lib/Kconfig"
919