linux/arch/sh/Kconfig
<<
>>
Prefs
   1#
   2# For a description of the syntax of this configuration file,
   3# see Documentation/kbuild/kconfig-language.txt.
   4#
   5
   6mainmenu "Linux/SuperH Kernel Configuration"
   7
   8config SUPERH
   9        def_bool y
  10        select EMBEDDED
  11        select HAVE_CLK
  12        select HAVE_IDE
  13        select HAVE_OPROFILE
  14        select HAVE_GENERIC_DMA_COHERENT
  15        select HAVE_IOREMAP_PROT if MMU
  16        select HAVE_ARCH_TRACEHOOK
  17        help
  18          The SuperH is a RISC processor targeted for use in embedded systems
  19          and consumer electronics; it was also used in the Sega Dreamcast
  20          gaming console.  The SuperH port has a home page at
  21          <http://www.linux-sh.org/>.
  22
  23config SUPERH32
  24        def_bool !SUPERH64
  25        select HAVE_KPROBES
  26        select HAVE_KRETPROBES
  27        select HAVE_FUNCTION_TRACER
  28        select HAVE_FTRACE_MCOUNT_RECORD
  29        select HAVE_DYNAMIC_FTRACE
  30        select HAVE_ARCH_KGDB
  31
  32config SUPERH64
  33        def_bool y if CPU_SH5
  34
  35config ARCH_DEFCONFIG
  36        string
  37        default "arch/sh/configs/shx3_defconfig" if SUPERH32
  38        default "arch/sh/configs/cayman_defconfig" if SUPERH64
  39
  40config RWSEM_GENERIC_SPINLOCK
  41        def_bool y
  42
  43config RWSEM_XCHGADD_ALGORITHM
  44        bool
  45
  46config GENERIC_BUG
  47        def_bool y
  48        depends on BUG && SUPERH32
  49
  50config GENERIC_FIND_NEXT_BIT
  51        def_bool y
  52
  53config GENERIC_HWEIGHT
  54        def_bool y
  55
  56config GENERIC_HARDIRQS
  57        def_bool y
  58
  59config GENERIC_HARDIRQS_NO__DO_IRQ
  60        def_bool y
  61
  62config GENERIC_IRQ_PROBE
  63        def_bool y
  64
  65config GENERIC_GPIO
  66        def_bool n
  67
  68config GENERIC_CALIBRATE_DELAY
  69        bool
  70
  71config GENERIC_IOMAP
  72        bool
  73
  74config GENERIC_TIME
  75        def_bool n
  76
  77config GENERIC_CLOCKEVENTS
  78        def_bool n
  79
  80config GENERIC_CLOCKEVENTS_BROADCAST
  81        bool
  82
  83config GENERIC_LOCKBREAK
  84        def_bool y
  85        depends on SMP && PREEMPT
  86
  87config SYS_SUPPORTS_PM
  88        bool
  89        depends on !SMP
  90
  91config ARCH_SUSPEND_POSSIBLE
  92        def_bool n
  93
  94config ARCH_HIBERNATION_POSSIBLE
  95        def_bool n
  96
  97config SYS_SUPPORTS_APM_EMULATION
  98        bool
  99        select ARCH_SUSPEND_POSSIBLE
 100
 101config SYS_SUPPORTS_SMP
 102        bool
 103
 104config SYS_SUPPORTS_NUMA
 105        bool
 106
 107config SYS_SUPPORTS_PCI
 108        bool
 109
 110config STACKTRACE_SUPPORT
 111        def_bool y
 112
 113config LOCKDEP_SUPPORT
 114        def_bool y
 115
 116config HAVE_LATENCYTOP_SUPPORT
 117        def_bool y
 118        depends on !SMP
 119
 120config ARCH_HAS_ILOG2_U32
 121        def_bool n
 122
 123config ARCH_HAS_ILOG2_U64
 124        def_bool n
 125
 126config ARCH_NO_VIRT_TO_BUS
 127        def_bool y
 128
 129config IO_TRAPPED
 130        bool
 131
 132source "init/Kconfig"
 133
 134source "kernel/Kconfig.freezer"
 135
 136menu "System type"
 137
 138#
 139# Processor families
 140#
 141config CPU_SH2
 142        bool
 143
 144config CPU_SH2A
 145        bool
 146        select CPU_SH2
 147
 148config CPU_SH3
 149        bool
 150        select CPU_HAS_INTEVT
 151        select CPU_HAS_SR_RB
 152
 153config CPU_SH4
 154        bool
 155        select CPU_HAS_INTEVT
 156        select CPU_HAS_SR_RB
 157        select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
 158        select CPU_HAS_FPU if !CPU_SH4AL_DSP
 159
 160config CPU_SH4A
 161        bool
 162        select CPU_SH4
 163
 164config CPU_SH4AL_DSP
 165        bool
 166        select CPU_SH4A
 167        select CPU_HAS_DSP
 168
 169config CPU_SH5
 170        bool
 171        select CPU_HAS_FPU
 172
 173config CPU_SHX2
 174        bool
 175
 176config CPU_SHX3
 177        bool
 178
 179choice
 180        prompt "Processor sub-type selection"
 181
 182#
 183# Processor subtypes
 184#
 185
 186# SH-2 Processor Support
 187
 188config CPU_SUBTYPE_SH7619
 189        bool "Support SH7619 processor"
 190        select CPU_SH2
 191
 192# SH-2A Processor Support
 193
 194config CPU_SUBTYPE_SH7201
 195        bool "Support SH7201 processor"
 196        select CPU_SH2A
 197        select CPU_HAS_FPU
 198 
 199config CPU_SUBTYPE_SH7203
 200        bool "Support SH7203 processor"
 201        select CPU_SH2A
 202        select CPU_HAS_FPU
 203
 204config CPU_SUBTYPE_SH7206
 205        bool "Support SH7206 processor"
 206        select CPU_SH2A
 207
 208config CPU_SUBTYPE_SH7263
 209        bool "Support SH7263 processor"
 210        select CPU_SH2A
 211        select CPU_HAS_FPU
 212
 213config CPU_SUBTYPE_MXG
 214        bool "Support MX-G processor"
 215        select CPU_SH2A
 216        help
 217          Select MX-G if running on an R8A03022BG part.
 218
 219# SH-3 Processor Support
 220
 221config CPU_SUBTYPE_SH7705
 222        bool "Support SH7705 processor"
 223        select CPU_SH3
 224
 225config CPU_SUBTYPE_SH7706
 226        bool "Support SH7706 processor"
 227        select CPU_SH3
 228        help
 229          Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
 230
 231config CPU_SUBTYPE_SH7707
 232        bool "Support SH7707 processor"
 233        select CPU_SH3
 234        help
 235          Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
 236
 237config CPU_SUBTYPE_SH7708
 238        bool "Support SH7708 processor"
 239        select CPU_SH3
 240        help
 241          Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
 242          if you have a 100 Mhz SH-3 HD6417708R CPU.
 243
 244config CPU_SUBTYPE_SH7709
 245        bool "Support SH7709 processor"
 246        select CPU_SH3
 247        help
 248          Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
 249
 250config CPU_SUBTYPE_SH7710
 251        bool "Support SH7710 processor"
 252        select CPU_SH3
 253        select CPU_HAS_DSP
 254        help
 255          Select SH7710 if you have a SH3-DSP SH7710 CPU.
 256
 257config CPU_SUBTYPE_SH7712
 258        bool "Support SH7712 processor"
 259        select CPU_SH3
 260        select CPU_HAS_DSP
 261        help
 262          Select SH7712 if you have a SH3-DSP SH7712 CPU.
 263
 264config CPU_SUBTYPE_SH7720
 265        bool "Support SH7720 processor"
 266        select CPU_SH3
 267        select CPU_HAS_DSP
 268        help
 269          Select SH7720 if you have a SH3-DSP SH7720 CPU.
 270
 271config CPU_SUBTYPE_SH7721
 272        bool "Support SH7721 processor"
 273        select CPU_SH3
 274        select CPU_HAS_DSP
 275        help
 276          Select SH7721 if you have a SH3-DSP SH7721 CPU.
 277
 278# SH-4 Processor Support
 279
 280config CPU_SUBTYPE_SH7750
 281        bool "Support SH7750 processor"
 282        select CPU_SH4
 283        help
 284          Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
 285
 286config CPU_SUBTYPE_SH7091
 287        bool "Support SH7091 processor"
 288        select CPU_SH4
 289        help
 290          Select SH7091 if you have an SH-4 based Sega device (such as
 291          the Dreamcast, Naomi, and Naomi 2).
 292
 293config CPU_SUBTYPE_SH7750R
 294        bool "Support SH7750R processor"
 295        select CPU_SH4
 296
 297config CPU_SUBTYPE_SH7750S
 298        bool "Support SH7750S processor"
 299        select CPU_SH4
 300
 301config CPU_SUBTYPE_SH7751
 302        bool "Support SH7751 processor"
 303        select CPU_SH4
 304        help
 305          Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
 306          or if you have a HD6417751R CPU.
 307
 308config CPU_SUBTYPE_SH7751R
 309        bool "Support SH7751R processor"
 310        select CPU_SH4
 311
 312config CPU_SUBTYPE_SH7760
 313        bool "Support SH7760 processor"
 314        select CPU_SH4
 315
 316config CPU_SUBTYPE_SH4_202
 317        bool "Support SH4-202 processor"
 318        select CPU_SH4
 319
 320# SH-4A Processor Support
 321
 322config CPU_SUBTYPE_SH7723
 323        bool "Support SH7723 processor"
 324        select CPU_SH4A
 325        select CPU_SHX2
 326        select ARCH_SPARSEMEM_ENABLE
 327        help
 328          Select SH7723 if you have an SH-MobileR2 CPU.
 329
 330config CPU_SUBTYPE_SH7763
 331        bool "Support SH7763 processor"
 332        select CPU_SH4A
 333        help
 334          Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
 335
 336config CPU_SUBTYPE_SH7770
 337        bool "Support SH7770 processor"
 338        select CPU_SH4A
 339
 340config CPU_SUBTYPE_SH7780
 341        bool "Support SH7780 processor"
 342        select CPU_SH4A
 343
 344config CPU_SUBTYPE_SH7785
 345        bool "Support SH7785 processor"
 346        select CPU_SH4A
 347        select CPU_SHX2
 348        select ARCH_SPARSEMEM_ENABLE
 349        select SYS_SUPPORTS_NUMA
 350
 351config CPU_SUBTYPE_SHX3
 352        bool "Support SH-X3 processor"
 353        select CPU_SH4A
 354        select CPU_SHX3
 355        select ARCH_SPARSEMEM_ENABLE
 356        select SYS_SUPPORTS_NUMA
 357        select SYS_SUPPORTS_SMP
 358        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 359
 360# SH4AL-DSP Processor Support
 361
 362config CPU_SUBTYPE_SH7343
 363        bool "Support SH7343 processor"
 364        select CPU_SH4AL_DSP
 365
 366config CPU_SUBTYPE_SH7722
 367        bool "Support SH7722 processor"
 368        select CPU_SH4AL_DSP
 369        select CPU_SHX2
 370        select ARCH_SPARSEMEM_ENABLE
 371        select SYS_SUPPORTS_NUMA
 372
 373config CPU_SUBTYPE_SH7366
 374        bool "Support SH7366 processor"
 375        select CPU_SH4AL_DSP
 376        select CPU_SHX2
 377        select ARCH_SPARSEMEM_ENABLE
 378        select SYS_SUPPORTS_NUMA
 379
 380# SH-5 Processor Support
 381
 382config CPU_SUBTYPE_SH5_101
 383        bool "Support SH5-101 processor"
 384        select CPU_SH5
 385
 386config CPU_SUBTYPE_SH5_103
 387        bool "Support SH5-103 processor"
 388        select CPU_SH5
 389
 390endchoice
 391
 392source "arch/sh/mm/Kconfig"
 393 
 394source "arch/sh/Kconfig.cpu"
 395
 396source "arch/sh/boards/Kconfig"
 397
 398menu "Timer and clock configuration"
 399
 400config SH_TMU
 401        def_bool y
 402        prompt "TMU timer support"
 403        depends on CPU_SH3 || CPU_SH4
 404        select GENERIC_TIME
 405        select GENERIC_CLOCKEVENTS
 406        help
 407          This enables the use of the TMU as the system timer.
 408
 409config SH_CMT
 410        def_bool y
 411        prompt "CMT timer support"
 412        depends on CPU_SH2 && !CPU_SUBTYPE_MXG
 413        help
 414          This enables the use of the CMT as the system timer.
 415
 416config SH_MTU2
 417        def_bool n
 418        prompt "MTU2 timer support"
 419        depends on CPU_SH2A
 420        help
 421          This enables the use of the MTU2 as the system timer.
 422
 423config SH_TIMER_IRQ
 424        int
 425        default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
 426                        CPU_SUBTYPE_SH7763
 427        default "86" if CPU_SUBTYPE_SH7619
 428        default "140" if CPU_SUBTYPE_SH7206
 429        default "142" if CPU_SUBTYPE_SH7203
 430        default "238" if CPU_SUBTYPE_MXG
 431        default "16"
 432
 433config SH_PCLK_FREQ
 434        int "Peripheral clock frequency (in Hz)"
 435        default "27000000" if CPU_SUBTYPE_SH7343
 436        default "31250000" if CPU_SUBTYPE_SH7619
 437        default "32000000" if CPU_SUBTYPE_SH7722
 438        default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
 439                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
 440                              CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
 441                              CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
 442        default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
 443        default "66000000" if CPU_SUBTYPE_SH4_202
 444        default "50000000"
 445        help
 446          This option is used to specify the peripheral clock frequency.
 447          This is necessary for determining the reference clock value on
 448          platforms lacking an RTC.
 449
 450config SH_CLK_MD
 451        int "CPU Mode Pin Setting"
 452        depends on CPU_SH2
 453        default 6 if CPU_SUBTYPE_SH7206
 454        default 5 if CPU_SUBTYPE_SH7619
 455        default 0
 456        help
 457          MD2 - MD0 pin setting.
 458
 459source "kernel/time/Kconfig"
 460
 461endmenu
 462
 463menu "CPU Frequency scaling"
 464
 465source "drivers/cpufreq/Kconfig"
 466
 467config SH_CPU_FREQ
 468        tristate "SuperH CPU Frequency driver"
 469        depends on CPU_FREQ
 470        select CPU_FREQ_TABLE
 471        help
 472          This adds the cpufreq driver for SuperH. Any CPU that supports
 473          clock rate rounding through the clock framework can use this
 474          driver. While it will make the kernel slightly larger, this is
 475          harmless for CPUs that don't support rate rounding. The driver
 476          will also generate a notice in the boot log before disabling
 477          itself if the CPU in question is not capable of rate rounding.
 478
 479          For details, take a look at <file:Documentation/cpu-freq>.
 480
 481          If unsure, say N.
 482
 483endmenu
 484
 485source "arch/sh/drivers/Kconfig"
 486
 487endmenu
 488
 489menu "Kernel features"
 490
 491source kernel/Kconfig.hz
 492
 493config KEXEC
 494        bool "kexec system call (EXPERIMENTAL)"
 495        depends on SUPERH32 && EXPERIMENTAL
 496        help
 497          kexec is a system call that implements the ability to shutdown your
 498          current kernel, and to start another kernel.  It is like a reboot
 499          but it is independent of the system firmware.  And like a reboot
 500          you can start any kernel with it, not just Linux.
 501
 502          The name comes from the similarity to the exec system call.
 503
 504          It is an ongoing process to be certain the hardware in a machine
 505          is properly shutdown, so do not be surprised if this code does not
 506          initially work for you.  It may help to enable device hotplugging
 507          support.  As of this writing the exact hardware interface is
 508          strongly in flux, so no good recommendation can be made.
 509
 510config CRASH_DUMP
 511        bool "kernel crash dumps (EXPERIMENTAL)"
 512        depends on SUPERH32 && EXPERIMENTAL
 513        help
 514          Generate crash dump after being started by kexec.
 515          This should be normally only set in special crash dump kernels
 516          which are loaded in the main kernel with kexec-tools into
 517          a specially reserved region and then later executed after
 518          a crash by kdump/kexec. The crash dump kernel must be compiled
 519          to a memory address not used by the main kernel using
 520          MEMORY_START.
 521
 522          For more details see Documentation/kdump/kdump.txt
 523
 524config SECCOMP
 525        bool "Enable seccomp to safely compute untrusted bytecode"
 526        depends on PROC_FS
 527        help
 528          This kernel feature is useful for number crunching applications
 529          that may need to compute untrusted bytecode during their
 530          execution. By using pipes or other transports made available to
 531          the process as file descriptors supporting the read/write
 532          syscalls, it's possible to isolate those applications in
 533          their own address space using seccomp. Once seccomp is
 534          enabled via prctl, it cannot be disabled and the task is only
 535          allowed to execute a few safe syscalls defined by each seccomp
 536          mode.
 537
 538          If unsure, say N.
 539
 540config SMP
 541        bool "Symmetric multi-processing support"
 542        depends on SYS_SUPPORTS_SMP
 543        select USE_GENERIC_SMP_HELPERS
 544        ---help---
 545          This enables support for systems with more than one CPU. If you have
 546          a system with only one CPU, like most personal computers, say N. If
 547          you have a system with more than one CPU, say Y.
 548
 549          If you say N here, the kernel will run on single and multiprocessor
 550          machines, but will use only one CPU of a multiprocessor machine. If
 551          you say Y here, the kernel will run on many, but not all,
 552          singleprocessor machines. On a singleprocessor machine, the kernel
 553          will run faster if you say N here.
 554
 555          People using multiprocessor machines who say Y here should also say
 556          Y to "Enhanced Real Time Clock Support", below.
 557
 558          See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
 559          available at <http://www.tldp.org/docs.html#howto>.
 560
 561          If you don't know what to do here, say N.
 562
 563config NR_CPUS
 564        int "Maximum number of CPUs (2-32)"
 565        range 2 32
 566        depends on SMP
 567        default "4" if CPU_SHX3
 568        default "2"
 569        help
 570          This allows you to specify the maximum number of CPUs which this
 571          kernel will support.  The maximum supported value is 32 and the
 572          minimum value which makes sense is 2.
 573
 574          This is purely to save memory - each supported CPU adds
 575          approximately eight kilobytes to the kernel image.
 576
 577source "kernel/Kconfig.preempt"
 578
 579config GUSA
 580        def_bool y
 581        depends on !SMP && SUPERH32
 582        help
 583          This enables support for gUSA (general UserSpace Atomicity).
 584          This is the default implementation for both UP and non-ll/sc
 585          CPUs, and is used by the libc, amongst others.
 586
 587          For additional information, design information can be found 
 588          in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
 589
 590          This should only be disabled for special cases where alternate
 591          atomicity implementations exist.
 592
 593config GUSA_RB
 594        bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
 595        depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
 596        help
 597          Enabling this option will allow the kernel to implement some
 598          atomic operations using a software implemention of load-locked/
 599          store-conditional (LLSC). On machines which do not have hardware
 600          LLSC, this should be more efficient than the other alternative of
 601          disabling insterrupts around the atomic sequence.
 602
 603endmenu
 604
 605menu "Boot options"
 606
 607config ZERO_PAGE_OFFSET
 608        hex "Zero page offset"
 609        default "0x00004000" if SH_SH03
 610        default "0x00010000" if PAGE_SIZE_64KB
 611        default "0x00002000" if PAGE_SIZE_8KB
 612        default "0x00001000"
 613        help
 614          This sets the default offset of zero page.
 615
 616config BOOT_LINK_OFFSET
 617        hex "Link address offset for booting"
 618        default "0x00800000"
 619        help
 620          This option allows you to set the link address offset of the zImage.
 621          This can be useful if you are on a board which has a small amount of
 622          memory.
 623
 624config UBC_WAKEUP
 625        bool "Wakeup UBC on startup"
 626        depends on CPU_SH4 && !CPU_SH4A
 627        help
 628          Selecting this option will wakeup the User Break Controller (UBC) on
 629          startup. Although the UBC is left in an awake state when the processor
 630          comes up, some boot loaders misbehave by putting the UBC to sleep in a
 631          power saving state, which causes issues with things like ptrace().
 632
 633          If unsure, say N.
 634
 635config CMDLINE_BOOL
 636        bool "Default bootloader kernel arguments"
 637
 638config CMDLINE
 639        string "Initial kernel command string"
 640        depends on CMDLINE_BOOL
 641        default "console=ttySC1,115200"
 642
 643endmenu
 644
 645menu "Bus options"
 646
 647config SUPERHYWAY
 648        tristate "SuperHyway Bus support"
 649        depends on CPU_SUBTYPE_SH4_202
 650
 651config MAPLE
 652        bool "Maple Bus support"
 653        depends on SH_DREAMCAST
 654        help
 655         The Maple Bus is SEGA's serial communication bus for peripherals
 656         on the Dreamcast. Without this bus support you won't be able to
 657         get your Dreamcast keyboard etc to work, so most users
 658         probably want to say 'Y' here, unless you are only using the
 659         Dreamcast with a serial line terminal or a remote network
 660         connection.
 661
 662source "arch/sh/drivers/pci/Kconfig"
 663
 664source "drivers/pci/pcie/Kconfig"
 665
 666source "drivers/pci/Kconfig"
 667
 668source "drivers/pcmcia/Kconfig"
 669
 670source "drivers/pci/hotplug/Kconfig"
 671
 672endmenu
 673
 674menu "Executable file formats"
 675
 676source "fs/Kconfig.binfmt"
 677
 678endmenu
 679
 680menu "Power management options (EXPERIMENTAL)"
 681depends on EXPERIMENTAL
 682
 683source "kernel/power/Kconfig"
 684
 685source "drivers/cpuidle/Kconfig"
 686
 687endmenu
 688
 689source "net/Kconfig"
 690
 691source "drivers/Kconfig"
 692
 693source "fs/Kconfig"
 694
 695source "arch/sh/Kconfig.debug"
 696
 697source "security/Kconfig"
 698
 699source "crypto/Kconfig"
 700
 701source "lib/Kconfig"
 702
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.