b934d7d00c7b7dcfe70a2382e2756b8053200d71
[deliverable/linux.git] / arch / sh / Kconfig
1 config SUPERH
2 def_bool y
3 select EXPERT
4 select CLKDEV_LOOKUP
5 select HAVE_IDE if HAS_IOPORT
6 select HAVE_MEMBLOCK
7 select HAVE_MEMBLOCK_NODE_MAP
8 select ARCH_DISCARD_MEMBLOCK
9 select HAVE_OPROFILE
10 select HAVE_GENERIC_DMA_COHERENT
11 select HAVE_ARCH_TRACEHOOK
12 select HAVE_DMA_API_DEBUG
13 select HAVE_DMA_ATTRS
14 select HAVE_IRQ_WORK
15 select HAVE_PERF_EVENTS
16 select HAVE_DEBUG_BUGVERBOSE
17 select ARCH_HAVE_CUSTOM_GPIO_H
18 select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
19 select PERF_USE_VMALLOC
20 select HAVE_DEBUG_KMEMLEAK
21 select HAVE_KERNEL_GZIP
22 select HAVE_KERNEL_BZIP2
23 select HAVE_KERNEL_LZMA
24 select HAVE_KERNEL_XZ
25 select HAVE_KERNEL_LZO
26 select HAVE_UID16
27 select ARCH_WANT_IPC_PARSE_VERSION
28 select HAVE_SYSCALL_TRACEPOINTS
29 select HAVE_REGS_AND_STACK_ACCESS_API
30 select HAVE_GENERIC_HARDIRQS
31 select MAY_HAVE_SPARSE_IRQ
32 select IRQ_FORCED_THREADING
33 select RTC_LIB
34 select GENERIC_ATOMIC64
35 select GENERIC_IRQ_SHOW
36 select GENERIC_SMP_IDLE_THREAD
37 select GENERIC_CLOCKEVENTS
38 select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
39 select GENERIC_STRNCPY_FROM_USER
40 select GENERIC_STRNLEN_USER
41 select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
42 select MODULES_USE_ELF_RELA
43 help
44 The SuperH is a RISC processor targeted for use in embedded systems
45 and consumer electronics; it was also used in the Sega Dreamcast
46 gaming console. The SuperH port has a home page at
47 <http://www.linux-sh.org/>.
48
49 config SUPERH32
50 def_bool ARCH = "sh"
51 select HAVE_KPROBES
52 select HAVE_KRETPROBES
53 select HAVE_IOREMAP_PROT if MMU && !X2TLB
54 select HAVE_FUNCTION_TRACER
55 select HAVE_FTRACE_MCOUNT_RECORD
56 select HAVE_DYNAMIC_FTRACE
57 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
58 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
59 select ARCH_WANT_IPC_PARSE_VERSION
60 select HAVE_FUNCTION_GRAPH_TRACER
61 select HAVE_ARCH_KGDB
62 select HAVE_HW_BREAKPOINT
63 select HAVE_MIXED_BREAKPOINTS_REGS
64 select PERF_EVENTS
65 select ARCH_HIBERNATION_POSSIBLE if MMU
66 select SPARSE_IRQ
67
68 config SUPERH64
69 def_bool ARCH = "sh64"
70 select KALLSYMS
71
72 config ARCH_DEFCONFIG
73 string
74 default "arch/sh/configs/shx3_defconfig" if SUPERH32
75 default "arch/sh/configs/cayman_defconfig" if SUPERH64
76
77 config RWSEM_GENERIC_SPINLOCK
78 def_bool y
79
80 config RWSEM_XCHGADD_ALGORITHM
81 bool
82
83 config GENERIC_BUG
84 def_bool y
85 depends on BUG && SUPERH32
86
87 config GENERIC_CSUM
88 def_bool y
89 depends on SUPERH64
90
91 config GENERIC_HWEIGHT
92 def_bool y
93
94 config IRQ_PER_CPU
95 def_bool y
96
97 config GENERIC_GPIO
98 def_bool n
99
100 config GENERIC_CALIBRATE_DELAY
101 bool
102
103 config GENERIC_LOCKBREAK
104 def_bool y
105 depends on SMP && PREEMPT
106
107 config ARCH_SUSPEND_POSSIBLE
108 def_bool n
109
110 config ARCH_HIBERNATION_POSSIBLE
111 def_bool n
112
113 config SYS_SUPPORTS_APM_EMULATION
114 bool
115 select ARCH_SUSPEND_POSSIBLE
116
117 config SYS_SUPPORTS_HUGETLBFS
118 bool
119
120 config SYS_SUPPORTS_SMP
121 bool
122
123 config SYS_SUPPORTS_NUMA
124 bool
125
126 config SYS_SUPPORTS_PCI
127 bool
128
129 config SYS_SUPPORTS_CMT
130 bool
131
132 config SYS_SUPPORTS_MTU2
133 bool
134
135 config SYS_SUPPORTS_TMU
136 bool
137
138 config STACKTRACE_SUPPORT
139 def_bool y
140
141 config LOCKDEP_SUPPORT
142 def_bool y
143
144 config HAVE_LATENCYTOP_SUPPORT
145 def_bool y
146
147 config ARCH_HAS_ILOG2_U32
148 def_bool n
149
150 config ARCH_HAS_ILOG2_U64
151 def_bool n
152
153 config ARCH_NO_VIRT_TO_BUS
154 def_bool y
155
156 config ARCH_HAS_DEFAULT_IDLE
157 def_bool y
158
159 config NO_IOPORT
160 def_bool !PCI
161 depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
162 !SH_HP6XX && !SH_SOLUTION_ENGINE
163
164 config IO_TRAPPED
165 bool
166
167 config SWAP_IO_SPACE
168 bool
169
170 config DMA_COHERENT
171 bool
172
173 config DMA_NONCOHERENT
174 def_bool !DMA_COHERENT
175
176 config NEED_DMA_MAP_STATE
177 def_bool DMA_NONCOHERENT
178
179 config NEED_SG_DMA_LENGTH
180 def_bool y
181
182 source "init/Kconfig"
183
184 source "kernel/Kconfig.freezer"
185
186 menu "System type"
187
188 #
189 # Processor families
190 #
191 config CPU_SH2
192 bool
193
194 config CPU_SH2A
195 bool
196 select CPU_SH2
197 select UNCACHED_MAPPING
198
199 config CPU_SH3
200 bool
201 select CPU_HAS_INTEVT
202 select CPU_HAS_SR_RB
203 select SYS_SUPPORTS_TMU
204
205 config CPU_SH4
206 bool
207 select CPU_HAS_INTEVT
208 select CPU_HAS_SR_RB
209 select CPU_HAS_FPU if !CPU_SH4AL_DSP
210 select SYS_SUPPORTS_TMU
211 select SYS_SUPPORTS_HUGETLBFS if MMU
212
213 config CPU_SH4A
214 bool
215 select CPU_SH4
216
217 config CPU_SH4AL_DSP
218 bool
219 select CPU_SH4A
220 select CPU_HAS_DSP
221
222 config CPU_SH5
223 bool
224 select CPU_HAS_FPU
225 select SYS_SUPPORTS_TMU
226 select SYS_SUPPORTS_HUGETLBFS if MMU
227
228 config CPU_SHX2
229 bool
230
231 config CPU_SHX3
232 bool
233 select DMA_COHERENT
234 select SYS_SUPPORTS_SMP
235 select SYS_SUPPORTS_NUMA
236
237 config ARCH_SHMOBILE
238 bool
239 select ARCH_SUSPEND_POSSIBLE
240 select PM
241 select PM_RUNTIME
242
243 config CPU_HAS_PMU
244 depends on CPU_SH4 || CPU_SH4A
245 default y
246 bool
247
248 if SUPERH32
249
250 choice
251 prompt "Processor sub-type selection"
252
253 #
254 # Processor subtypes
255 #
256
257 # SH-2 Processor Support
258
259 config CPU_SUBTYPE_SH7619
260 bool "Support SH7619 processor"
261 select CPU_SH2
262 select SYS_SUPPORTS_CMT
263
264 # SH-2A Processor Support
265
266 config CPU_SUBTYPE_SH7201
267 bool "Support SH7201 processor"
268 select CPU_SH2A
269 select CPU_HAS_FPU
270 select SYS_SUPPORTS_MTU2
271
272 config CPU_SUBTYPE_SH7203
273 bool "Support SH7203 processor"
274 select CPU_SH2A
275 select CPU_HAS_FPU
276 select SYS_SUPPORTS_CMT
277 select SYS_SUPPORTS_MTU2
278 select ARCH_WANT_OPTIONAL_GPIOLIB
279 select PINCTRL
280
281 config CPU_SUBTYPE_SH7206
282 bool "Support SH7206 processor"
283 select CPU_SH2A
284 select SYS_SUPPORTS_CMT
285 select SYS_SUPPORTS_MTU2
286
287 config CPU_SUBTYPE_SH7263
288 bool "Support SH7263 processor"
289 select CPU_SH2A
290 select CPU_HAS_FPU
291 select SYS_SUPPORTS_CMT
292 select SYS_SUPPORTS_MTU2
293
294 config CPU_SUBTYPE_SH7264
295 bool "Support SH7264 processor"
296 select CPU_SH2A
297 select CPU_HAS_FPU
298 select SYS_SUPPORTS_CMT
299 select SYS_SUPPORTS_MTU2
300 select PINCTRL
301
302 config CPU_SUBTYPE_SH7269
303 bool "Support SH7269 processor"
304 select CPU_SH2A
305 select CPU_HAS_FPU
306 select SYS_SUPPORTS_CMT
307 select SYS_SUPPORTS_MTU2
308 select PINCTRL
309
310 config CPU_SUBTYPE_MXG
311 bool "Support MX-G processor"
312 select CPU_SH2A
313 select SYS_SUPPORTS_MTU2
314 help
315 Select MX-G if running on an R8A03022BG part.
316
317 # SH-3 Processor Support
318
319 config CPU_SUBTYPE_SH7705
320 bool "Support SH7705 processor"
321 select CPU_SH3
322
323 config CPU_SUBTYPE_SH7706
324 bool "Support SH7706 processor"
325 select CPU_SH3
326 help
327 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
328
329 config CPU_SUBTYPE_SH7707
330 bool "Support SH7707 processor"
331 select CPU_SH3
332 help
333 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
334
335 config CPU_SUBTYPE_SH7708
336 bool "Support SH7708 processor"
337 select CPU_SH3
338 help
339 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
340 if you have a 100 Mhz SH-3 HD6417708R CPU.
341
342 config CPU_SUBTYPE_SH7709
343 bool "Support SH7709 processor"
344 select CPU_SH3
345 help
346 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
347
348 config CPU_SUBTYPE_SH7710
349 bool "Support SH7710 processor"
350 select CPU_SH3
351 select CPU_HAS_DSP
352 help
353 Select SH7710 if you have a SH3-DSP SH7710 CPU.
354
355 config CPU_SUBTYPE_SH7712
356 bool "Support SH7712 processor"
357 select CPU_SH3
358 select CPU_HAS_DSP
359 help
360 Select SH7712 if you have a SH3-DSP SH7712 CPU.
361
362 config CPU_SUBTYPE_SH7720
363 bool "Support SH7720 processor"
364 select CPU_SH3
365 select CPU_HAS_DSP
366 select SYS_SUPPORTS_CMT
367 select ARCH_WANT_OPTIONAL_GPIOLIB
368 select USB_ARCH_HAS_OHCI
369 select USB_OHCI_SH if USB_OHCI_HCD
370 help
371 Select SH7720 if you have a SH3-DSP SH7720 CPU.
372
373 config CPU_SUBTYPE_SH7721
374 bool "Support SH7721 processor"
375 select CPU_SH3
376 select CPU_HAS_DSP
377 select SYS_SUPPORTS_CMT
378 select USB_ARCH_HAS_OHCI
379 select USB_OHCI_SH if USB_OHCI_HCD
380 help
381 Select SH7721 if you have a SH3-DSP SH7721 CPU.
382
383 # SH-4 Processor Support
384
385 config CPU_SUBTYPE_SH7750
386 bool "Support SH7750 processor"
387 select CPU_SH4
388 help
389 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
390
391 config CPU_SUBTYPE_SH7091
392 bool "Support SH7091 processor"
393 select CPU_SH4
394 help
395 Select SH7091 if you have an SH-4 based Sega device (such as
396 the Dreamcast, Naomi, and Naomi 2).
397
398 config CPU_SUBTYPE_SH7750R
399 bool "Support SH7750R processor"
400 select CPU_SH4
401
402 config CPU_SUBTYPE_SH7750S
403 bool "Support SH7750S processor"
404 select CPU_SH4
405
406 config CPU_SUBTYPE_SH7751
407 bool "Support SH7751 processor"
408 select CPU_SH4
409 help
410 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
411 or if you have a HD6417751R CPU.
412
413 config CPU_SUBTYPE_SH7751R
414 bool "Support SH7751R processor"
415 select CPU_SH4
416
417 config CPU_SUBTYPE_SH7760
418 bool "Support SH7760 processor"
419 select CPU_SH4
420
421 config CPU_SUBTYPE_SH4_202
422 bool "Support SH4-202 processor"
423 select CPU_SH4
424
425 # SH-4A Processor Support
426
427 config CPU_SUBTYPE_SH7723
428 bool "Support SH7723 processor"
429 select CPU_SH4A
430 select CPU_SHX2
431 select ARCH_SHMOBILE
432 select ARCH_SPARSEMEM_ENABLE
433 select SYS_SUPPORTS_CMT
434 select ARCH_WANT_OPTIONAL_GPIOLIB
435 help
436 Select SH7723 if you have an SH-MobileR2 CPU.
437
438 config CPU_SUBTYPE_SH7724
439 bool "Support SH7724 processor"
440 select CPU_SH4A
441 select CPU_SHX2
442 select ARCH_SHMOBILE
443 select ARCH_SPARSEMEM_ENABLE
444 select SYS_SUPPORTS_CMT
445 select ARCH_WANT_OPTIONAL_GPIOLIB
446 help
447 Select SH7724 if you have an SH-MobileR2R CPU.
448
449 config CPU_SUBTYPE_SH7734
450 bool "Support SH7734 processor"
451 select CPU_SH4A
452 select CPU_SHX2
453 select ARCH_WANT_OPTIONAL_GPIOLIB
454 select USB_ARCH_HAS_OHCI
455 select USB_ARCH_HAS_EHCI
456 help
457 Select SH7734 if you have a SH4A SH7734 CPU.
458
459 config CPU_SUBTYPE_SH7757
460 bool "Support SH7757 processor"
461 select CPU_SH4A
462 select CPU_SHX2
463 select ARCH_WANT_OPTIONAL_GPIOLIB
464 select USB_ARCH_HAS_OHCI
465 select USB_ARCH_HAS_EHCI
466 help
467 Select SH7757 if you have a SH4A SH7757 CPU.
468
469 config CPU_SUBTYPE_SH7763
470 bool "Support SH7763 processor"
471 select CPU_SH4A
472 select USB_ARCH_HAS_OHCI
473 select USB_OHCI_SH if USB_OHCI_HCD
474 help
475 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
476
477 config CPU_SUBTYPE_SH7770
478 bool "Support SH7770 processor"
479 select CPU_SH4A
480
481 config CPU_SUBTYPE_SH7780
482 bool "Support SH7780 processor"
483 select CPU_SH4A
484
485 config CPU_SUBTYPE_SH7785
486 bool "Support SH7785 processor"
487 select CPU_SH4A
488 select CPU_SHX2
489 select ARCH_SPARSEMEM_ENABLE
490 select SYS_SUPPORTS_NUMA
491 select ARCH_WANT_OPTIONAL_GPIOLIB
492
493 config CPU_SUBTYPE_SH7786
494 bool "Support SH7786 processor"
495 select CPU_SH4A
496 select CPU_SHX3
497 select CPU_HAS_PTEAEX
498 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
499 select ARCH_WANT_OPTIONAL_GPIOLIB
500 select USB_ARCH_HAS_OHCI
501 select USB_OHCI_SH if USB_OHCI_HCD
502 select USB_ARCH_HAS_EHCI
503 select USB_EHCI_SH if USB_EHCI_HCD
504
505 config CPU_SUBTYPE_SHX3
506 bool "Support SH-X3 processor"
507 select CPU_SH4A
508 select CPU_SHX3
509 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
510 select ARCH_REQUIRE_GPIOLIB
511
512 # SH4AL-DSP Processor Support
513
514 config CPU_SUBTYPE_SH7343
515 bool "Support SH7343 processor"
516 select CPU_SH4AL_DSP
517 select ARCH_SHMOBILE
518 select SYS_SUPPORTS_CMT
519
520 config CPU_SUBTYPE_SH7722
521 bool "Support SH7722 processor"
522 select CPU_SH4AL_DSP
523 select CPU_SHX2
524 select ARCH_SHMOBILE
525 select ARCH_SPARSEMEM_ENABLE
526 select SYS_SUPPORTS_NUMA
527 select SYS_SUPPORTS_CMT
528 select ARCH_WANT_OPTIONAL_GPIOLIB
529
530 config CPU_SUBTYPE_SH7366
531 bool "Support SH7366 processor"
532 select CPU_SH4AL_DSP
533 select CPU_SHX2
534 select ARCH_SHMOBILE
535 select ARCH_SPARSEMEM_ENABLE
536 select SYS_SUPPORTS_NUMA
537 select SYS_SUPPORTS_CMT
538
539 endchoice
540
541 endif
542
543 if SUPERH64
544
545 choice
546 prompt "Processor sub-type selection"
547
548 # SH-5 Processor Support
549
550 config CPU_SUBTYPE_SH5_101
551 bool "Support SH5-101 processor"
552 select CPU_SH5
553
554 config CPU_SUBTYPE_SH5_103
555 bool "Support SH5-103 processor"
556 select CPU_SH5
557
558 endchoice
559
560 endif
561
562 source "arch/sh/mm/Kconfig"
563
564 source "arch/sh/Kconfig.cpu"
565
566 source "arch/sh/boards/Kconfig"
567
568 menu "Timer and clock configuration"
569
570 config SH_TIMER_TMU
571 bool "TMU timer driver"
572 depends on SYS_SUPPORTS_TMU
573 default y
574 help
575 This enables the build of the TMU timer driver.
576
577 config SH_TIMER_CMT
578 bool "CMT timer driver"
579 depends on SYS_SUPPORTS_CMT
580 default y
581 help
582 This enables build of the CMT timer driver.
583
584 config SH_TIMER_MTU2
585 bool "MTU2 timer driver"
586 depends on SYS_SUPPORTS_MTU2
587 default y
588 help
589 This enables build of the MTU2 timer driver.
590
591 config SH_PCLK_FREQ
592 int "Peripheral clock frequency (in Hz)"
593 depends on SH_CLK_CPG_LEGACY
594 default "31250000" if CPU_SUBTYPE_SH7619
595 default "33333333" if CPU_SUBTYPE_SH7770 || \
596 CPU_SUBTYPE_SH7760 || \
597 CPU_SUBTYPE_SH7705 || \
598 CPU_SUBTYPE_SH7203 || \
599 CPU_SUBTYPE_SH7206 || \
600 CPU_SUBTYPE_SH7263 || \
601 CPU_SUBTYPE_MXG
602 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
603 default "66000000" if CPU_SUBTYPE_SH4_202
604 default "50000000"
605 help
606 This option is used to specify the peripheral clock frequency.
607 This is necessary for determining the reference clock value on
608 platforms lacking an RTC.
609
610 config SH_CLK_CPG
611 def_bool y
612
613 config SH_CLK_CPG_LEGACY
614 depends on SH_CLK_CPG
615 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
616 !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
617 !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
618 !CPU_SUBTYPE_SH7269
619
620 endmenu
621
622 menu "CPU Frequency scaling"
623
624 source "drivers/cpufreq/Kconfig"
625
626 config SH_CPU_FREQ
627 tristate "SuperH CPU Frequency driver"
628 depends on CPU_FREQ
629 select CPU_FREQ_TABLE
630 help
631 This adds the cpufreq driver for SuperH. Any CPU that supports
632 clock rate rounding through the clock framework can use this
633 driver. While it will make the kernel slightly larger, this is
634 harmless for CPUs that don't support rate rounding. The driver
635 will also generate a notice in the boot log before disabling
636 itself if the CPU in question is not capable of rate rounding.
637
638 For details, take a look at <file:Documentation/cpu-freq>.
639
640 If unsure, say N.
641
642 endmenu
643
644 source "arch/sh/drivers/Kconfig"
645
646 endmenu
647
648 menu "Kernel features"
649
650 source kernel/Kconfig.hz
651
652 config KEXEC
653 bool "kexec system call (EXPERIMENTAL)"
654 depends on SUPERH32 && EXPERIMENTAL && MMU
655 help
656 kexec is a system call that implements the ability to shutdown your
657 current kernel, and to start another kernel. It is like a reboot
658 but it is independent of the system firmware. And like a reboot
659 you can start any kernel with it, not just Linux.
660
661 The name comes from the similarity to the exec system call.
662
663 It is an ongoing process to be certain the hardware in a machine
664 is properly shutdown, so do not be surprised if this code does not
665 initially work for you. It may help to enable device hotplugging
666 support. As of this writing the exact hardware interface is
667 strongly in flux, so no good recommendation can be made.
668
669 config CRASH_DUMP
670 bool "kernel crash dumps (EXPERIMENTAL)"
671 depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
672 help
673 Generate crash dump after being started by kexec.
674 This should be normally only set in special crash dump kernels
675 which are loaded in the main kernel with kexec-tools into
676 a specially reserved region and then later executed after
677 a crash by kdump/kexec. The crash dump kernel must be compiled
678 to a memory address not used by the main kernel using
679 PHYSICAL_START.
680
681 For more details see Documentation/kdump/kdump.txt
682
683 config KEXEC_JUMP
684 bool "kexec jump (EXPERIMENTAL)"
685 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
686 help
687 Jump between original kernel and kexeced kernel and invoke
688 code via KEXEC
689
690 config PHYSICAL_START
691 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
692 default MEMORY_START
693 ---help---
694 This gives the physical address where the kernel is loaded
695 and is ordinarily the same as MEMORY_START.
696
697 Different values are primarily used in the case of kexec on panic
698 where the fail safe kernel needs to run at a different address
699 than the panic-ed kernel.
700
701 config SECCOMP
702 bool "Enable seccomp to safely compute untrusted bytecode"
703 depends on PROC_FS
704 help
705 This kernel feature is useful for number crunching applications
706 that may need to compute untrusted bytecode during their
707 execution. By using pipes or other transports made available to
708 the process as file descriptors supporting the read/write
709 syscalls, it's possible to isolate those applications in
710 their own address space using seccomp. Once seccomp is
711 enabled via prctl, it cannot be disabled and the task is only
712 allowed to execute a few safe syscalls defined by each seccomp
713 mode.
714
715 If unsure, say N.
716
717 config CC_STACKPROTECTOR
718 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
719 depends on SUPERH32 && EXPERIMENTAL
720 help
721 This option turns on the -fstack-protector GCC feature. This
722 feature puts, at the beginning of functions, a canary value on
723 the stack just before the return address, and validates
724 the value just before actually returning. Stack based buffer
725 overflows (that need to overwrite this return address) now also
726 overwrite the canary, which gets detected and the attack is then
727 neutralized via a kernel panic.
728
729 This feature requires gcc version 4.2 or above.
730
731 config SMP
732 bool "Symmetric multi-processing support"
733 depends on SYS_SUPPORTS_SMP
734 select USE_GENERIC_SMP_HELPERS
735 ---help---
736 This enables support for systems with more than one CPU. If you have
737 a system with only one CPU, like most personal computers, say N. If
738 you have a system with more than one CPU, say Y.
739
740 If you say N here, the kernel will run on single and multiprocessor
741 machines, but will use only one CPU of a multiprocessor machine. If
742 you say Y here, the kernel will run on many, but not all,
743 singleprocessor machines. On a singleprocessor machine, the kernel
744 will run faster if you say N here.
745
746 People using multiprocessor machines who say Y here should also say
747 Y to "Enhanced Real Time Clock Support", below.
748
749 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
750 available at <http://www.tldp.org/docs.html#howto>.
751
752 If you don't know what to do here, say N.
753
754 config NR_CPUS
755 int "Maximum number of CPUs (2-32)"
756 range 2 32
757 depends on SMP
758 default "4" if CPU_SUBTYPE_SHX3
759 default "2"
760 help
761 This allows you to specify the maximum number of CPUs which this
762 kernel will support. The maximum supported value is 32 and the
763 minimum value which makes sense is 2.
764
765 This is purely to save memory - each supported CPU adds
766 approximately eight kilobytes to the kernel image.
767
768 config HOTPLUG_CPU
769 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
770 depends on SMP && HOTPLUG && EXPERIMENTAL
771 help
772 Say Y here to experiment with turning CPUs off and on. CPUs
773 can be controlled through /sys/devices/system/cpu.
774
775 source "kernel/Kconfig.preempt"
776
777 config GUSA
778 def_bool y
779 depends on !SMP && SUPERH32
780 help
781 This enables support for gUSA (general UserSpace Atomicity).
782 This is the default implementation for both UP and non-ll/sc
783 CPUs, and is used by the libc, amongst others.
784
785 For additional information, design information can be found
786 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
787
788 This should only be disabled for special cases where alternate
789 atomicity implementations exist.
790
791 config GUSA_RB
792 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
793 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
794 help
795 Enabling this option will allow the kernel to implement some
796 atomic operations using a software implementation of load-locked/
797 store-conditional (LLSC). On machines which do not have hardware
798 LLSC, this should be more efficient than the other alternative of
799 disabling interrupts around the atomic sequence.
800
801 config HW_PERF_EVENTS
802 bool "Enable hardware performance counter support for perf events"
803 depends on PERF_EVENTS && CPU_HAS_PMU
804 default y
805 help
806 Enable hardware performance counter support for perf events. If
807 disabled, perf events will use software events only.
808
809 source "drivers/sh/Kconfig"
810
811 endmenu
812
813 menu "Boot options"
814
815 config ZERO_PAGE_OFFSET
816 hex
817 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
818 SH_7751_SOLUTION_ENGINE
819 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
820 default "0x00002000" if PAGE_SIZE_8KB
821 default "0x00001000"
822 help
823 This sets the default offset of zero page.
824
825 config BOOT_LINK_OFFSET
826 hex
827 default "0x00210000" if SH_SHMIN
828 default "0x00400000" if SH_CAYMAN
829 default "0x00810000" if SH_7780_SOLUTION_ENGINE
830 default "0x009e0000" if SH_TITAN
831 default "0x01800000" if SH_SDK7780
832 default "0x02000000" if SH_EDOSK7760
833 default "0x00800000"
834 help
835 This option allows you to set the link address offset of the zImage.
836 This can be useful if you are on a board which has a small amount of
837 memory.
838
839 config ENTRY_OFFSET
840 hex
841 default "0x00001000" if PAGE_SIZE_4KB
842 default "0x00002000" if PAGE_SIZE_8KB
843 default "0x00004000" if PAGE_SIZE_16KB
844 default "0x00010000" if PAGE_SIZE_64KB
845 default "0x00000000"
846
847 config ROMIMAGE_MMCIF
848 bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
849 depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
850 help
851 Say Y here to include experimental MMCIF loading code in
852 romImage. With this enabled it is possible to write the romImage
853 kernel image to an MMC card and boot the kernel straight from
854 the reset vector. At reset the processor Mask ROM will load the
855 first part of the romImage which in turn loads the rest the kernel
856 image to RAM using the MMCIF hardware block.
857
858 choice
859 prompt "Kernel command line"
860 optional
861 default CMDLINE_OVERWRITE
862 help
863 Setting this option allows the kernel command line arguments
864 to be set.
865
866 config CMDLINE_OVERWRITE
867 bool "Overwrite bootloader kernel arguments"
868 help
869 Given string will overwrite any arguments passed in by
870 a bootloader.
871
872 config CMDLINE_EXTEND
873 bool "Extend bootloader kernel arguments"
874 help
875 Given string will be concatenated with arguments passed in
876 by a bootloader.
877
878 endchoice
879
880 config CMDLINE
881 string "Kernel command line arguments string"
882 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
883 default "console=ttySC1,115200"
884
885 endmenu
886
887 menu "Bus options"
888
889 config SUPERHYWAY
890 tristate "SuperHyway Bus support"
891 depends on CPU_SUBTYPE_SH4_202
892
893 config MAPLE
894 bool "Maple Bus support"
895 depends on SH_DREAMCAST
896 help
897 The Maple Bus is SEGA's serial communication bus for peripherals
898 on the Dreamcast. Without this bus support you won't be able to
899 get your Dreamcast keyboard etc to work, so most users
900 probably want to say 'Y' here, unless you are only using the
901 Dreamcast with a serial line terminal or a remote network
902 connection.
903
904 config PCI
905 bool "PCI support"
906 depends on SYS_SUPPORTS_PCI
907 select PCI_DOMAINS
908 select GENERIC_PCI_IOMAP
909 select NO_GENERIC_PCI_IOPORT_MAP
910 help
911 Find out whether you have a PCI motherboard. PCI is the name of a
912 bus system, i.e. the way the CPU talks to the other stuff inside
913 your box. If you have PCI, say Y, otherwise N.
914
915 config PCI_DOMAINS
916 bool
917
918 source "drivers/pci/pcie/Kconfig"
919
920 source "drivers/pci/Kconfig"
921
922 source "drivers/pcmcia/Kconfig"
923
924 source "drivers/pci/hotplug/Kconfig"
925
926 endmenu
927
928 menu "Executable file formats"
929
930 source "fs/Kconfig.binfmt"
931
932 endmenu
933
934 menu "Power management options (EXPERIMENTAL)"
935 depends on EXPERIMENTAL
936
937 source "kernel/power/Kconfig"
938
939 source "drivers/cpuidle/Kconfig"
940
941 endmenu
942
943 source "net/Kconfig"
944
945 source "drivers/Kconfig"
946
947 source "fs/Kconfig"
948
949 source "arch/sh/Kconfig.debug"
950
951 source "security/Kconfig"
952
953 source "crypto/Kconfig"
954
955 source "lib/Kconfig"
This page took 0.049681 seconds and 4 git commands to generate.