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