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