xref: /openbmc/linux/arch/sh/Kconfig (revision 9b2a60c4)
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
7534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
8adaf7fd2SPaul Mundt	select ARCH_DISCARD_MEMBLOCK
942d4b839SMathieu Desnoyers	select HAVE_OPROFILE
109de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
11d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
12f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
1373c926beSPaul Mundt	select HAVE_DMA_ATTRS
14e360adbeSPeter Zijlstra	select HAVE_IRQ_WORK
15cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
169b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
177563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
18df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
1972f0c137SPaul Mundt	select PERF_USE_VMALLOC
20b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
21df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
2207e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2307e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2450cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
25c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
26af1839ebSCatalin Marinas	select HAVE_UID16
27c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
28a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
29eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
3057b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
312ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
32ed170924SPaul Mundt	select IRQ_FORCED_THREADING
336eac1af0SPaul Mundt	select RTC_LIB
34f01789c6SPaul Mundt	select GENERIC_ATOMIC64
353d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
36ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
378cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
388cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
390e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
40cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
41ea0e1a9aSPaul Mundt	help
42ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
43ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
44ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
45ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
46ea0e1a9aSPaul Mundt
47ea0e1a9aSPaul Mundtconfig SUPERH32
483cc000b5SPaul Mundt	def_bool ARCH = "sh"
49d39f5450SChris Smith	select HAVE_KPROBES
50d39f5450SChris Smith	select HAVE_KRETPROBES
516d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
52694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
53fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
54fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
55c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
56e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
57c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
58327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
59ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
606fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
610102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
62e583d6b3SSam Ravnborg	select PERF_EVENTS
638dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
6457b81330SPaul Mundt	select SPARSE_IRQ
65ea0e1a9aSPaul Mundt
66ea0e1a9aSPaul Mundtconfig SUPERH64
673cc000b5SPaul Mundt	def_bool ARCH = "sh64"
683a898c0fSPaul Mundt	select KALLSYMS
69ea0e1a9aSPaul Mundt
70f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
71f42b7e3dSPaul Mundt	string
72f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
73f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
74f42b7e3dSPaul Mundt
75ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
76d7ef4fb3SHarvey Harrison	def_bool y
77ea0e1a9aSPaul Mundt
78ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
79ea0e1a9aSPaul Mundt	bool
80ea0e1a9aSPaul Mundt
81ea0e1a9aSPaul Mundtconfig GENERIC_BUG
82ea0e1a9aSPaul Mundt	def_bool y
83a82d53ecSPaul Mundt	depends on BUG && SUPERH32
84ea0e1a9aSPaul Mundt
853767f3f1SPaul Mundtconfig GENERIC_CSUM
863767f3f1SPaul Mundt	def_bool y
873767f3f1SPaul Mundt	depends on SUPERH64
883767f3f1SPaul Mundt
89ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
90d7ef4fb3SHarvey Harrison	def_bool y
91ea0e1a9aSPaul Mundt
922eb2a436SPaul Mundtconfig IRQ_PER_CPU
932eb2a436SPaul Mundt	def_bool y
942eb2a436SPaul Mundt
952967dab1SMagnus Dammconfig GENERIC_GPIO
962967dab1SMagnus Damm	def_bool n
972967dab1SMagnus Damm
98ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
99cf204fa7SPaul Mundt	bool
100ea0e1a9aSPaul Mundt
101bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
102bdcab87bSPaul Mundt	def_bool y
103bdcab87bSPaul Mundt	depends on SMP && PREEMPT
104bdcab87bSPaul Mundt
105af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
106af998a9aSMagnus Damm	def_bool n
107af998a9aSMagnus Damm
108af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
109af998a9aSMagnus Damm	def_bool n
110ea0e1a9aSPaul Mundt
111ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
112ea0e1a9aSPaul Mundt	bool
113af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
114ea0e1a9aSPaul Mundt
115ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
116ffb4a73dSPaul Mundt	bool
117ffb4a73dSPaul Mundt
118ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
119ea0e1a9aSPaul Mundt	bool
120ea0e1a9aSPaul Mundt
121ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
122ea0e1a9aSPaul Mundt	bool
123ea0e1a9aSPaul Mundt
124ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
125ea0e1a9aSPaul Mundt	bool
126ea0e1a9aSPaul Mundt
127f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
128f5ad881bSPaul Mundt	bool
129f5ad881bSPaul Mundt
130d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
131d5ed4c2eSMagnus Damm	bool
132d5ed4c2eSMagnus Damm
1339570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1349570ef20SMagnus Damm	bool
1359570ef20SMagnus Damm
136ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
137d7ef4fb3SHarvey Harrison	def_bool y
138ea0e1a9aSPaul Mundt
139ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
140d7ef4fb3SHarvey Harrison	def_bool y
141ea0e1a9aSPaul Mundt
1425a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1435a89f1adSPaul Mundt	def_bool y
1445a89f1adSPaul Mundt
145ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
146d7ef4fb3SHarvey Harrison	def_bool n
147ea0e1a9aSPaul Mundt
148ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
149d7ef4fb3SHarvey Harrison	def_bool n
150ea0e1a9aSPaul Mundt
151ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
152ea0e1a9aSPaul Mundt	def_bool y
153ea0e1a9aSPaul Mundt
154e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
155e869a90eSPaul Mundt	def_bool y
156e869a90eSPaul Mundt
15786e4dd5aSPaul Mundtconfig NO_IOPORT
15837b7a978SPaul Mundt	def_bool !PCI
159c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
160c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
16186e4dd5aSPaul Mundt
162e7cc9a73SMagnus Dammconfig IO_TRAPPED
163e7cc9a73SMagnus Damm	bool
164e7cc9a73SMagnus Damm
165b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
166b7e68d68SPaul Mundt	bool
167b7e68d68SPaul Mundt
16801be5d63SPaul Mundtconfig DMA_COHERENT
16901be5d63SPaul Mundt	bool
17001be5d63SPaul Mundt
17101be5d63SPaul Mundtconfig DMA_NONCOHERENT
17201be5d63SPaul Mundt	def_bool !DMA_COHERENT
17301be5d63SPaul Mundt
1745cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1755cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1765cabbb62SFUJITA Tomonori
17718e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
17818e98307SFUJITA Tomonori	def_bool y
17918e98307SFUJITA Tomonori
180ea0e1a9aSPaul Mundtsource "init/Kconfig"
181ea0e1a9aSPaul Mundt
182dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
183dc52ddc0SMatt Helsley
184ea0e1a9aSPaul Mundtmenu "System type"
185ea0e1a9aSPaul Mundt
186ea0e1a9aSPaul Mundt#
187ea0e1a9aSPaul Mundt# Processor families
188ea0e1a9aSPaul Mundt#
189ea0e1a9aSPaul Mundtconfig CPU_SH2
190ea0e1a9aSPaul Mundt	bool
191ea0e1a9aSPaul Mundt
192ea0e1a9aSPaul Mundtconfig CPU_SH2A
193ea0e1a9aSPaul Mundt	bool
194ea0e1a9aSPaul Mundt	select CPU_SH2
195e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
196ea0e1a9aSPaul Mundt
197ea0e1a9aSPaul Mundtconfig CPU_SH3
198ea0e1a9aSPaul Mundt	bool
199ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
200ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2014fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
202ea0e1a9aSPaul Mundt
203ea0e1a9aSPaul Mundtconfig CPU_SH4
204ea0e1a9aSPaul Mundt	bool
205ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
206ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
207ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2084fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
209ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
210ea0e1a9aSPaul Mundt
211ea0e1a9aSPaul Mundtconfig CPU_SH4A
212ea0e1a9aSPaul Mundt	bool
213ea0e1a9aSPaul Mundt	select CPU_SH4
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt	select CPU_SH4A
218ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
219ea0e1a9aSPaul Mundt
220ea0e1a9aSPaul Mundtconfig CPU_SH5
221ea0e1a9aSPaul Mundt	bool
222ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
223add47067SPaul Mundt	select SYS_SUPPORTS_TMU
224ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
225ea0e1a9aSPaul Mundt
226ea0e1a9aSPaul Mundtconfig CPU_SHX2
227ea0e1a9aSPaul Mundt	bool
228ea0e1a9aSPaul Mundt
229ea0e1a9aSPaul Mundtconfig CPU_SHX3
230ea0e1a9aSPaul Mundt	bool
23101be5d63SPaul Mundt	select DMA_COHERENT
2324b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2334b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
234ea0e1a9aSPaul Mundt
235dc65a977SPaul Mundtconfig ARCH_SHMOBILE
236dc65a977SPaul Mundt	bool
23777594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
238ac2c596bSMagnus Damm	select PM
239ac2c596bSMagnus Damm	select PM_RUNTIME
240dc65a977SPaul Mundt
24186c8c047SMatt Flemingconfig CPU_HAS_PMU
24286c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
24386c8c047SMatt Fleming       default y
24486c8c047SMatt Fleming       bool
24586c8c047SMatt Fleming
2463cc000b5SPaul Mundtif SUPERH32
2473cc000b5SPaul Mundt
248ea0e1a9aSPaul Mundtchoice
249ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
250ea0e1a9aSPaul Mundt
251ea0e1a9aSPaul Mundt#
252ea0e1a9aSPaul Mundt# Processor subtypes
253ea0e1a9aSPaul Mundt#
254ea0e1a9aSPaul Mundt
255ea0e1a9aSPaul Mundt# SH-2 Processor Support
256ea0e1a9aSPaul Mundt
257ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
258ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
259ea0e1a9aSPaul Mundt	select CPU_SH2
260f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
261ea0e1a9aSPaul Mundt
262ea0e1a9aSPaul Mundt# SH-2A Processor Support
263ea0e1a9aSPaul Mundt
2642825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2652825999eSPeter Griffin	bool "Support SH7201 processor"
2662825999eSPeter Griffin	select CPU_SH2A
2672825999eSPeter Griffin	select CPU_HAS_FPU
268da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2692825999eSPeter Griffin
2706d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2716d01f510SPaul Mundt	bool "Support SH7203 processor"
2726d01f510SPaul Mundt	select CPU_SH2A
27374d99a5eSPaul Mundt	select CPU_HAS_FPU
274f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
275da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
276f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
2776d01f510SPaul Mundt
278ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
279ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
280ea0e1a9aSPaul Mundt	select CPU_SH2A
281f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
282da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
283ea0e1a9aSPaul Mundt
284a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
285a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
286a8f67f4bSPaul Mundt	select CPU_SH2A
28774d99a5eSPaul Mundt	select CPU_HAS_FPU
288f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
289da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
290a8f67f4bSPaul Mundt
29151ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
29251ce3068SPhil Edworthy	bool "Support SH7264 processor"
29351ce3068SPhil Edworthy	select CPU_SH2A
29451ce3068SPhil Edworthy	select CPU_HAS_FPU
29551ce3068SPhil Edworthy	select SYS_SUPPORTS_CMT
29651ce3068SPhil Edworthy	select SYS_SUPPORTS_MTU2
29751ce3068SPhil Edworthy
2980b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
2990b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
3000b25b7c8SPhil Edworthy	select CPU_SH2A
3010b25b7c8SPhil Edworthy	select CPU_HAS_FPU
3020b25b7c8SPhil Edworthy	select SYS_SUPPORTS_CMT
3030b25b7c8SPhil Edworthy	select SYS_SUPPORTS_MTU2
3040b25b7c8SPhil Edworthy
3052ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3062ad69908SPaul Mundt	bool "Support MX-G processor"
3072ad69908SPaul Mundt	select CPU_SH2A
308da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
3092ad69908SPaul Mundt	help
3102ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3112ad69908SPaul Mundt
312ea0e1a9aSPaul Mundt# SH-3 Processor Support
313ea0e1a9aSPaul Mundt
314ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
315ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
316ea0e1a9aSPaul Mundt	select CPU_SH3
317ea0e1a9aSPaul Mundt
318ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
319ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
320ea0e1a9aSPaul Mundt	select CPU_SH3
321ea0e1a9aSPaul Mundt	help
322ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
323ea0e1a9aSPaul Mundt
324ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
325ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
326ea0e1a9aSPaul Mundt	select CPU_SH3
327ea0e1a9aSPaul Mundt	help
328ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
329ea0e1a9aSPaul Mundt
330ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
331ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
332ea0e1a9aSPaul Mundt	select CPU_SH3
333ea0e1a9aSPaul Mundt	help
334ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
335ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
336ea0e1a9aSPaul Mundt
337ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
338ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
339ea0e1a9aSPaul Mundt	select CPU_SH3
340ea0e1a9aSPaul Mundt	help
341ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
342ea0e1a9aSPaul Mundt
343ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
344ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
345ea0e1a9aSPaul Mundt	select CPU_SH3
346ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
347ea0e1a9aSPaul Mundt	help
348ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
349ea0e1a9aSPaul Mundt
350ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
351ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
352ea0e1a9aSPaul Mundt	select CPU_SH3
353ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
354ea0e1a9aSPaul Mundt	help
355ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
356ea0e1a9aSPaul Mundt
357ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
358ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
359ea0e1a9aSPaul Mundt	select CPU_SH3
360ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3612b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
362f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
363e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3647b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
365ea0e1a9aSPaul Mundt	help
366ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
367ea0e1a9aSPaul Mundt
36831a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
36931a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
37031a49c4bSYoshihiro Shimoda	select CPU_SH3
37131a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3722b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
373e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3747b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
37531a49c4bSYoshihiro Shimoda	help
37631a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
37731a49c4bSYoshihiro Shimoda
378ea0e1a9aSPaul Mundt# SH-4 Processor Support
379ea0e1a9aSPaul Mundt
380ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
381ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
382ea0e1a9aSPaul Mundt	select CPU_SH4
383ea0e1a9aSPaul Mundt	help
384ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
385ea0e1a9aSPaul Mundt
386ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
387ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
388ea0e1a9aSPaul Mundt	select CPU_SH4
389ea0e1a9aSPaul Mundt	help
390ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
391ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
392ea0e1a9aSPaul Mundt
393ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
394ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
395ea0e1a9aSPaul Mundt	select CPU_SH4
396ea0e1a9aSPaul Mundt
397ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
398ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
399ea0e1a9aSPaul Mundt	select CPU_SH4
400ea0e1a9aSPaul Mundt
401ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
402ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
403ea0e1a9aSPaul Mundt	select CPU_SH4
404ea0e1a9aSPaul Mundt	help
405ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
406ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
407ea0e1a9aSPaul Mundt
408ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
409ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
410ea0e1a9aSPaul Mundt	select CPU_SH4
411ea0e1a9aSPaul Mundt
412ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
413ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
414ea0e1a9aSPaul Mundt	select CPU_SH4
415ea0e1a9aSPaul Mundt
416ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
417ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
418ea0e1a9aSPaul Mundt	select CPU_SH4
419ea0e1a9aSPaul Mundt
420ea0e1a9aSPaul Mundt# SH-4A Processor Support
421ea0e1a9aSPaul Mundt
422178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
423178dd0cdSPaul Mundt	bool "Support SH7723 processor"
424178dd0cdSPaul Mundt	select CPU_SH4A
425178dd0cdSPaul Mundt	select CPU_SHX2
426dc65a977SPaul Mundt	select ARCH_SHMOBILE
427178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
428f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
429f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
430178dd0cdSPaul Mundt	help
431178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
432178dd0cdSPaul Mundt
4330207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4340207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4350207a2efSKuninori Morimoto	select CPU_SH4A
4360207a2efSKuninori Morimoto	select CPU_SHX2
43759fe700dSPaul Mundt	select ARCH_SHMOBILE
4380207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4390207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
440f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4410207a2efSKuninori Morimoto	help
4420207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4430207a2efSKuninori Morimoto
444fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
445fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
446fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
447fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
448fea88a0cSNobuhiro Iwamatsu	select ARCH_WANT_OPTIONAL_GPIOLIB
449fea88a0cSNobuhiro Iwamatsu	select USB_ARCH_HAS_OHCI
450fea88a0cSNobuhiro Iwamatsu	select USB_ARCH_HAS_EHCI
451fea88a0cSNobuhiro Iwamatsu	help
452fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
453fea88a0cSNobuhiro Iwamatsu
454c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
455c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
456c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
457c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
458f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4590fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4600fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
461c01f0f1aSYoshihiro Shimoda	help
462c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
463c01f0f1aSYoshihiro Shimoda
4647d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4657d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4667d740a06SYoshihiro Shimoda	select CPU_SH4A
467e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4687b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4697d740a06SYoshihiro Shimoda	help
4707d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4717d740a06SYoshihiro Shimoda
472ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
473ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
474ea0e1a9aSPaul Mundt	select CPU_SH4A
475ea0e1a9aSPaul Mundt
476ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
477ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
478ea0e1a9aSPaul Mundt	select CPU_SH4A
479ea0e1a9aSPaul Mundt
480ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
481ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
482ea0e1a9aSPaul Mundt	select CPU_SH4A
483ea0e1a9aSPaul Mundt	select CPU_SHX2
484ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
485ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
486f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
487ea0e1a9aSPaul Mundt
48855ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
48955ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
49055ba99ebSKuninori Morimoto	select CPU_SH4A
49137042fbdSPaul Mundt	select CPU_SHX3
4928263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4932eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
494f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
495e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4967b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
497e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
4987b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
49955ba99ebSKuninori Morimoto
500ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
501ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
502ea0e1a9aSPaul Mundt	select CPU_SH4A
503ea0e1a9aSPaul Mundt	select CPU_SHX3
5045840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
505742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
506ea0e1a9aSPaul Mundt
507ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
508ea0e1a9aSPaul Mundt
509ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
510ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
511ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
512dc65a977SPaul Mundt	select ARCH_SHMOBILE
513f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
514ea0e1a9aSPaul Mundt
515ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
516ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
517ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
518ea0e1a9aSPaul Mundt	select CPU_SHX2
519dc65a977SPaul Mundt	select ARCH_SHMOBILE
520ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
521ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
522f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
523f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
524ea0e1a9aSPaul Mundt
5259109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5269109a30eSMagnus Damm	bool "Support SH7366 processor"
5279109a30eSMagnus Damm	select CPU_SH4AL_DSP
5289109a30eSMagnus Damm	select CPU_SHX2
529dc65a977SPaul Mundt	select ARCH_SHMOBILE
5309109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5319109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
532f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5339109a30eSMagnus Damm
5343cc000b5SPaul Mundtendchoice
5353cc000b5SPaul Mundt
5363cc000b5SPaul Mundtendif
5373cc000b5SPaul Mundt
5383cc000b5SPaul Mundtif SUPERH64
5393cc000b5SPaul Mundt
5403cc000b5SPaul Mundtchoice
5413cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5423cc000b5SPaul Mundt
543ea0e1a9aSPaul Mundt# SH-5 Processor Support
544ea0e1a9aSPaul Mundt
545ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
546ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
547ea0e1a9aSPaul Mundt	select CPU_SH5
548ea0e1a9aSPaul Mundt
549ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
550ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5518ef97dd7SPaul Mundt	select CPU_SH5
552ea0e1a9aSPaul Mundt
553ea0e1a9aSPaul Mundtendchoice
554ea0e1a9aSPaul Mundt
5553cc000b5SPaul Mundtendif
5563cc000b5SPaul Mundt
557ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
558939a24a6SPaul Mundt
559ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
560ea0e1a9aSPaul Mundt
561939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
562ea0e1a9aSPaul Mundt
563ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
564ea0e1a9aSPaul Mundt
5659570ef20SMagnus Dammconfig SH_TIMER_TMU
5669570ef20SMagnus Damm	bool "TMU timer driver"
567f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5689570ef20SMagnus Damm	default y
5699570ef20SMagnus Damm	help
5709570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5719570ef20SMagnus Damm
572f5ad881bSPaul Mundtconfig SH_TIMER_CMT
573f425752fSMagnus Damm	bool "CMT timer driver"
574f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
575f425752fSMagnus Damm	default y
576f425752fSMagnus Damm	help
577f425752fSMagnus Damm	  This enables build of the CMT timer driver.
578f5ad881bSPaul Mundt
579d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
580d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5813280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
582d5ed4c2eSMagnus Damm	default y
583d5ed4c2eSMagnus Damm	help
584d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
585d5ed4c2eSMagnus Damm
586ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
587ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5888152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
589ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5908152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5918152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5928152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5938152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5948152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5958152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
59643a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
597ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
598ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
599ea0e1a9aSPaul Mundt	default "50000000"
600ea0e1a9aSPaul Mundt	help
601ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
602ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
603ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
604ea0e1a9aSPaul Mundt
60536aa1e32SPaul Mundtconfig SH_CLK_CPG
60636aa1e32SPaul Mundt	def_bool y
60736aa1e32SPaul Mundt
608253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
60936aa1e32SPaul Mundt	depends on SH_CLK_CPG
61043a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
61151ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
612bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
613bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
614253b0887SPaul Mundt
615ea0e1a9aSPaul Mundtendmenu
616ea0e1a9aSPaul Mundt
617ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
618ea0e1a9aSPaul Mundt
619ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
620ea0e1a9aSPaul Mundt
621ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
622ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
623ea0e1a9aSPaul Mundt	depends on CPU_FREQ
624ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
625ea0e1a9aSPaul Mundt	help
6268a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
6278a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
6288a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6298a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6308a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6318a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
632ea0e1a9aSPaul Mundt
633ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
634ea0e1a9aSPaul Mundt
635ea0e1a9aSPaul Mundt	  If unsure, say N.
636ea0e1a9aSPaul Mundt
637ea0e1a9aSPaul Mundtendmenu
638ea0e1a9aSPaul Mundt
639ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
640ea0e1a9aSPaul Mundt
641ea0e1a9aSPaul Mundtendmenu
642ea0e1a9aSPaul Mundt
643ea0e1a9aSPaul Mundtmenu "Kernel features"
644ea0e1a9aSPaul Mundt
645ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
646ea0e1a9aSPaul Mundt
647ea0e1a9aSPaul Mundtconfig KEXEC
648ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
649f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
650ea0e1a9aSPaul Mundt	help
651ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
652ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
653ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
654ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
655ea0e1a9aSPaul Mundt
656ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
657ea0e1a9aSPaul Mundt
658ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
659ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
660ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
661ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
662ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
663ea0e1a9aSPaul Mundt
664ea0e1a9aSPaul Mundtconfig CRASH_DUMP
665ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
666d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
667ea0e1a9aSPaul Mundt	help
668ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
669ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
670ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
671ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
672ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
673ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
674e66ac3f2SSimon Horman	  PHYSICAL_START.
675ea0e1a9aSPaul Mundt
676ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
677ea0e1a9aSPaul Mundt
678b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
679b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
680b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
681b7cf6ddcSMagnus Damm	help
682b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
683b7cf6ddcSMagnus Damm	  code via KEXEC
684b7cf6ddcSMagnus Damm
685e66ac3f2SSimon Hormanconfig PHYSICAL_START
686e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
687e66ac3f2SSimon Horman	default MEMORY_START
688e66ac3f2SSimon Horman	---help---
689e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
690e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
691e66ac3f2SSimon Horman
692e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
693e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
694e66ac3f2SSimon Horman	  than the panic-ed kernel.
695e66ac3f2SSimon Horman
696c4637d47SPaul Mundtconfig SECCOMP
697c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
698c4637d47SPaul Mundt	depends on PROC_FS
699c4637d47SPaul Mundt	help
700c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
701c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
702c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
703c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
704c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
705c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
706c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
707c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
708c4637d47SPaul Mundt	  mode.
709c4637d47SPaul Mundt
710c4637d47SPaul Mundt	  If unsure, say N.
711c4637d47SPaul Mundt
7125d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR
7135d920bb9SFilippo Arcidiacono	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
7145d920bb9SFilippo Arcidiacono	depends on SUPERH32 && EXPERIMENTAL
7155d920bb9SFilippo Arcidiacono	help
7165d920bb9SFilippo Arcidiacono	  This option turns on the -fstack-protector GCC feature. This
7175d920bb9SFilippo Arcidiacono	  feature puts, at the beginning of functions, a canary value on
7185d920bb9SFilippo Arcidiacono	  the stack just before the return address, and validates
7195d920bb9SFilippo Arcidiacono	  the value just before actually returning.  Stack based buffer
7205d920bb9SFilippo Arcidiacono	  overflows (that need to overwrite this return address) now also
7215d920bb9SFilippo Arcidiacono	  overwrite the canary, which gets detected and the attack is then
7225d920bb9SFilippo Arcidiacono	  neutralized via a kernel panic.
7235d920bb9SFilippo Arcidiacono
7245d920bb9SFilippo Arcidiacono	  This feature requires gcc version 4.2 or above.
7255d920bb9SFilippo Arcidiacono
726ea0e1a9aSPaul Mundtconfig SMP
727ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
728ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
729490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
730ea0e1a9aSPaul Mundt	---help---
731ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
732ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
733ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
734ea0e1a9aSPaul Mundt
735ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
736ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
737ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
738ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
739ea0e1a9aSPaul Mundt	  will run faster if you say N here.
740ea0e1a9aSPaul Mundt
741ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
742ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
743ea0e1a9aSPaul Mundt
74403502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
74503502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
746ea0e1a9aSPaul Mundt
747ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
748ea0e1a9aSPaul Mundt
749ea0e1a9aSPaul Mundtconfig NR_CPUS
750ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
751ea0e1a9aSPaul Mundt	range 2 32
752ea0e1a9aSPaul Mundt	depends on SMP
7532eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
754ea0e1a9aSPaul Mundt	default "2"
755ea0e1a9aSPaul Mundt	help
756ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
757ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
758ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
759ea0e1a9aSPaul Mundt
760ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
761ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
762ea0e1a9aSPaul Mundt
763763142d1SPaul Mundtconfig HOTPLUG_CPU
764763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
765763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
766763142d1SPaul Mundt	help
767763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
768763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
769763142d1SPaul Mundt
770ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
771ea0e1a9aSPaul Mundt
772ea0e1a9aSPaul Mundtconfig GUSA
773ea0e1a9aSPaul Mundt	def_bool y
7741efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
775ea0e1a9aSPaul Mundt	help
776ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
777ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
778ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
779ea0e1a9aSPaul Mundt
780ea0e1a9aSPaul Mundt	  For additional information, design information can be found
781ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
782ea0e1a9aSPaul Mundt
783ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
784ea0e1a9aSPaul Mundt	  atomicity implementations exist.
785ea0e1a9aSPaul Mundt
7861efe4ce3SStuart Menefyconfig GUSA_RB
7871efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7881efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7891efe4ce3SStuart Menefy	help
7901efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
791692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7921efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7931efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
794692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7951efe4ce3SStuart Menefy
79686c8c047SMatt Flemingconfig HW_PERF_EVENTS
79786c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
79886c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
79986c8c047SMatt Fleming	default y
80086c8c047SMatt Fleming	help
80186c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
80286c8c047SMatt Fleming	  disabled, perf events will use software events only.
80386c8c047SMatt Fleming
80443b8774dSPaul Mundtsource "drivers/sh/Kconfig"
80543b8774dSPaul Mundt
806ea0e1a9aSPaul Mundtendmenu
807ea0e1a9aSPaul Mundt
808ea0e1a9aSPaul Mundtmenu "Boot options"
809ea0e1a9aSPaul Mundt
810ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
811b412a49aSPaul Mundt	hex
812b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
813b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
814b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
815ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
816ea0e1a9aSPaul Mundt	default "0x00001000"
817ea0e1a9aSPaul Mundt	help
818ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
819ea0e1a9aSPaul Mundt
820ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
821b412a49aSPaul Mundt	hex
822b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
823a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
824b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
825b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
826b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
827b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
828ea0e1a9aSPaul Mundt	default "0x00800000"
829ea0e1a9aSPaul Mundt	help
830ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
831ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
832ea0e1a9aSPaul Mundt	  memory.
833ea0e1a9aSPaul Mundt
834b412a49aSPaul Mundtconfig ENTRY_OFFSET
835b412a49aSPaul Mundt	hex
836b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
837b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
838b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
839b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
840b412a49aSPaul Mundt	default "0x00000000"
841b412a49aSPaul Mundt
8424705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8434705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8444705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
8454705b2e8SMagnus Damm	help
8464705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8474705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8484705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8494705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8504705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8514705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8524705b2e8SMagnus Damm
853d724a9c9SPawel Mollchoice
854d724a9c9SPawel Moll	prompt "Kernel command line"
855d724a9c9SPawel Moll	optional
856d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
857d724a9c9SPawel Moll	help
858d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
859d724a9c9SPawel Moll	  to be set.
860d724a9c9SPawel Moll
861d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
862d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
863d724a9c9SPawel Moll	help
864d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
865d724a9c9SPawel Moll	  a bootloader.
866d724a9c9SPawel Moll
867d724a9c9SPawel Mollconfig CMDLINE_EXTEND
868d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
869d724a9c9SPawel Moll	help
870d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
871d724a9c9SPawel Moll	  by a bootloader.
872d724a9c9SPawel Moll
873d724a9c9SPawel Mollendchoice
874ea0e1a9aSPaul Mundt
875ea0e1a9aSPaul Mundtconfig CMDLINE
876d724a9c9SPawel Moll	string "Kernel command line arguments string"
877d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
878ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
879ea0e1a9aSPaul Mundt
880ea0e1a9aSPaul Mundtendmenu
881ea0e1a9aSPaul Mundt
882ea0e1a9aSPaul Mundtmenu "Bus options"
883ea0e1a9aSPaul Mundt
884ea0e1a9aSPaul Mundtconfig SUPERHYWAY
885ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
886ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
887ea0e1a9aSPaul Mundt
888ea0e1a9aSPaul Mundtconfig MAPLE
889ea0e1a9aSPaul Mundt	bool "Maple Bus support"
890ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
891ea0e1a9aSPaul Mundt	help
892ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
893ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
894ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
895ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
896ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
897ea0e1a9aSPaul Mundt	 connection.
898ea0e1a9aSPaul Mundt
8997693465dSPaul Mundtconfig PCI
9007693465dSPaul Mundt	bool "PCI support"
9017693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
902320e68daSPaul Mundt	select PCI_DOMAINS
90343db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
9041e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
9057693465dSPaul Mundt	help
9067693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
9077693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
9087693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
909ea0e1a9aSPaul Mundt
910320e68daSPaul Mundtconfig PCI_DOMAINS
911320e68daSPaul Mundt	bool
912320e68daSPaul Mundt
913e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
914e16038abSPaul Mundt
915ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
916ea0e1a9aSPaul Mundt
917ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
918ea0e1a9aSPaul Mundt
919ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
920ea0e1a9aSPaul Mundt
921ea0e1a9aSPaul Mundtendmenu
922ea0e1a9aSPaul Mundt
923ea0e1a9aSPaul Mundtmenu "Executable file formats"
924ea0e1a9aSPaul Mundt
925ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
926ea0e1a9aSPaul Mundt
927ea0e1a9aSPaul Mundtendmenu
928ea0e1a9aSPaul Mundt
929ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
930af998a9aSMagnus Dammdepends on EXPERIMENTAL
931f4cb5700SJohannes Berg
932c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
933c6f17cb2SMagnus Damm
934c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
935ea0e1a9aSPaul Mundt
936ea0e1a9aSPaul Mundtendmenu
937ea0e1a9aSPaul Mundt
938ea0e1a9aSPaul Mundtsource "net/Kconfig"
939ea0e1a9aSPaul Mundt
940ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
941ea0e1a9aSPaul Mundt
942ea0e1a9aSPaul Mundtsource "fs/Kconfig"
943ea0e1a9aSPaul Mundt
944ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
945ea0e1a9aSPaul Mundt
946ea0e1a9aSPaul Mundtsource "security/Kconfig"
947ea0e1a9aSPaul Mundt
948ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
949ea0e1a9aSPaul Mundt
950ea0e1a9aSPaul Mundtsource "lib/Kconfig"
951