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