xref: /openbmc/linux/arch/sh/Kconfig (revision e583d6b3)
1ea0e1a9aSPaul Mundt#
2ea0e1a9aSPaul Mundt# For a description of the syntax of this configuration file,
3ea0e1a9aSPaul Mundt# see Documentation/kbuild/kconfig-language.txt.
4ea0e1a9aSPaul Mundt#
5ea0e1a9aSPaul Mundt
6ea0e1a9aSPaul Mundtmainmenu "Linux/SuperH Kernel Configuration"
7ea0e1a9aSPaul Mundt
8ea0e1a9aSPaul Mundtconfig SUPERH
9ea0e1a9aSPaul Mundt	def_bool y
10ea0e1a9aSPaul Mundt	select EMBEDDED
119483a578SDavid Brownell	select HAVE_CLK
1286e4dd5aSPaul Mundt	select HAVE_IDE if HAS_IOPORT
1395f72d1eSYinghai Lu	select HAVE_MEMBLOCK
1442d4b839SMathieu Desnoyers	select HAVE_OPROFILE
159de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
16d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
17f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
1873c926beSPaul Mundt	select HAVE_DMA_ATTRS
19cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
2072f0c137SPaul Mundt	select PERF_USE_VMALLOC
21df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
2207e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2307e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
24c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
25a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
26eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
276eac1af0SPaul Mundt	select RTC_LIB
28f01789c6SPaul Mundt	select GENERIC_ATOMIC64
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
51ea0e1a9aSPaul Mundt
52ea0e1a9aSPaul Mundtconfig SUPERH64
533cc000b5SPaul Mundt	def_bool ARCH = "sh64"
54ea0e1a9aSPaul Mundt
55f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
56f42b7e3dSPaul Mundt	string
57f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
58f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
59f42b7e3dSPaul Mundt
60ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
61d7ef4fb3SHarvey Harrison	def_bool y
62ea0e1a9aSPaul Mundt
63ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
64ea0e1a9aSPaul Mundt	bool
65ea0e1a9aSPaul Mundt
66ea0e1a9aSPaul Mundtconfig GENERIC_BUG
67ea0e1a9aSPaul Mundt	def_bool y
68a82d53ecSPaul Mundt	depends on BUG && SUPERH32
69ea0e1a9aSPaul Mundt
703767f3f1SPaul Mundtconfig GENERIC_CSUM
713767f3f1SPaul Mundt	def_bool y
723767f3f1SPaul Mundt	depends on SUPERH64
733767f3f1SPaul Mundt
74ea0e1a9aSPaul Mundtconfig GENERIC_FIND_NEXT_BIT
75d7ef4fb3SHarvey Harrison	def_bool y
76ea0e1a9aSPaul Mundt
77ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
78d7ef4fb3SHarvey Harrison	def_bool y
79ea0e1a9aSPaul Mundt
80ea0e1a9aSPaul Mundtconfig GENERIC_HARDIRQS
81d7ef4fb3SHarvey Harrison	def_bool y
82ea0e1a9aSPaul Mundt
835093c9a4SPaul Mundtconfig GENERIC_HARDIRQS_NO__DO_IRQ
845093c9a4SPaul Mundt	def_bool y
855093c9a4SPaul Mundt
862eb2a436SPaul Mundtconfig IRQ_PER_CPU
872eb2a436SPaul Mundt	def_bool y
882eb2a436SPaul Mundt
894b842c85SPaul Mundtconfig SPARSE_IRQ
904b842c85SPaul Mundt	def_bool y
914b842c85SPaul Mundt	depends on SUPERH32
924b842c85SPaul Mundt
932967dab1SMagnus Dammconfig GENERIC_GPIO
942967dab1SMagnus Damm	def_bool n
952967dab1SMagnus Damm
96ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
97cf204fa7SPaul Mundt	bool
98ea0e1a9aSPaul Mundt
99ea0e1a9aSPaul Mundtconfig GENERIC_IOMAP
100ea0e1a9aSPaul Mundt	bool
101ea0e1a9aSPaul Mundt
102ea0e1a9aSPaul Mundtconfig GENERIC_CLOCKEVENTS
103938edae1SPaul Mundt	def_bool y
104ea0e1a9aSPaul Mundt
1058c24594dSPaul Mundtconfig GENERIC_CLOCKEVENTS_BROADCAST
1068c24594dSPaul Mundt	bool
1078c24594dSPaul Mundt
1086d134b9eSPaul Mundtconfig GENERIC_CMOS_UPDATE
1096d134b9eSPaul Mundt	def_bool y
1106d134b9eSPaul Mundt	depends on SH_SH03 || SH_DREAMCAST
1116d134b9eSPaul Mundt
112bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
113bdcab87bSPaul Mundt	def_bool y
114bdcab87bSPaul Mundt	depends on SMP && PREEMPT
115bdcab87bSPaul Mundt
116ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PM
117ea0e1a9aSPaul Mundt	bool
118af998a9aSMagnus Damm	depends on !SMP
119af998a9aSMagnus Damm
120af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
121af998a9aSMagnus Damm	def_bool n
122af998a9aSMagnus Damm
123af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
124af998a9aSMagnus Damm	def_bool n
125ea0e1a9aSPaul Mundt
126ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
127ea0e1a9aSPaul Mundt	bool
128af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
129ea0e1a9aSPaul Mundt
130ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
131ffb4a73dSPaul Mundt	bool
132ffb4a73dSPaul Mundt
133ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
134ea0e1a9aSPaul Mundt	bool
135ea0e1a9aSPaul Mundt
136ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
137ea0e1a9aSPaul Mundt	bool
138ea0e1a9aSPaul Mundt
139ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
140ea0e1a9aSPaul Mundt	bool
141ea0e1a9aSPaul Mundt
142f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
143f5ad881bSPaul Mundt	bool
144f5ad881bSPaul Mundt
145d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
146d5ed4c2eSMagnus Damm	bool
147d5ed4c2eSMagnus Damm
1489570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1499570ef20SMagnus Damm	bool
1509570ef20SMagnus Damm
151ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
152d7ef4fb3SHarvey Harrison	def_bool y
153ea0e1a9aSPaul Mundt
154ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
155d7ef4fb3SHarvey Harrison	def_bool y
156ea0e1a9aSPaul Mundt
1575a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1585a89f1adSPaul Mundt	def_bool y
1595a89f1adSPaul Mundt
160ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
161d7ef4fb3SHarvey Harrison	def_bool n
162ea0e1a9aSPaul Mundt
163ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
164d7ef4fb3SHarvey Harrison	def_bool n
165ea0e1a9aSPaul Mundt
166ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
167ea0e1a9aSPaul Mundt	def_bool y
168ea0e1a9aSPaul Mundt
169e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
170e869a90eSPaul Mundt	def_bool y
171e869a90eSPaul Mundt
1722e046b94SPaul Mundtconfig ARCH_HAS_CPU_IDLE_WAIT
1732e046b94SPaul Mundt	def_bool y
1742e046b94SPaul Mundt
17586e4dd5aSPaul Mundtconfig NO_IOPORT
17686e4dd5aSPaul Mundt	bool
17786e4dd5aSPaul Mundt
178e7cc9a73SMagnus Dammconfig IO_TRAPPED
179e7cc9a73SMagnus Damm	bool
180e7cc9a73SMagnus Damm
18101be5d63SPaul Mundtconfig DMA_COHERENT
18201be5d63SPaul Mundt	bool
18301be5d63SPaul Mundt
18401be5d63SPaul Mundtconfig DMA_NONCOHERENT
18501be5d63SPaul Mundt	def_bool !DMA_COHERENT
18601be5d63SPaul Mundt
1875cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1885cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1895cabbb62SFUJITA Tomonori
19018e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
19118e98307SFUJITA Tomonori	def_bool y
19218e98307SFUJITA Tomonori
193ea0e1a9aSPaul Mundtsource "init/Kconfig"
194ea0e1a9aSPaul Mundt
195dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
196dc52ddc0SMatt Helsley
197ea0e1a9aSPaul Mundtmenu "System type"
198ea0e1a9aSPaul Mundt
199ea0e1a9aSPaul Mundt#
200ea0e1a9aSPaul Mundt# Processor families
201ea0e1a9aSPaul Mundt#
202ea0e1a9aSPaul Mundtconfig CPU_SH2
203ea0e1a9aSPaul Mundt	bool
204ea0e1a9aSPaul Mundt
205ea0e1a9aSPaul Mundtconfig CPU_SH2A
206ea0e1a9aSPaul Mundt	bool
207ea0e1a9aSPaul Mundt	select CPU_SH2
208ea0e1a9aSPaul Mundt
209ea0e1a9aSPaul Mundtconfig CPU_SH3
210ea0e1a9aSPaul Mundt	bool
211ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
212ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2134fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SH4
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
218ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
219ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2204fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
221ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
222ea0e1a9aSPaul Mundt
223ea0e1a9aSPaul Mundtconfig CPU_SH4A
224ea0e1a9aSPaul Mundt	bool
225ea0e1a9aSPaul Mundt	select CPU_SH4
226ea0e1a9aSPaul Mundt
227ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
228ea0e1a9aSPaul Mundt	bool
229ea0e1a9aSPaul Mundt	select CPU_SH4A
230ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
231ea0e1a9aSPaul Mundt
232ea0e1a9aSPaul Mundtconfig CPU_SH5
233ea0e1a9aSPaul Mundt	bool
234ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
235add47067SPaul Mundt	select SYS_SUPPORTS_TMU
236ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
237ea0e1a9aSPaul Mundt
238ea0e1a9aSPaul Mundtconfig CPU_SHX2
239ea0e1a9aSPaul Mundt	bool
240ea0e1a9aSPaul Mundt
241ea0e1a9aSPaul Mundtconfig CPU_SHX3
242ea0e1a9aSPaul Mundt	bool
24301be5d63SPaul Mundt	select DMA_COHERENT
2444b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2454b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
246ea0e1a9aSPaul Mundt
247dc65a977SPaul Mundtconfig ARCH_SHMOBILE
248dc65a977SPaul Mundt	bool
24977594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
250ac2c596bSMagnus Damm	select PM
251ac2c596bSMagnus Damm	select PM_RUNTIME
252dc65a977SPaul Mundt
2533cc000b5SPaul Mundtif SUPERH32
2543cc000b5SPaul Mundt
255ea0e1a9aSPaul Mundtchoice
256ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
257ea0e1a9aSPaul Mundt
258ea0e1a9aSPaul Mundt#
259ea0e1a9aSPaul Mundt# Processor subtypes
260ea0e1a9aSPaul Mundt#
261ea0e1a9aSPaul Mundt
262ea0e1a9aSPaul Mundt# SH-2 Processor Support
263ea0e1a9aSPaul Mundt
264ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
265ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
266ea0e1a9aSPaul Mundt	select CPU_SH2
267f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
268ea0e1a9aSPaul Mundt
269ea0e1a9aSPaul Mundt# SH-2A Processor Support
270ea0e1a9aSPaul Mundt
2712825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2722825999eSPeter Griffin	bool "Support SH7201 processor"
2732825999eSPeter Griffin	select CPU_SH2A
2742825999eSPeter Griffin	select CPU_HAS_FPU
275da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2762825999eSPeter Griffin
2776d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2786d01f510SPaul Mundt	bool "Support SH7203 processor"
2796d01f510SPaul Mundt	select CPU_SH2A
28074d99a5eSPaul Mundt	select CPU_HAS_FPU
281f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
282da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2836d01f510SPaul Mundt
284ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
285ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
286ea0e1a9aSPaul Mundt	select CPU_SH2A
287f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
288da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
289ea0e1a9aSPaul Mundt
290a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
291a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
292a8f67f4bSPaul Mundt	select CPU_SH2A
29374d99a5eSPaul Mundt	select CPU_HAS_FPU
294f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
295da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
296a8f67f4bSPaul Mundt
2972ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2982ad69908SPaul Mundt	bool "Support MX-G processor"
2992ad69908SPaul Mundt	select CPU_SH2A
300da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
3012ad69908SPaul Mundt	help
3022ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3032ad69908SPaul Mundt
304ea0e1a9aSPaul Mundt# SH-3 Processor Support
305ea0e1a9aSPaul Mundt
306ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
307ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
308ea0e1a9aSPaul Mundt	select CPU_SH3
309ea0e1a9aSPaul Mundt
310ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
311ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
312ea0e1a9aSPaul Mundt	select CPU_SH3
313ea0e1a9aSPaul Mundt	help
314ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
315ea0e1a9aSPaul Mundt
316ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
317ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
318ea0e1a9aSPaul Mundt	select CPU_SH3
319ea0e1a9aSPaul Mundt	help
320ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
321ea0e1a9aSPaul Mundt
322ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
323ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
324ea0e1a9aSPaul Mundt	select CPU_SH3
325ea0e1a9aSPaul Mundt	help
326ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
327ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
328ea0e1a9aSPaul Mundt
329ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
330ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
331ea0e1a9aSPaul Mundt	select CPU_SH3
332ea0e1a9aSPaul Mundt	help
333ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
334ea0e1a9aSPaul Mundt
335ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
336ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
337ea0e1a9aSPaul Mundt	select CPU_SH3
338ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
339ea0e1a9aSPaul Mundt	help
340ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
341ea0e1a9aSPaul Mundt
342ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
343ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
344ea0e1a9aSPaul Mundt	select CPU_SH3
345ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
346ea0e1a9aSPaul Mundt	help
347ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
348ea0e1a9aSPaul Mundt
349ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
350ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
351ea0e1a9aSPaul Mundt	select CPU_SH3
352ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3532b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
354ea0e1a9aSPaul Mundt	help
355ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
356ea0e1a9aSPaul Mundt
35731a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
35831a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
35931a49c4bSYoshihiro Shimoda	select CPU_SH3
36031a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3612b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
36231a49c4bSYoshihiro Shimoda	help
36331a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
36431a49c4bSYoshihiro Shimoda
365ea0e1a9aSPaul Mundt# SH-4 Processor Support
366ea0e1a9aSPaul Mundt
367ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
368ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
369ea0e1a9aSPaul Mundt	select CPU_SH4
370ea0e1a9aSPaul Mundt	help
371ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
372ea0e1a9aSPaul Mundt
373ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
374ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
375ea0e1a9aSPaul Mundt	select CPU_SH4
376ea0e1a9aSPaul Mundt	help
377ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
378ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
379ea0e1a9aSPaul Mundt
380ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
381ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
382ea0e1a9aSPaul Mundt	select CPU_SH4
383ea0e1a9aSPaul Mundt
384ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
385ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
386ea0e1a9aSPaul Mundt	select CPU_SH4
387ea0e1a9aSPaul Mundt
388ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
389ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
390ea0e1a9aSPaul Mundt	select CPU_SH4
391ea0e1a9aSPaul Mundt	help
392ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
393ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
394ea0e1a9aSPaul Mundt
395ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
396ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
397ea0e1a9aSPaul Mundt	select CPU_SH4
398ea0e1a9aSPaul Mundt
399ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
400ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
401ea0e1a9aSPaul Mundt	select CPU_SH4
402ea0e1a9aSPaul Mundt
403ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
404ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
405ea0e1a9aSPaul Mundt	select CPU_SH4
406ea0e1a9aSPaul Mundt
407ea0e1a9aSPaul Mundt# SH-4A Processor Support
408ea0e1a9aSPaul Mundt
409178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
410178dd0cdSPaul Mundt	bool "Support SH7723 processor"
411178dd0cdSPaul Mundt	select CPU_SH4A
412178dd0cdSPaul Mundt	select CPU_SHX2
413dc65a977SPaul Mundt	select ARCH_SHMOBILE
414178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
415f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
416178dd0cdSPaul Mundt	help
417178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
418178dd0cdSPaul Mundt
4190207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4200207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4210207a2efSKuninori Morimoto	select CPU_SH4A
4220207a2efSKuninori Morimoto	select CPU_SHX2
42359fe700dSPaul Mundt	select ARCH_SHMOBILE
4240207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4250207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
4260207a2efSKuninori Morimoto	help
4270207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4280207a2efSKuninori Morimoto
429c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
430c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
431c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
432c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
433c01f0f1aSYoshihiro Shimoda	help
434c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
435c01f0f1aSYoshihiro Shimoda
4367d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4377d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4387d740a06SYoshihiro Shimoda	select CPU_SH4A
4397d740a06SYoshihiro Shimoda	help
4407d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4417d740a06SYoshihiro Shimoda
442ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
443ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
444ea0e1a9aSPaul Mundt	select CPU_SH4A
445ea0e1a9aSPaul Mundt
446ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
447ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
448ea0e1a9aSPaul Mundt	select CPU_SH4A
449ea0e1a9aSPaul Mundt
450ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
451ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
452ea0e1a9aSPaul Mundt	select CPU_SH4A
453ea0e1a9aSPaul Mundt	select CPU_SHX2
454ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
455ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
456ea0e1a9aSPaul Mundt
45755ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
45855ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
45955ba99ebSKuninori Morimoto	select CPU_SH4A
46037042fbdSPaul Mundt	select CPU_SHX3
4618263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4622eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
46355ba99ebSKuninori Morimoto
464ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
465ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
466ea0e1a9aSPaul Mundt	select CPU_SH4A
467ea0e1a9aSPaul Mundt	select CPU_SHX3
4685840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
469ea0e1a9aSPaul Mundt
470ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
471ea0e1a9aSPaul Mundt
472ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
473ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
474ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
475dc65a977SPaul Mundt	select ARCH_SHMOBILE
476f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
477ea0e1a9aSPaul Mundt
478ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
479ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
480ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
481ea0e1a9aSPaul Mundt	select CPU_SHX2
482dc65a977SPaul Mundt	select ARCH_SHMOBILE
483ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
484ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
485f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
486ea0e1a9aSPaul Mundt
4879109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
4889109a30eSMagnus Damm	bool "Support SH7366 processor"
4899109a30eSMagnus Damm	select CPU_SH4AL_DSP
4909109a30eSMagnus Damm	select CPU_SHX2
491dc65a977SPaul Mundt	select ARCH_SHMOBILE
4929109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
4939109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
494f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
4959109a30eSMagnus Damm
4963cc000b5SPaul Mundtendchoice
4973cc000b5SPaul Mundt
4983cc000b5SPaul Mundtendif
4993cc000b5SPaul Mundt
5003cc000b5SPaul Mundtif SUPERH64
5013cc000b5SPaul Mundt
5023cc000b5SPaul Mundtchoice
5033cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5043cc000b5SPaul Mundt
505ea0e1a9aSPaul Mundt# SH-5 Processor Support
506ea0e1a9aSPaul Mundt
507ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
508ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
509ea0e1a9aSPaul Mundt	select CPU_SH5
510ea0e1a9aSPaul Mundt
511ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
512ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5138ef97dd7SPaul Mundt	select CPU_SH5
514ea0e1a9aSPaul Mundt
515ea0e1a9aSPaul Mundtendchoice
516ea0e1a9aSPaul Mundt
5173cc000b5SPaul Mundtendif
5183cc000b5SPaul Mundt
519ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
520939a24a6SPaul Mundt
521ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
522ea0e1a9aSPaul Mundt
523939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
524ea0e1a9aSPaul Mundt
525ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
526ea0e1a9aSPaul Mundt
5279570ef20SMagnus Dammconfig SH_TIMER_TMU
5289570ef20SMagnus Damm	bool "TMU timer driver"
529f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5309570ef20SMagnus Damm	default y
5319570ef20SMagnus Damm	help
5329570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5339570ef20SMagnus Damm
534f5ad881bSPaul Mundtconfig SH_TIMER_CMT
535f425752fSMagnus Damm	bool "CMT timer driver"
536f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
537f425752fSMagnus Damm	default y
538f425752fSMagnus Damm	help
539f425752fSMagnus Damm	  This enables build of the CMT timer driver.
540f5ad881bSPaul Mundt
541d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
542d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5433280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
544d5ed4c2eSMagnus Damm	default y
545d5ed4c2eSMagnus Damm	help
546d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
547d5ed4c2eSMagnus Damm
548ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
549ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5508152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
551ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5528152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5538152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5548152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5558152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5568152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5578152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
55843a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
559ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
560ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
561ea0e1a9aSPaul Mundt	default "50000000"
562ea0e1a9aSPaul Mundt	help
563ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
564ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
565ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
566ea0e1a9aSPaul Mundt
56736aa1e32SPaul Mundtconfig SH_CLK_CPG
56836aa1e32SPaul Mundt	def_bool y
56936aa1e32SPaul Mundt
570253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
57136aa1e32SPaul Mundt	depends on SH_CLK_CPG
57243a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
57356c52986SYoshihiro Shimoda		      !CPU_SUBTYPE_SH7786 && !CPU_SUBTYPE_SH7757
574253b0887SPaul Mundt
575ea0e1a9aSPaul Mundtconfig SH_CLK_MD
576ea0e1a9aSPaul Mundt	int "CPU Mode Pin Setting"
5776d01f510SPaul Mundt	depends on CPU_SH2
578ea0e1a9aSPaul Mundt	default 6 if CPU_SUBTYPE_SH7206
579ea0e1a9aSPaul Mundt	default 5 if CPU_SUBTYPE_SH7619
580ea0e1a9aSPaul Mundt	default 0
581ea0e1a9aSPaul Mundt	help
582ea0e1a9aSPaul Mundt	  MD2 - MD0 pin setting.
583ea0e1a9aSPaul Mundt
584ea0e1a9aSPaul Mundtsource "kernel/time/Kconfig"
585ea0e1a9aSPaul Mundt
586ea0e1a9aSPaul Mundtendmenu
587ea0e1a9aSPaul Mundt
588ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
589ea0e1a9aSPaul Mundt
590ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
591ea0e1a9aSPaul Mundt
592ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
593ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
594ea0e1a9aSPaul Mundt	depends on CPU_FREQ
595ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
596ea0e1a9aSPaul Mundt	help
5978a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
5988a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
5998a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6008a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6018a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6028a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
603ea0e1a9aSPaul Mundt
604ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
605ea0e1a9aSPaul Mundt
606ea0e1a9aSPaul Mundt	  If unsure, say N.
607ea0e1a9aSPaul Mundt
608ea0e1a9aSPaul Mundtendmenu
609ea0e1a9aSPaul Mundt
610ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundtendmenu
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundtmenu "Kernel features"
615ea0e1a9aSPaul Mundt
616ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
617ea0e1a9aSPaul Mundt
618ea0e1a9aSPaul Mundtconfig KEXEC
619ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
620f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
621ea0e1a9aSPaul Mundt	help
622ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
623ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
624ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
625ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
626ea0e1a9aSPaul Mundt
627ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
628ea0e1a9aSPaul Mundt
629ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
630ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
631ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
632ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
633ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
634ea0e1a9aSPaul Mundt
635ea0e1a9aSPaul Mundtconfig CRASH_DUMP
636ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
637d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
638ea0e1a9aSPaul Mundt	help
639ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
640ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
641ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
642ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
643ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
644ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
645ea0e1a9aSPaul Mundt	  MEMORY_START.
646ea0e1a9aSPaul Mundt
647ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
648ea0e1a9aSPaul Mundt
649b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
650b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
651b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
652b7cf6ddcSMagnus Damm	help
653b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
654b7cf6ddcSMagnus Damm	  code via KEXEC
655b7cf6ddcSMagnus Damm
656c4637d47SPaul Mundtconfig SECCOMP
657c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
658c4637d47SPaul Mundt	depends on PROC_FS
659c4637d47SPaul Mundt	help
660c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
661c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
662c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
663c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
664c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
665c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
666c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
667c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
668c4637d47SPaul Mundt	  mode.
669c4637d47SPaul Mundt
670c4637d47SPaul Mundt	  If unsure, say N.
671c4637d47SPaul Mundt
672ea0e1a9aSPaul Mundtconfig SMP
673ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
674ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
675490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
676ea0e1a9aSPaul Mundt	---help---
677ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
678ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
679ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
680ea0e1a9aSPaul Mundt
681ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
682ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
683ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
684ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
685ea0e1a9aSPaul Mundt	  will run faster if you say N here.
686ea0e1a9aSPaul Mundt
687ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
688ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
689ea0e1a9aSPaul Mundt
69003502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
69103502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
692ea0e1a9aSPaul Mundt
693ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
694ea0e1a9aSPaul Mundt
695ea0e1a9aSPaul Mundtconfig NR_CPUS
696ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
697ea0e1a9aSPaul Mundt	range 2 32
698ea0e1a9aSPaul Mundt	depends on SMP
6992eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
700ea0e1a9aSPaul Mundt	default "2"
701ea0e1a9aSPaul Mundt	help
702ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
703ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
704ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
705ea0e1a9aSPaul Mundt
706ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
707ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
708ea0e1a9aSPaul Mundt
709763142d1SPaul Mundtconfig HOTPLUG_CPU
710763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
711763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
712763142d1SPaul Mundt	help
713763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
714763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
715763142d1SPaul Mundt
716ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
717ea0e1a9aSPaul Mundt
718ea0e1a9aSPaul Mundtconfig GUSA
719ea0e1a9aSPaul Mundt	def_bool y
7201efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
721ea0e1a9aSPaul Mundt	help
722ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
723ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
724ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
725ea0e1a9aSPaul Mundt
726ea0e1a9aSPaul Mundt	  For additional information, design information can be found
727ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
728ea0e1a9aSPaul Mundt
729ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
730ea0e1a9aSPaul Mundt	  atomicity implementations exist.
731ea0e1a9aSPaul Mundt
7321efe4ce3SStuart Menefyconfig GUSA_RB
7331efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7341efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7351efe4ce3SStuart Menefy	help
7361efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
737692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7381efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7391efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
740692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7411efe4ce3SStuart Menefy
74243b8774dSPaul Mundtsource "drivers/sh/Kconfig"
74343b8774dSPaul Mundt
744ea0e1a9aSPaul Mundtendmenu
745ea0e1a9aSPaul Mundt
746ea0e1a9aSPaul Mundtmenu "Boot options"
747ea0e1a9aSPaul Mundt
748ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
749b412a49aSPaul Mundt	hex
750b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
751b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
752b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
753ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
754ea0e1a9aSPaul Mundt	default "0x00001000"
755ea0e1a9aSPaul Mundt	help
756ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
757ea0e1a9aSPaul Mundt
758ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
759b412a49aSPaul Mundt	hex
760b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
761a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
762b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
763b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
764b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
765b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
766ea0e1a9aSPaul Mundt	default "0x00800000"
767ea0e1a9aSPaul Mundt	help
768ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
769ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
770ea0e1a9aSPaul Mundt	  memory.
771ea0e1a9aSPaul Mundt
772b412a49aSPaul Mundtconfig ENTRY_OFFSET
773b412a49aSPaul Mundt	hex
774b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
775b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
776b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
777b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
778b412a49aSPaul Mundt	default "0x00000000"
779b412a49aSPaul Mundt
7804705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7814705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7824705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
7834705b2e8SMagnus Damm	help
7844705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
7854705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
7864705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
7874705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
7884705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
7894705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
7904705b2e8SMagnus Damm
791d724a9c9SPawel Mollchoice
792d724a9c9SPawel Moll	prompt "Kernel command line"
793d724a9c9SPawel Moll	optional
794d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
795d724a9c9SPawel Moll	help
796d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
797d724a9c9SPawel Moll	  to be set.
798d724a9c9SPawel Moll
799d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
800d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
801d724a9c9SPawel Moll	help
802d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
803d724a9c9SPawel Moll	  a bootloader.
804d724a9c9SPawel Moll
805d724a9c9SPawel Mollconfig CMDLINE_EXTEND
806d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
807d724a9c9SPawel Moll	help
808d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
809d724a9c9SPawel Moll	  by a bootloader.
810d724a9c9SPawel Moll
811d724a9c9SPawel Mollendchoice
812ea0e1a9aSPaul Mundt
813ea0e1a9aSPaul Mundtconfig CMDLINE
814d724a9c9SPawel Moll	string "Kernel command line arguments string"
815d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
816ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
817ea0e1a9aSPaul Mundt
818ea0e1a9aSPaul Mundtendmenu
819ea0e1a9aSPaul Mundt
820ea0e1a9aSPaul Mundtmenu "Bus options"
821ea0e1a9aSPaul Mundt
822ea0e1a9aSPaul Mundtconfig SUPERHYWAY
823ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
824ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
825ea0e1a9aSPaul Mundt
826ea0e1a9aSPaul Mundtconfig MAPLE
827ea0e1a9aSPaul Mundt	bool "Maple Bus support"
828ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
829ea0e1a9aSPaul Mundt	help
830ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
831ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
832ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
833ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
834ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
835ea0e1a9aSPaul Mundt	 connection.
836ea0e1a9aSPaul Mundt
8377693465dSPaul Mundtconfig PCI
8387693465dSPaul Mundt	bool "PCI support"
8397693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
840320e68daSPaul Mundt	select PCI_DOMAINS
8417693465dSPaul Mundt	help
8427693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8437693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8447693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
845ea0e1a9aSPaul Mundt
846320e68daSPaul Mundtconfig PCI_DOMAINS
847320e68daSPaul Mundt	bool
848320e68daSPaul Mundt
849e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
850e16038abSPaul Mundt
851ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
852ea0e1a9aSPaul Mundt
853ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
854ea0e1a9aSPaul Mundt
855ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
856ea0e1a9aSPaul Mundt
857ea0e1a9aSPaul Mundtendmenu
858ea0e1a9aSPaul Mundt
859ea0e1a9aSPaul Mundtmenu "Executable file formats"
860ea0e1a9aSPaul Mundt
861ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
862ea0e1a9aSPaul Mundt
863ea0e1a9aSPaul Mundtendmenu
864ea0e1a9aSPaul Mundt
865ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
866af998a9aSMagnus Dammdepends on EXPERIMENTAL
867f4cb5700SJohannes Berg
868c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
869c6f17cb2SMagnus Damm
870c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
871ea0e1a9aSPaul Mundt
872ea0e1a9aSPaul Mundtendmenu
873ea0e1a9aSPaul Mundt
874ea0e1a9aSPaul Mundtsource "net/Kconfig"
875ea0e1a9aSPaul Mundt
876ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
877ea0e1a9aSPaul Mundt
878ea0e1a9aSPaul Mundtsource "fs/Kconfig"
879ea0e1a9aSPaul Mundt
880ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
881ea0e1a9aSPaul Mundt
882ea0e1a9aSPaul Mundtsource "security/Kconfig"
883ea0e1a9aSPaul Mundt
884ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
885ea0e1a9aSPaul Mundt
8865f737b39SMagnus Dammmenuconfig VIRTUALIZATION
8875f737b39SMagnus Damm	bool "Virtualization"
8885f737b39SMagnus Damm	default n
8895f737b39SMagnus Damm	---help---
8905f737b39SMagnus Damm	  Say Y here to get to see options for using your Linux host to run other
8915f737b39SMagnus Damm	  operating systems inside virtual machines (guests).
8925f737b39SMagnus Damm	  This option alone does not add any kernel code.
8935f737b39SMagnus Damm
8945f737b39SMagnus Damm	  If you say N, all options in this submenu will be skipped and disabled.
8955f737b39SMagnus Damm
8965f737b39SMagnus Dammif VIRTUALIZATION
8975f737b39SMagnus Damm
8985f737b39SMagnus Dammsource drivers/virtio/Kconfig
8995f737b39SMagnus Damm
9005f737b39SMagnus Dammendif # VIRTUALIZATION
9015f737b39SMagnus Damm
902ea0e1a9aSPaul Mundtsource "lib/Kconfig"
903