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