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