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