1ea0e1a9aSPaul Mundtconfig SUPERH 2ea0e1a9aSPaul Mundt def_bool y 36a108a14SDavid Rientjes select EXPERT 46d803ba7SJean-Christop PLAGNIOL-VILLARD select CLKDEV_LOOKUP 586e4dd5aSPaul Mundt select HAVE_IDE if HAS_IOPORT 695f72d1eSYinghai Lu select HAVE_MEMBLOCK 7534cfbeeSTejun Heo select HAVE_MEMBLOCK_NODE_MAP 8adaf7fd2SPaul Mundt select ARCH_DISCARD_MEMBLOCK 942d4b839SMathieu Desnoyers select HAVE_OPROFILE 109de90ac2SDmitry Baryshkov select HAVE_GENERIC_DMA_COHERENT 11d7b01f78SPaul Mundt select HAVE_ARCH_TRACEHOOK 12f802d969SPaul Mundt select HAVE_DMA_API_DEBUG 1373c926beSPaul Mundt select HAVE_DMA_ATTRS 14e360adbeSPeter Zijlstra select HAVE_IRQ_WORK 15cdd6c482SIngo Molnar select HAVE_PERF_EVENTS 169b2a60c4SCatalin Marinas select HAVE_DEBUG_BUGVERBOSE 177563bbf8SMark Brown select ARCH_HAVE_CUSTOM_GPIO_H 18df013ffbSHuang Ying select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A) 1972f0c137SPaul Mundt select PERF_USE_VMALLOC 20b69ec42bSCatalin Marinas select HAVE_DEBUG_KMEMLEAK 21df8ce259SPaul Mundt select HAVE_KERNEL_GZIP 2207e88e1bSPaul Mundt select HAVE_KERNEL_BZIP2 2307e88e1bSPaul Mundt select HAVE_KERNEL_LZMA 2450cfa79dSPaul Mundt select HAVE_KERNEL_XZ 25c7b16efbSPaul Mundt select HAVE_KERNEL_LZO 26af1839ebSCatalin Marinas select HAVE_UID16 27c1d7e01dSWill Deacon select ARCH_WANT_IPC_PARSE_VERSION 28a74f7e04SPaul Mundt select HAVE_SYSCALL_TRACEPOINTS 29eaaaeef3SPaul Mundt select HAVE_REGS_AND_STACK_ACCESS_API 3057b81330SPaul Mundt select HAVE_GENERIC_HARDIRQS 312ed86b16SRob Herring select MAY_HAVE_SPARSE_IRQ 32ed170924SPaul Mundt select IRQ_FORCED_THREADING 336eac1af0SPaul Mundt select RTC_LIB 34f01789c6SPaul Mundt select GENERIC_ATOMIC64 353d44ae40SPaul Mundt select GENERIC_IRQ_SHOW 36ea0588cbSThomas Gleixner select GENERIC_SMP_IDLE_THREAD 378cf200d8SAnna-Maria Gleixner select GENERIC_CLOCKEVENTS 388cf200d8SAnna-Maria Gleixner select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST 390e100e11SPaul Mundt select GENERIC_STRNCPY_FROM_USER 40cba8df4bSPaul Mundt select GENERIC_STRNLEN_USER 41ea0e1a9aSPaul Mundt help 42ea0e1a9aSPaul Mundt The SuperH is a RISC processor targeted for use in embedded systems 43ea0e1a9aSPaul Mundt and consumer electronics; it was also used in the Sega Dreamcast 44ea0e1a9aSPaul Mundt gaming console. The SuperH port has a home page at 45ea0e1a9aSPaul Mundt <http://www.linux-sh.org/>. 46ea0e1a9aSPaul Mundt 47ea0e1a9aSPaul Mundtconfig SUPERH32 483cc000b5SPaul Mundt def_bool ARCH = "sh" 49d39f5450SChris Smith select HAVE_KPROBES 50d39f5450SChris Smith select HAVE_KRETPROBES 516d63e73dSPaul Mundt select HAVE_IOREMAP_PROT if MMU && !X2TLB 52694f94f2SPaul Mundt select HAVE_FUNCTION_TRACER 53fad57febSMatt Fleming select HAVE_FTRACE_MCOUNT_RECORD 54fad57febSMatt Fleming select HAVE_DYNAMIC_FTRACE 55c1340c05SMatt Fleming select HAVE_FUNCTION_TRACE_MCOUNT_TEST 56e4b053d9SPaul Mundt select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE 57c1d7e01dSWill Deacon select ARCH_WANT_IPC_PARSE_VERSION 58327933f5SMatt Fleming select HAVE_FUNCTION_GRAPH_TRACER 59ab6e570bSPaul Mundt select HAVE_ARCH_KGDB 606fbfe8d7SPaul Mundt select HAVE_HW_BREAKPOINT 610102752eSFrederic Weisbecker select HAVE_MIXED_BREAKPOINTS_REGS 62e583d6b3SSam Ravnborg select PERF_EVENTS 638dafc346SPaul Mundt select ARCH_HIBERNATION_POSSIBLE if MMU 6457b81330SPaul Mundt select SPARSE_IRQ 65ea0e1a9aSPaul Mundt 66ea0e1a9aSPaul Mundtconfig SUPERH64 673cc000b5SPaul Mundt def_bool ARCH = "sh64" 683a898c0fSPaul Mundt select KALLSYMS 69ea0e1a9aSPaul Mundt 70f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG 71f42b7e3dSPaul Mundt string 72f42b7e3dSPaul Mundt default "arch/sh/configs/shx3_defconfig" if SUPERH32 73f42b7e3dSPaul Mundt default "arch/sh/configs/cayman_defconfig" if SUPERH64 74f42b7e3dSPaul Mundt 75ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK 76d7ef4fb3SHarvey Harrison def_bool y 77ea0e1a9aSPaul Mundt 78ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM 79ea0e1a9aSPaul Mundt bool 80ea0e1a9aSPaul Mundt 81ea0e1a9aSPaul Mundtconfig GENERIC_BUG 82ea0e1a9aSPaul Mundt def_bool y 83a82d53ecSPaul Mundt depends on BUG && SUPERH32 84ea0e1a9aSPaul Mundt 853767f3f1SPaul Mundtconfig GENERIC_CSUM 863767f3f1SPaul Mundt def_bool y 873767f3f1SPaul Mundt depends on SUPERH64 883767f3f1SPaul Mundt 89ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT 90d7ef4fb3SHarvey Harrison def_bool y 91ea0e1a9aSPaul Mundt 922eb2a436SPaul Mundtconfig IRQ_PER_CPU 932eb2a436SPaul Mundt def_bool y 942eb2a436SPaul Mundt 952967dab1SMagnus Dammconfig GENERIC_GPIO 962967dab1SMagnus Damm def_bool n 972967dab1SMagnus Damm 98ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY 99cf204fa7SPaul Mundt bool 100ea0e1a9aSPaul Mundt 101bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK 102bdcab87bSPaul Mundt def_bool y 103bdcab87bSPaul Mundt depends on SMP && PREEMPT 104bdcab87bSPaul Mundt 105af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE 106af998a9aSMagnus Damm def_bool n 107af998a9aSMagnus Damm 108af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE 109af998a9aSMagnus Damm def_bool n 110ea0e1a9aSPaul Mundt 111ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION 112ea0e1a9aSPaul Mundt bool 113af998a9aSMagnus Damm select ARCH_SUSPEND_POSSIBLE 114ea0e1a9aSPaul Mundt 115ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS 116ffb4a73dSPaul Mundt bool 117ffb4a73dSPaul Mundt 118ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP 119ea0e1a9aSPaul Mundt bool 120ea0e1a9aSPaul Mundt 121ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA 122ea0e1a9aSPaul Mundt bool 123ea0e1a9aSPaul Mundt 124ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI 125ea0e1a9aSPaul Mundt bool 126ea0e1a9aSPaul Mundt 127f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT 128f5ad881bSPaul Mundt bool 129f5ad881bSPaul Mundt 130d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2 131d5ed4c2eSMagnus Damm bool 132d5ed4c2eSMagnus Damm 1339570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU 1349570ef20SMagnus Damm bool 1359570ef20SMagnus Damm 136ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT 137d7ef4fb3SHarvey Harrison def_bool y 138ea0e1a9aSPaul Mundt 139ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT 140d7ef4fb3SHarvey Harrison def_bool y 141ea0e1a9aSPaul Mundt 1425a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT 1435a89f1adSPaul Mundt def_bool y 1445a89f1adSPaul Mundt 145ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32 146d7ef4fb3SHarvey Harrison def_bool n 147ea0e1a9aSPaul Mundt 148ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64 149d7ef4fb3SHarvey Harrison def_bool n 150ea0e1a9aSPaul Mundt 151ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS 152ea0e1a9aSPaul Mundt def_bool y 153ea0e1a9aSPaul Mundt 154e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE 155e869a90eSPaul Mundt def_bool y 156e869a90eSPaul Mundt 15786e4dd5aSPaul Mundtconfig NO_IOPORT 15837b7a978SPaul Mundt def_bool !PCI 159c30b9c43SPaul Mundt depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \ 160c30b9c43SPaul Mundt !SH_HP6XX && !SH_SOLUTION_ENGINE 16186e4dd5aSPaul Mundt 162e7cc9a73SMagnus Dammconfig IO_TRAPPED 163e7cc9a73SMagnus Damm bool 164e7cc9a73SMagnus Damm 165b7e68d68SPaul Mundtconfig SWAP_IO_SPACE 166b7e68d68SPaul Mundt bool 167b7e68d68SPaul Mundt 16801be5d63SPaul Mundtconfig DMA_COHERENT 16901be5d63SPaul Mundt bool 17001be5d63SPaul Mundt 17101be5d63SPaul Mundtconfig DMA_NONCOHERENT 17201be5d63SPaul Mundt def_bool !DMA_COHERENT 17301be5d63SPaul Mundt 1745cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE 1755cabbb62SFUJITA Tomonori def_bool DMA_NONCOHERENT 1765cabbb62SFUJITA Tomonori 17718e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH 17818e98307SFUJITA Tomonori def_bool y 17918e98307SFUJITA Tomonori 180ea0e1a9aSPaul Mundtsource "init/Kconfig" 181ea0e1a9aSPaul Mundt 182dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer" 183dc52ddc0SMatt Helsley 184ea0e1a9aSPaul Mundtmenu "System type" 185ea0e1a9aSPaul Mundt 186ea0e1a9aSPaul Mundt# 187ea0e1a9aSPaul Mundt# Processor families 188ea0e1a9aSPaul Mundt# 189ea0e1a9aSPaul Mundtconfig CPU_SH2 190ea0e1a9aSPaul Mundt bool 191ea0e1a9aSPaul Mundt 192ea0e1a9aSPaul Mundtconfig CPU_SH2A 193ea0e1a9aSPaul Mundt bool 194ea0e1a9aSPaul Mundt select CPU_SH2 195e2fcf74fSPaul Mundt select UNCACHED_MAPPING 196ea0e1a9aSPaul Mundt 197ea0e1a9aSPaul Mundtconfig CPU_SH3 198ea0e1a9aSPaul Mundt bool 199ea0e1a9aSPaul Mundt select CPU_HAS_INTEVT 200ea0e1a9aSPaul Mundt select CPU_HAS_SR_RB 2014fa48e17SPaul Mundt select SYS_SUPPORTS_TMU 202ea0e1a9aSPaul Mundt 203ea0e1a9aSPaul Mundtconfig CPU_SH4 204ea0e1a9aSPaul Mundt bool 205ea0e1a9aSPaul Mundt select CPU_HAS_INTEVT 206ea0e1a9aSPaul Mundt select CPU_HAS_SR_RB 207ea0e1a9aSPaul Mundt select CPU_HAS_FPU if !CPU_SH4AL_DSP 2084fa48e17SPaul Mundt select SYS_SUPPORTS_TMU 209ffb4a73dSPaul Mundt select SYS_SUPPORTS_HUGETLBFS if MMU 210ea0e1a9aSPaul Mundt 211ea0e1a9aSPaul Mundtconfig CPU_SH4A 212ea0e1a9aSPaul Mundt bool 213ea0e1a9aSPaul Mundt select CPU_SH4 214ea0e1a9aSPaul Mundt 215ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP 216ea0e1a9aSPaul Mundt bool 217ea0e1a9aSPaul Mundt select CPU_SH4A 218ea0e1a9aSPaul Mundt select CPU_HAS_DSP 219ea0e1a9aSPaul Mundt 220ea0e1a9aSPaul Mundtconfig CPU_SH5 221ea0e1a9aSPaul Mundt bool 222ea0e1a9aSPaul Mundt select CPU_HAS_FPU 223add47067SPaul Mundt select SYS_SUPPORTS_TMU 224ffb4a73dSPaul Mundt select SYS_SUPPORTS_HUGETLBFS if MMU 225ea0e1a9aSPaul Mundt 226ea0e1a9aSPaul Mundtconfig CPU_SHX2 227ea0e1a9aSPaul Mundt bool 228ea0e1a9aSPaul Mundt 229ea0e1a9aSPaul Mundtconfig CPU_SHX3 230ea0e1a9aSPaul Mundt bool 23101be5d63SPaul Mundt select DMA_COHERENT 2324b478ee2SPaul Mundt select SYS_SUPPORTS_SMP 2334b478ee2SPaul Mundt select SYS_SUPPORTS_NUMA 234ea0e1a9aSPaul Mundt 235dc65a977SPaul Mundtconfig ARCH_SHMOBILE 236dc65a977SPaul Mundt bool 23777594912SMagnus Damm select ARCH_SUSPEND_POSSIBLE 238ac2c596bSMagnus Damm select PM 239ac2c596bSMagnus Damm select PM_RUNTIME 240dc65a977SPaul Mundt 24186c8c047SMatt Flemingconfig CPU_HAS_PMU 24286c8c047SMatt Fleming depends on CPU_SH4 || CPU_SH4A 24386c8c047SMatt Fleming default y 24486c8c047SMatt Fleming bool 24586c8c047SMatt Fleming 2463cc000b5SPaul Mundtif SUPERH32 2473cc000b5SPaul Mundt 248ea0e1a9aSPaul Mundtchoice 249ea0e1a9aSPaul Mundt prompt "Processor sub-type selection" 250ea0e1a9aSPaul Mundt 251ea0e1a9aSPaul Mundt# 252ea0e1a9aSPaul Mundt# Processor subtypes 253ea0e1a9aSPaul Mundt# 254ea0e1a9aSPaul Mundt 255ea0e1a9aSPaul Mundt# SH-2 Processor Support 256ea0e1a9aSPaul Mundt 257ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619 258ea0e1a9aSPaul Mundt bool "Support SH7619 processor" 259ea0e1a9aSPaul Mundt select CPU_SH2 260f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 261ea0e1a9aSPaul Mundt 262ea0e1a9aSPaul Mundt# SH-2A Processor Support 263ea0e1a9aSPaul Mundt 2642825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201 2652825999eSPeter Griffin bool "Support SH7201 processor" 2662825999eSPeter Griffin select CPU_SH2A 2672825999eSPeter Griffin select CPU_HAS_FPU 268da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 2692825999eSPeter Griffin 2706d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203 2716d01f510SPaul Mundt bool "Support SH7203 processor" 2726d01f510SPaul Mundt select CPU_SH2A 27374d99a5eSPaul Mundt select CPU_HAS_FPU 274f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 275da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 276f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 2776d01f510SPaul Mundt 278ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206 279ea0e1a9aSPaul Mundt bool "Support SH7206 processor" 280ea0e1a9aSPaul Mundt select CPU_SH2A 281f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 282da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 283ea0e1a9aSPaul Mundt 284a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263 285a8f67f4bSPaul Mundt bool "Support SH7263 processor" 286a8f67f4bSPaul Mundt select CPU_SH2A 28774d99a5eSPaul Mundt select CPU_HAS_FPU 288f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 289da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 290a8f67f4bSPaul Mundt 29151ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264 29251ce3068SPhil Edworthy bool "Support SH7264 processor" 29351ce3068SPhil Edworthy select CPU_SH2A 29451ce3068SPhil Edworthy select CPU_HAS_FPU 29551ce3068SPhil Edworthy select SYS_SUPPORTS_CMT 29651ce3068SPhil Edworthy select SYS_SUPPORTS_MTU2 29751ce3068SPhil Edworthy 2980b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269 2990b25b7c8SPhil Edworthy bool "Support SH7269 processor" 3000b25b7c8SPhil Edworthy select CPU_SH2A 3010b25b7c8SPhil Edworthy select CPU_HAS_FPU 3020b25b7c8SPhil Edworthy select SYS_SUPPORTS_CMT 3030b25b7c8SPhil Edworthy select SYS_SUPPORTS_MTU2 3040b25b7c8SPhil Edworthy 3052ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG 3062ad69908SPaul Mundt bool "Support MX-G processor" 3072ad69908SPaul Mundt select CPU_SH2A 308da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 3092ad69908SPaul Mundt help 3102ad69908SPaul Mundt Select MX-G if running on an R8A03022BG part. 3112ad69908SPaul Mundt 312ea0e1a9aSPaul Mundt# SH-3 Processor Support 313ea0e1a9aSPaul Mundt 314ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705 315ea0e1a9aSPaul Mundt bool "Support SH7705 processor" 316ea0e1a9aSPaul Mundt select CPU_SH3 317ea0e1a9aSPaul Mundt 318ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706 319ea0e1a9aSPaul Mundt bool "Support SH7706 processor" 320ea0e1a9aSPaul Mundt select CPU_SH3 321ea0e1a9aSPaul Mundt help 322ea0e1a9aSPaul Mundt Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU. 323ea0e1a9aSPaul Mundt 324ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707 325ea0e1a9aSPaul Mundt bool "Support SH7707 processor" 326ea0e1a9aSPaul Mundt select CPU_SH3 327ea0e1a9aSPaul Mundt help 328ea0e1a9aSPaul Mundt Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. 329ea0e1a9aSPaul Mundt 330ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708 331ea0e1a9aSPaul Mundt bool "Support SH7708 processor" 332ea0e1a9aSPaul Mundt select CPU_SH3 333ea0e1a9aSPaul Mundt help 334ea0e1a9aSPaul Mundt Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or 335ea0e1a9aSPaul Mundt if you have a 100 Mhz SH-3 HD6417708R CPU. 336ea0e1a9aSPaul Mundt 337ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709 338ea0e1a9aSPaul Mundt bool "Support SH7709 processor" 339ea0e1a9aSPaul Mundt select CPU_SH3 340ea0e1a9aSPaul Mundt help 341ea0e1a9aSPaul Mundt Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. 342ea0e1a9aSPaul Mundt 343ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710 344ea0e1a9aSPaul Mundt bool "Support SH7710 processor" 345ea0e1a9aSPaul Mundt select CPU_SH3 346ea0e1a9aSPaul Mundt select CPU_HAS_DSP 347ea0e1a9aSPaul Mundt help 348ea0e1a9aSPaul Mundt Select SH7710 if you have a SH3-DSP SH7710 CPU. 349ea0e1a9aSPaul Mundt 350ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712 351ea0e1a9aSPaul Mundt bool "Support SH7712 processor" 352ea0e1a9aSPaul Mundt select CPU_SH3 353ea0e1a9aSPaul Mundt select CPU_HAS_DSP 354ea0e1a9aSPaul Mundt help 355ea0e1a9aSPaul Mundt Select SH7712 if you have a SH3-DSP SH7712 CPU. 356ea0e1a9aSPaul Mundt 357ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720 358ea0e1a9aSPaul Mundt bool "Support SH7720 processor" 359ea0e1a9aSPaul Mundt select CPU_SH3 360ea0e1a9aSPaul Mundt select CPU_HAS_DSP 3612b23a882SMagnus Damm select SYS_SUPPORTS_CMT 362f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 363e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3647b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 365ea0e1a9aSPaul Mundt help 366ea0e1a9aSPaul Mundt Select SH7720 if you have a SH3-DSP SH7720 CPU. 367ea0e1a9aSPaul Mundt 36831a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721 36931a49c4bSYoshihiro Shimoda bool "Support SH7721 processor" 37031a49c4bSYoshihiro Shimoda select CPU_SH3 37131a49c4bSYoshihiro Shimoda select CPU_HAS_DSP 3722b23a882SMagnus Damm select SYS_SUPPORTS_CMT 373e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3747b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 37531a49c4bSYoshihiro Shimoda help 37631a49c4bSYoshihiro Shimoda Select SH7721 if you have a SH3-DSP SH7721 CPU. 37731a49c4bSYoshihiro Shimoda 378ea0e1a9aSPaul Mundt# SH-4 Processor Support 379ea0e1a9aSPaul Mundt 380ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750 381ea0e1a9aSPaul Mundt bool "Support SH7750 processor" 382ea0e1a9aSPaul Mundt select CPU_SH4 383ea0e1a9aSPaul Mundt help 384ea0e1a9aSPaul Mundt Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. 385ea0e1a9aSPaul Mundt 386ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091 387ea0e1a9aSPaul Mundt bool "Support SH7091 processor" 388ea0e1a9aSPaul Mundt select CPU_SH4 389ea0e1a9aSPaul Mundt help 390ea0e1a9aSPaul Mundt Select SH7091 if you have an SH-4 based Sega device (such as 391ea0e1a9aSPaul Mundt the Dreamcast, Naomi, and Naomi 2). 392ea0e1a9aSPaul Mundt 393ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R 394ea0e1a9aSPaul Mundt bool "Support SH7750R processor" 395ea0e1a9aSPaul Mundt select CPU_SH4 396ea0e1a9aSPaul Mundt 397ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S 398ea0e1a9aSPaul Mundt bool "Support SH7750S processor" 399ea0e1a9aSPaul Mundt select CPU_SH4 400ea0e1a9aSPaul Mundt 401ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751 402ea0e1a9aSPaul Mundt bool "Support SH7751 processor" 403ea0e1a9aSPaul Mundt select CPU_SH4 404ea0e1a9aSPaul Mundt help 405ea0e1a9aSPaul Mundt Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, 406ea0e1a9aSPaul Mundt or if you have a HD6417751R CPU. 407ea0e1a9aSPaul Mundt 408ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R 409ea0e1a9aSPaul Mundt bool "Support SH7751R processor" 410ea0e1a9aSPaul Mundt select CPU_SH4 411ea0e1a9aSPaul Mundt 412ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760 413ea0e1a9aSPaul Mundt bool "Support SH7760 processor" 414ea0e1a9aSPaul Mundt select CPU_SH4 415ea0e1a9aSPaul Mundt 416ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202 417ea0e1a9aSPaul Mundt bool "Support SH4-202 processor" 418ea0e1a9aSPaul Mundt select CPU_SH4 419ea0e1a9aSPaul Mundt 420ea0e1a9aSPaul Mundt# SH-4A Processor Support 421ea0e1a9aSPaul Mundt 422178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723 423178dd0cdSPaul Mundt bool "Support SH7723 processor" 424178dd0cdSPaul Mundt select CPU_SH4A 425178dd0cdSPaul Mundt select CPU_SHX2 426dc65a977SPaul Mundt select ARCH_SHMOBILE 427178dd0cdSPaul Mundt select ARCH_SPARSEMEM_ENABLE 428f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 429f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 430178dd0cdSPaul Mundt help 431178dd0cdSPaul Mundt Select SH7723 if you have an SH-MobileR2 CPU. 432178dd0cdSPaul Mundt 4330207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724 4340207a2efSKuninori Morimoto bool "Support SH7724 processor" 4350207a2efSKuninori Morimoto select CPU_SH4A 4360207a2efSKuninori Morimoto select CPU_SHX2 43759fe700dSPaul Mundt select ARCH_SHMOBILE 4380207a2efSKuninori Morimoto select ARCH_SPARSEMEM_ENABLE 4390207a2efSKuninori Morimoto select SYS_SUPPORTS_CMT 440f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 4410207a2efSKuninori Morimoto help 4420207a2efSKuninori Morimoto Select SH7724 if you have an SH-MobileR2R CPU. 4430207a2efSKuninori Morimoto 444fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734 445fea88a0cSNobuhiro Iwamatsu bool "Support SH7734 processor" 446fea88a0cSNobuhiro Iwamatsu select CPU_SH4A 447fea88a0cSNobuhiro Iwamatsu select CPU_SHX2 448fea88a0cSNobuhiro Iwamatsu select ARCH_WANT_OPTIONAL_GPIOLIB 449fea88a0cSNobuhiro Iwamatsu select USB_ARCH_HAS_OHCI 450fea88a0cSNobuhiro Iwamatsu select USB_ARCH_HAS_EHCI 451fea88a0cSNobuhiro Iwamatsu help 452fea88a0cSNobuhiro Iwamatsu Select SH7734 if you have a SH4A SH7734 CPU. 453fea88a0cSNobuhiro Iwamatsu 454c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757 455c01f0f1aSYoshihiro Shimoda bool "Support SH7757 processor" 456c01f0f1aSYoshihiro Shimoda select CPU_SH4A 457c01f0f1aSYoshihiro Shimoda select CPU_SHX2 458f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 4590fe48601SYoshihiro Shimoda select USB_ARCH_HAS_OHCI 4600fe48601SYoshihiro Shimoda select USB_ARCH_HAS_EHCI 461c01f0f1aSYoshihiro Shimoda help 462c01f0f1aSYoshihiro Shimoda Select SH7757 if you have a SH4A SH7757 CPU. 463c01f0f1aSYoshihiro Shimoda 4647d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763 4657d740a06SYoshihiro Shimoda bool "Support SH7763 processor" 4667d740a06SYoshihiro Shimoda select CPU_SH4A 467e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 4687b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 4697d740a06SYoshihiro Shimoda help 4707d740a06SYoshihiro Shimoda Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. 4717d740a06SYoshihiro Shimoda 472ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770 473ea0e1a9aSPaul Mundt bool "Support SH7770 processor" 474ea0e1a9aSPaul Mundt select CPU_SH4A 475ea0e1a9aSPaul Mundt 476ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780 477ea0e1a9aSPaul Mundt bool "Support SH7780 processor" 478ea0e1a9aSPaul Mundt select CPU_SH4A 479ea0e1a9aSPaul Mundt 480ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785 481ea0e1a9aSPaul Mundt bool "Support SH7785 processor" 482ea0e1a9aSPaul Mundt select CPU_SH4A 483ea0e1a9aSPaul Mundt select CPU_SHX2 484ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 485ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 486f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 487ea0e1a9aSPaul Mundt 48855ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786 48955ba99ebSKuninori Morimoto bool "Support SH7786 processor" 49055ba99ebSKuninori Morimoto select CPU_SH4A 49137042fbdSPaul Mundt select CPU_SHX3 4928263a67eSPaul Mundt select CPU_HAS_PTEAEX 4932eb2a436SPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 494f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 495e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 4967b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 497e3e9887eSPaul Mundt select USB_ARCH_HAS_EHCI 4987b61ca5dSPaul Mundt select USB_EHCI_SH if USB_EHCI_HCD 49955ba99ebSKuninori Morimoto 500ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3 501ea0e1a9aSPaul Mundt bool "Support SH-X3 processor" 502ea0e1a9aSPaul Mundt select CPU_SH4A 503ea0e1a9aSPaul Mundt select CPU_SHX3 5045840263eSPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 505742759eaSPaul Mundt select ARCH_REQUIRE_GPIOLIB 506ea0e1a9aSPaul Mundt 507ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support 508ea0e1a9aSPaul Mundt 509ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343 510ea0e1a9aSPaul Mundt bool "Support SH7343 processor" 511ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 512dc65a977SPaul Mundt select ARCH_SHMOBILE 513f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 514ea0e1a9aSPaul Mundt 515ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722 516ea0e1a9aSPaul Mundt bool "Support SH7722 processor" 517ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 518ea0e1a9aSPaul Mundt select CPU_SHX2 519dc65a977SPaul Mundt select ARCH_SHMOBILE 520ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 521ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 522f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 523f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 524ea0e1a9aSPaul Mundt 5259109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366 5269109a30eSMagnus Damm bool "Support SH7366 processor" 5279109a30eSMagnus Damm select CPU_SH4AL_DSP 5289109a30eSMagnus Damm select CPU_SHX2 529dc65a977SPaul Mundt select ARCH_SHMOBILE 5309109a30eSMagnus Damm select ARCH_SPARSEMEM_ENABLE 5319109a30eSMagnus Damm select SYS_SUPPORTS_NUMA 532f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 5339109a30eSMagnus Damm 5343cc000b5SPaul Mundtendchoice 5353cc000b5SPaul Mundt 5363cc000b5SPaul Mundtendif 5373cc000b5SPaul Mundt 5383cc000b5SPaul Mundtif SUPERH64 5393cc000b5SPaul Mundt 5403cc000b5SPaul Mundtchoice 5413cc000b5SPaul Mundt prompt "Processor sub-type selection" 5423cc000b5SPaul Mundt 543ea0e1a9aSPaul Mundt# SH-5 Processor Support 544ea0e1a9aSPaul Mundt 545ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101 546ea0e1a9aSPaul Mundt bool "Support SH5-101 processor" 547ea0e1a9aSPaul Mundt select CPU_SH5 548ea0e1a9aSPaul Mundt 549ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103 550ea0e1a9aSPaul Mundt bool "Support SH5-103 processor" 5518ef97dd7SPaul Mundt select CPU_SH5 552ea0e1a9aSPaul Mundt 553ea0e1a9aSPaul Mundtendchoice 554ea0e1a9aSPaul Mundt 5553cc000b5SPaul Mundtendif 5563cc000b5SPaul Mundt 557ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig" 558939a24a6SPaul Mundt 559ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu" 560ea0e1a9aSPaul Mundt 561939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig" 562ea0e1a9aSPaul Mundt 563ea0e1a9aSPaul Mundtmenu "Timer and clock configuration" 564ea0e1a9aSPaul Mundt 5659570ef20SMagnus Dammconfig SH_TIMER_TMU 5669570ef20SMagnus Damm bool "TMU timer driver" 567f19900b2SMagnus Damm depends on SYS_SUPPORTS_TMU 5689570ef20SMagnus Damm default y 5699570ef20SMagnus Damm help 5709570ef20SMagnus Damm This enables the build of the TMU timer driver. 5719570ef20SMagnus Damm 572f5ad881bSPaul Mundtconfig SH_TIMER_CMT 573f425752fSMagnus Damm bool "CMT timer driver" 574f425752fSMagnus Damm depends on SYS_SUPPORTS_CMT 575f425752fSMagnus Damm default y 576f425752fSMagnus Damm help 577f425752fSMagnus Damm This enables build of the CMT timer driver. 578f5ad881bSPaul Mundt 579d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2 580d5ed4c2eSMagnus Damm bool "MTU2 timer driver" 5813280c886SMagnus Damm depends on SYS_SUPPORTS_MTU2 582d5ed4c2eSMagnus Damm default y 583d5ed4c2eSMagnus Damm help 584d5ed4c2eSMagnus Damm This enables build of the MTU2 timer driver. 585d5ed4c2eSMagnus Damm 586ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ 587ea0e1a9aSPaul Mundt int "Peripheral clock frequency (in Hz)" 5888152a74bSPaul Mundt depends on SH_CLK_CPG_LEGACY 589ea0e1a9aSPaul Mundt default "31250000" if CPU_SUBTYPE_SH7619 5908152a74bSPaul Mundt default "33333333" if CPU_SUBTYPE_SH7770 || \ 5918152a74bSPaul Mundt CPU_SUBTYPE_SH7760 || \ 5928152a74bSPaul Mundt CPU_SUBTYPE_SH7705 || \ 5938152a74bSPaul Mundt CPU_SUBTYPE_SH7203 || \ 5948152a74bSPaul Mundt CPU_SUBTYPE_SH7206 || \ 5958152a74bSPaul Mundt CPU_SUBTYPE_SH7263 || \ 59643a1839cSPaul Mundt CPU_SUBTYPE_MXG 597ea0e1a9aSPaul Mundt default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 598ea0e1a9aSPaul Mundt default "66000000" if CPU_SUBTYPE_SH4_202 599ea0e1a9aSPaul Mundt default "50000000" 600ea0e1a9aSPaul Mundt help 601ea0e1a9aSPaul Mundt This option is used to specify the peripheral clock frequency. 602ea0e1a9aSPaul Mundt This is necessary for determining the reference clock value on 603ea0e1a9aSPaul Mundt platforms lacking an RTC. 604ea0e1a9aSPaul Mundt 60536aa1e32SPaul Mundtconfig SH_CLK_CPG 60636aa1e32SPaul Mundt def_bool y 60736aa1e32SPaul Mundt 608253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY 60936aa1e32SPaul Mundt depends on SH_CLK_CPG 61043a1839cSPaul Mundt def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \ 61151ce3068SPhil Edworthy !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \ 612bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \ 613bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7269 614253b0887SPaul Mundt 615ea0e1a9aSPaul Mundtendmenu 616ea0e1a9aSPaul Mundt 617ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling" 618ea0e1a9aSPaul Mundt 619ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig" 620ea0e1a9aSPaul Mundt 621ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ 622ea0e1a9aSPaul Mundt tristate "SuperH CPU Frequency driver" 623ea0e1a9aSPaul Mundt depends on CPU_FREQ 624ea0e1a9aSPaul Mundt select CPU_FREQ_TABLE 625ea0e1a9aSPaul Mundt help 6268a655053SPaul Mundt This adds the cpufreq driver for SuperH. Any CPU that supports 6278a655053SPaul Mundt clock rate rounding through the clock framework can use this 6288a655053SPaul Mundt driver. While it will make the kernel slightly larger, this is 6298a655053SPaul Mundt harmless for CPUs that don't support rate rounding. The driver 6308a655053SPaul Mundt will also generate a notice in the boot log before disabling 6318a655053SPaul Mundt itself if the CPU in question is not capable of rate rounding. 632ea0e1a9aSPaul Mundt 633ea0e1a9aSPaul Mundt For details, take a look at <file:Documentation/cpu-freq>. 634ea0e1a9aSPaul Mundt 635ea0e1a9aSPaul Mundt If unsure, say N. 636ea0e1a9aSPaul Mundt 637ea0e1a9aSPaul Mundtendmenu 638ea0e1a9aSPaul Mundt 639ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig" 640ea0e1a9aSPaul Mundt 641ea0e1a9aSPaul Mundtendmenu 642ea0e1a9aSPaul Mundt 643ea0e1a9aSPaul Mundtmenu "Kernel features" 644ea0e1a9aSPaul Mundt 645ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz 646ea0e1a9aSPaul Mundt 647ea0e1a9aSPaul Mundtconfig KEXEC 648ea0e1a9aSPaul Mundt bool "kexec system call (EXPERIMENTAL)" 649f36b59d1SNobuhiro Iwamatsu depends on SUPERH32 && EXPERIMENTAL && MMU 650ea0e1a9aSPaul Mundt help 651ea0e1a9aSPaul Mundt kexec is a system call that implements the ability to shutdown your 652ea0e1a9aSPaul Mundt current kernel, and to start another kernel. It is like a reboot 653ea0e1a9aSPaul Mundt but it is independent of the system firmware. And like a reboot 654ea0e1a9aSPaul Mundt you can start any kernel with it, not just Linux. 655ea0e1a9aSPaul Mundt 656ea0e1a9aSPaul Mundt The name comes from the similarity to the exec system call. 657ea0e1a9aSPaul Mundt 658ea0e1a9aSPaul Mundt It is an ongoing process to be certain the hardware in a machine 659ea0e1a9aSPaul Mundt is properly shutdown, so do not be surprised if this code does not 660ea0e1a9aSPaul Mundt initially work for you. It may help to enable device hotplugging 661ea0e1a9aSPaul Mundt support. As of this writing the exact hardware interface is 662ea0e1a9aSPaul Mundt strongly in flux, so no good recommendation can be made. 663ea0e1a9aSPaul Mundt 664ea0e1a9aSPaul Mundtconfig CRASH_DUMP 665ea0e1a9aSPaul Mundt bool "kernel crash dumps (EXPERIMENTAL)" 666d523e1aeSPaul Mundt depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP 667ea0e1a9aSPaul Mundt help 668ea0e1a9aSPaul Mundt Generate crash dump after being started by kexec. 669ea0e1a9aSPaul Mundt This should be normally only set in special crash dump kernels 670ea0e1a9aSPaul Mundt which are loaded in the main kernel with kexec-tools into 671ea0e1a9aSPaul Mundt a specially reserved region and then later executed after 672ea0e1a9aSPaul Mundt a crash by kdump/kexec. The crash dump kernel must be compiled 673ea0e1a9aSPaul Mundt to a memory address not used by the main kernel using 674e66ac3f2SSimon Horman PHYSICAL_START. 675ea0e1a9aSPaul Mundt 676ea0e1a9aSPaul Mundt For more details see Documentation/kdump/kdump.txt 677ea0e1a9aSPaul Mundt 678b7cf6ddcSMagnus Dammconfig KEXEC_JUMP 679b7cf6ddcSMagnus Damm bool "kexec jump (EXPERIMENTAL)" 680b7cf6ddcSMagnus Damm depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL 681b7cf6ddcSMagnus Damm help 682b7cf6ddcSMagnus Damm Jump between original kernel and kexeced kernel and invoke 683b7cf6ddcSMagnus Damm code via KEXEC 684b7cf6ddcSMagnus Damm 685e66ac3f2SSimon Hormanconfig PHYSICAL_START 686e66ac3f2SSimon Horman hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) 687e66ac3f2SSimon Horman default MEMORY_START 688e66ac3f2SSimon Horman ---help--- 689e66ac3f2SSimon Horman This gives the physical address where the kernel is loaded 690e66ac3f2SSimon Horman and is ordinarily the same as MEMORY_START. 691e66ac3f2SSimon Horman 692e66ac3f2SSimon Horman Different values are primarily used in the case of kexec on panic 693e66ac3f2SSimon Horman where the fail safe kernel needs to run at a different address 694e66ac3f2SSimon Horman than the panic-ed kernel. 695e66ac3f2SSimon Horman 696c4637d47SPaul Mundtconfig SECCOMP 697c4637d47SPaul Mundt bool "Enable seccomp to safely compute untrusted bytecode" 698c4637d47SPaul Mundt depends on PROC_FS 699c4637d47SPaul Mundt help 700c4637d47SPaul Mundt This kernel feature is useful for number crunching applications 701c4637d47SPaul Mundt that may need to compute untrusted bytecode during their 702c4637d47SPaul Mundt execution. By using pipes or other transports made available to 703c4637d47SPaul Mundt the process as file descriptors supporting the read/write 704c4637d47SPaul Mundt syscalls, it's possible to isolate those applications in 705c4637d47SPaul Mundt their own address space using seccomp. Once seccomp is 706c4637d47SPaul Mundt enabled via prctl, it cannot be disabled and the task is only 707c4637d47SPaul Mundt allowed to execute a few safe syscalls defined by each seccomp 708c4637d47SPaul Mundt mode. 709c4637d47SPaul Mundt 710c4637d47SPaul Mundt If unsure, say N. 711c4637d47SPaul Mundt 7125d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR 7135d920bb9SFilippo Arcidiacono bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 7145d920bb9SFilippo Arcidiacono depends on SUPERH32 && EXPERIMENTAL 7155d920bb9SFilippo Arcidiacono help 7165d920bb9SFilippo Arcidiacono This option turns on the -fstack-protector GCC feature. This 7175d920bb9SFilippo Arcidiacono feature puts, at the beginning of functions, a canary value on 7185d920bb9SFilippo Arcidiacono the stack just before the return address, and validates 7195d920bb9SFilippo Arcidiacono the value just before actually returning. Stack based buffer 7205d920bb9SFilippo Arcidiacono overflows (that need to overwrite this return address) now also 7215d920bb9SFilippo Arcidiacono overwrite the canary, which gets detected and the attack is then 7225d920bb9SFilippo Arcidiacono neutralized via a kernel panic. 7235d920bb9SFilippo Arcidiacono 7245d920bb9SFilippo Arcidiacono This feature requires gcc version 4.2 or above. 7255d920bb9SFilippo Arcidiacono 726ea0e1a9aSPaul Mundtconfig SMP 727ea0e1a9aSPaul Mundt bool "Symmetric multi-processing support" 728ea0e1a9aSPaul Mundt depends on SYS_SUPPORTS_SMP 729490f5de5SJens Axboe select USE_GENERIC_SMP_HELPERS 730ea0e1a9aSPaul Mundt ---help--- 731ea0e1a9aSPaul Mundt This enables support for systems with more than one CPU. If you have 732ea0e1a9aSPaul Mundt a system with only one CPU, like most personal computers, say N. If 733ea0e1a9aSPaul Mundt you have a system with more than one CPU, say Y. 734ea0e1a9aSPaul Mundt 735ea0e1a9aSPaul Mundt If you say N here, the kernel will run on single and multiprocessor 736ea0e1a9aSPaul Mundt machines, but will use only one CPU of a multiprocessor machine. If 737ea0e1a9aSPaul Mundt you say Y here, the kernel will run on many, but not all, 738ea0e1a9aSPaul Mundt singleprocessor machines. On a singleprocessor machine, the kernel 739ea0e1a9aSPaul Mundt will run faster if you say N here. 740ea0e1a9aSPaul Mundt 741ea0e1a9aSPaul Mundt People using multiprocessor machines who say Y here should also say 742ea0e1a9aSPaul Mundt Y to "Enhanced Real Time Clock Support", below. 743ea0e1a9aSPaul Mundt 74403502faaSAdrian Bunk See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 74503502faaSAdrian Bunk available at <http://www.tldp.org/docs.html#howto>. 746ea0e1a9aSPaul Mundt 747ea0e1a9aSPaul Mundt If you don't know what to do here, say N. 748ea0e1a9aSPaul Mundt 749ea0e1a9aSPaul Mundtconfig NR_CPUS 750ea0e1a9aSPaul Mundt int "Maximum number of CPUs (2-32)" 751ea0e1a9aSPaul Mundt range 2 32 752ea0e1a9aSPaul Mundt depends on SMP 7532eb2a436SPaul Mundt default "4" if CPU_SUBTYPE_SHX3 754ea0e1a9aSPaul Mundt default "2" 755ea0e1a9aSPaul Mundt help 756ea0e1a9aSPaul Mundt This allows you to specify the maximum number of CPUs which this 757ea0e1a9aSPaul Mundt kernel will support. The maximum supported value is 32 and the 758ea0e1a9aSPaul Mundt minimum value which makes sense is 2. 759ea0e1a9aSPaul Mundt 760ea0e1a9aSPaul Mundt This is purely to save memory - each supported CPU adds 761ea0e1a9aSPaul Mundt approximately eight kilobytes to the kernel image. 762ea0e1a9aSPaul Mundt 763763142d1SPaul Mundtconfig HOTPLUG_CPU 764763142d1SPaul Mundt bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 765763142d1SPaul Mundt depends on SMP && HOTPLUG && EXPERIMENTAL 766763142d1SPaul Mundt help 767763142d1SPaul Mundt Say Y here to experiment with turning CPUs off and on. CPUs 768763142d1SPaul Mundt can be controlled through /sys/devices/system/cpu. 769763142d1SPaul Mundt 770ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt" 771ea0e1a9aSPaul Mundt 772ea0e1a9aSPaul Mundtconfig GUSA 773ea0e1a9aSPaul Mundt def_bool y 7741efe4ce3SStuart Menefy depends on !SMP && SUPERH32 775ea0e1a9aSPaul Mundt help 776ea0e1a9aSPaul Mundt This enables support for gUSA (general UserSpace Atomicity). 777ea0e1a9aSPaul Mundt This is the default implementation for both UP and non-ll/sc 778ea0e1a9aSPaul Mundt CPUs, and is used by the libc, amongst others. 779ea0e1a9aSPaul Mundt 780ea0e1a9aSPaul Mundt For additional information, design information can be found 781ea0e1a9aSPaul Mundt in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>. 782ea0e1a9aSPaul Mundt 783ea0e1a9aSPaul Mundt This should only be disabled for special cases where alternate 784ea0e1a9aSPaul Mundt atomicity implementations exist. 785ea0e1a9aSPaul Mundt 7861efe4ce3SStuart Menefyconfig GUSA_RB 7871efe4ce3SStuart Menefy bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" 7881efe4ce3SStuart Menefy depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) 7891efe4ce3SStuart Menefy help 7901efe4ce3SStuart Menefy Enabling this option will allow the kernel to implement some 791692105b8SMatt LaPlante atomic operations using a software implementation of load-locked/ 7921efe4ce3SStuart Menefy store-conditional (LLSC). On machines which do not have hardware 7931efe4ce3SStuart Menefy LLSC, this should be more efficient than the other alternative of 794692105b8SMatt LaPlante disabling interrupts around the atomic sequence. 7951efe4ce3SStuart Menefy 79686c8c047SMatt Flemingconfig HW_PERF_EVENTS 79786c8c047SMatt Fleming bool "Enable hardware performance counter support for perf events" 79886c8c047SMatt Fleming depends on PERF_EVENTS && CPU_HAS_PMU 79986c8c047SMatt Fleming default y 80086c8c047SMatt Fleming help 80186c8c047SMatt Fleming Enable hardware performance counter support for perf events. If 80286c8c047SMatt Fleming disabled, perf events will use software events only. 80386c8c047SMatt Fleming 80443b8774dSPaul Mundtsource "drivers/sh/Kconfig" 80543b8774dSPaul Mundt 806ea0e1a9aSPaul Mundtendmenu 807ea0e1a9aSPaul Mundt 808ea0e1a9aSPaul Mundtmenu "Boot options" 809ea0e1a9aSPaul Mundt 810ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET 811b412a49aSPaul Mundt hex 812b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ 813b412a49aSPaul Mundt SH_7751_SOLUTION_ENGINE 814b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB || SH_SH03 815ea0e1a9aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 816ea0e1a9aSPaul Mundt default "0x00001000" 817ea0e1a9aSPaul Mundt help 818ea0e1a9aSPaul Mundt This sets the default offset of zero page. 819ea0e1a9aSPaul Mundt 820ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET 821b412a49aSPaul Mundt hex 822b412a49aSPaul Mundt default "0x00210000" if SH_SHMIN 823a2e76c80SPaul Mundt default "0x00400000" if SH_CAYMAN 824b412a49aSPaul Mundt default "0x00810000" if SH_7780_SOLUTION_ENGINE 825b412a49aSPaul Mundt default "0x009e0000" if SH_TITAN 826b412a49aSPaul Mundt default "0x01800000" if SH_SDK7780 827b412a49aSPaul Mundt default "0x02000000" if SH_EDOSK7760 828ea0e1a9aSPaul Mundt default "0x00800000" 829ea0e1a9aSPaul Mundt help 830ea0e1a9aSPaul Mundt This option allows you to set the link address offset of the zImage. 831ea0e1a9aSPaul Mundt This can be useful if you are on a board which has a small amount of 832ea0e1a9aSPaul Mundt memory. 833ea0e1a9aSPaul Mundt 834b412a49aSPaul Mundtconfig ENTRY_OFFSET 835b412a49aSPaul Mundt hex 836b412a49aSPaul Mundt default "0x00001000" if PAGE_SIZE_4KB 837b412a49aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 838b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB 839b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB 840b412a49aSPaul Mundt default "0x00000000" 841b412a49aSPaul Mundt 8424705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF 8434705b2e8SMagnus Damm bool "Include MMCIF loader in romImage (EXPERIMENTAL)" 8444705b2e8SMagnus Damm depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL 8454705b2e8SMagnus Damm help 8464705b2e8SMagnus Damm Say Y here to include experimental MMCIF loading code in 8474705b2e8SMagnus Damm romImage. With this enabled it is possible to write the romImage 8484705b2e8SMagnus Damm kernel image to an MMC card and boot the kernel straight from 8494705b2e8SMagnus Damm the reset vector. At reset the processor Mask ROM will load the 8504705b2e8SMagnus Damm first part of the romImage which in turn loads the rest the kernel 8514705b2e8SMagnus Damm image to RAM using the MMCIF hardware block. 8524705b2e8SMagnus Damm 853d724a9c9SPawel Mollchoice 854d724a9c9SPawel Moll prompt "Kernel command line" 855d724a9c9SPawel Moll optional 856d724a9c9SPawel Moll default CMDLINE_OVERWRITE 857d724a9c9SPawel Moll help 858d724a9c9SPawel Moll Setting this option allows the kernel command line arguments 859d724a9c9SPawel Moll to be set. 860d724a9c9SPawel Moll 861d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE 862d724a9c9SPawel Moll bool "Overwrite bootloader kernel arguments" 863d724a9c9SPawel Moll help 864d724a9c9SPawel Moll Given string will overwrite any arguments passed in by 865d724a9c9SPawel Moll a bootloader. 866d724a9c9SPawel Moll 867d724a9c9SPawel Mollconfig CMDLINE_EXTEND 868d724a9c9SPawel Moll bool "Extend bootloader kernel arguments" 869d724a9c9SPawel Moll help 870d724a9c9SPawel Moll Given string will be concatenated with arguments passed in 871d724a9c9SPawel Moll by a bootloader. 872d724a9c9SPawel Moll 873d724a9c9SPawel Mollendchoice 874ea0e1a9aSPaul Mundt 875ea0e1a9aSPaul Mundtconfig CMDLINE 876d724a9c9SPawel Moll string "Kernel command line arguments string" 877d724a9c9SPawel Moll depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND 878ea0e1a9aSPaul Mundt default "console=ttySC1,115200" 879ea0e1a9aSPaul Mundt 880ea0e1a9aSPaul Mundtendmenu 881ea0e1a9aSPaul Mundt 882ea0e1a9aSPaul Mundtmenu "Bus options" 883ea0e1a9aSPaul Mundt 884ea0e1a9aSPaul Mundtconfig SUPERHYWAY 885ea0e1a9aSPaul Mundt tristate "SuperHyway Bus support" 886ea0e1a9aSPaul Mundt depends on CPU_SUBTYPE_SH4_202 887ea0e1a9aSPaul Mundt 888ea0e1a9aSPaul Mundtconfig MAPLE 889ea0e1a9aSPaul Mundt bool "Maple Bus support" 890ea0e1a9aSPaul Mundt depends on SH_DREAMCAST 891ea0e1a9aSPaul Mundt help 892ea0e1a9aSPaul Mundt The Maple Bus is SEGA's serial communication bus for peripherals 893ea0e1a9aSPaul Mundt on the Dreamcast. Without this bus support you won't be able to 894ea0e1a9aSPaul Mundt get your Dreamcast keyboard etc to work, so most users 895ea0e1a9aSPaul Mundt probably want to say 'Y' here, unless you are only using the 896ea0e1a9aSPaul Mundt Dreamcast with a serial line terminal or a remote network 897ea0e1a9aSPaul Mundt connection. 898ea0e1a9aSPaul Mundt 8997693465dSPaul Mundtconfig PCI 9007693465dSPaul Mundt bool "PCI support" 9017693465dSPaul Mundt depends on SYS_SUPPORTS_PCI 902320e68daSPaul Mundt select PCI_DOMAINS 90343db595eSMichael S. Tsirkin select GENERIC_PCI_IOMAP 9041e05b62aSMichael S. Tsirkin select NO_GENERIC_PCI_IOPORT_MAP 9057693465dSPaul Mundt help 9067693465dSPaul Mundt Find out whether you have a PCI motherboard. PCI is the name of a 9077693465dSPaul Mundt bus system, i.e. the way the CPU talks to the other stuff inside 9087693465dSPaul Mundt your box. If you have PCI, say Y, otherwise N. 909ea0e1a9aSPaul Mundt 910320e68daSPaul Mundtconfig PCI_DOMAINS 911320e68daSPaul Mundt bool 912320e68daSPaul Mundt 913e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig" 914e16038abSPaul Mundt 915ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig" 916ea0e1a9aSPaul Mundt 917ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig" 918ea0e1a9aSPaul Mundt 919ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig" 920ea0e1a9aSPaul Mundt 921ea0e1a9aSPaul Mundtendmenu 922ea0e1a9aSPaul Mundt 923ea0e1a9aSPaul Mundtmenu "Executable file formats" 924ea0e1a9aSPaul Mundt 925ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt" 926ea0e1a9aSPaul Mundt 927ea0e1a9aSPaul Mundtendmenu 928ea0e1a9aSPaul Mundt 929ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)" 930af998a9aSMagnus Dammdepends on EXPERIMENTAL 931f4cb5700SJohannes Berg 932c6f17cb2SMagnus Dammsource "kernel/power/Kconfig" 933c6f17cb2SMagnus Damm 934c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig" 935ea0e1a9aSPaul Mundt 936ea0e1a9aSPaul Mundtendmenu 937ea0e1a9aSPaul Mundt 938ea0e1a9aSPaul Mundtsource "net/Kconfig" 939ea0e1a9aSPaul Mundt 940ea0e1a9aSPaul Mundtsource "drivers/Kconfig" 941ea0e1a9aSPaul Mundt 942ea0e1a9aSPaul Mundtsource "fs/Kconfig" 943ea0e1a9aSPaul Mundt 944ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug" 945ea0e1a9aSPaul Mundt 946ea0e1a9aSPaul Mundtsource "security/Kconfig" 947ea0e1a9aSPaul Mundt 948ea0e1a9aSPaul Mundtsource "crypto/Kconfig" 949ea0e1a9aSPaul Mundt 950ea0e1a9aSPaul Mundtsource "lib/Kconfig" 951