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 14cdd6c482SIngo Molnar select HAVE_PERF_EVENTS 159b2a60c4SCatalin Marinas select HAVE_DEBUG_BUGVERBOSE 167563bbf8SMark Brown select ARCH_HAVE_CUSTOM_GPIO_H 17df013ffbSHuang Ying select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A) 1872f0c137SPaul Mundt select PERF_USE_VMALLOC 19b69ec42bSCatalin Marinas select HAVE_DEBUG_KMEMLEAK 20df8ce259SPaul Mundt select HAVE_KERNEL_GZIP 2107e88e1bSPaul Mundt select HAVE_KERNEL_BZIP2 2207e88e1bSPaul Mundt select HAVE_KERNEL_LZMA 2350cfa79dSPaul Mundt select HAVE_KERNEL_XZ 24c7b16efbSPaul Mundt select HAVE_KERNEL_LZO 25af1839ebSCatalin Marinas select HAVE_UID16 26c1d7e01dSWill Deacon select ARCH_WANT_IPC_PARSE_VERSION 27a74f7e04SPaul Mundt select HAVE_SYSCALL_TRACEPOINTS 28eaaaeef3SPaul Mundt select HAVE_REGS_AND_STACK_ACCESS_API 2957b81330SPaul Mundt select HAVE_GENERIC_HARDIRQS 302ed86b16SRob Herring select MAY_HAVE_SPARSE_IRQ 31ed170924SPaul Mundt select IRQ_FORCED_THREADING 326eac1af0SPaul Mundt select RTC_LIB 33f01789c6SPaul Mundt select GENERIC_ATOMIC64 343d44ae40SPaul Mundt select GENERIC_IRQ_SHOW 35ea0588cbSThomas Gleixner select GENERIC_SMP_IDLE_THREAD 36dc775dd8SThomas Gleixner select GENERIC_IDLE_LOOP 37dc775dd8SThomas Gleixner select GENERIC_IDLE_POLL_SETUP 388cf200d8SAnna-Maria Gleixner select GENERIC_CLOCKEVENTS 398cf200d8SAnna-Maria Gleixner select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST 400e100e11SPaul Mundt select GENERIC_STRNCPY_FROM_USER 41cba8df4bSPaul Mundt select GENERIC_STRNLEN_USER 42786d35d4SDavid Howells select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER 43786d35d4SDavid Howells select MODULES_USE_ELF_RELA 44881e252dSAl Viro select OLD_SIGSUSPEND 450679a858SAl Viro select OLD_SIGACTION 46ea0e1a9aSPaul Mundt help 47ea0e1a9aSPaul Mundt The SuperH is a RISC processor targeted for use in embedded systems 48ea0e1a9aSPaul Mundt and consumer electronics; it was also used in the Sega Dreamcast 49ea0e1a9aSPaul Mundt gaming console. The SuperH port has a home page at 50ea0e1a9aSPaul Mundt <http://www.linux-sh.org/>. 51ea0e1a9aSPaul Mundt 52ea0e1a9aSPaul Mundtconfig SUPERH32 533cc000b5SPaul Mundt def_bool ARCH = "sh" 54d39f5450SChris Smith select HAVE_KPROBES 55d39f5450SChris Smith select HAVE_KRETPROBES 566d63e73dSPaul Mundt select HAVE_IOREMAP_PROT if MMU && !X2TLB 57694f94f2SPaul Mundt select HAVE_FUNCTION_TRACER 58fad57febSMatt Fleming select HAVE_FTRACE_MCOUNT_RECORD 59fad57febSMatt Fleming select HAVE_DYNAMIC_FTRACE 60c1340c05SMatt Fleming select HAVE_FUNCTION_TRACE_MCOUNT_TEST 61e4b053d9SPaul Mundt select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE 62c1d7e01dSWill Deacon select ARCH_WANT_IPC_PARSE_VERSION 63327933f5SMatt Fleming select HAVE_FUNCTION_GRAPH_TRACER 64ab6e570bSPaul Mundt select HAVE_ARCH_KGDB 656fbfe8d7SPaul Mundt select HAVE_HW_BREAKPOINT 660102752eSFrederic Weisbecker select HAVE_MIXED_BREAKPOINTS_REGS 67e583d6b3SSam Ravnborg select PERF_EVENTS 688dafc346SPaul Mundt select ARCH_HIBERNATION_POSSIBLE if MMU 6957b81330SPaul Mundt select SPARSE_IRQ 70ea0e1a9aSPaul Mundt 71ea0e1a9aSPaul Mundtconfig SUPERH64 723cc000b5SPaul Mundt def_bool ARCH = "sh64" 733a898c0fSPaul Mundt select KALLSYMS 74ea0e1a9aSPaul Mundt 75f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG 76f42b7e3dSPaul Mundt string 77f42b7e3dSPaul Mundt default "arch/sh/configs/shx3_defconfig" if SUPERH32 78f42b7e3dSPaul Mundt default "arch/sh/configs/cayman_defconfig" if SUPERH64 79f42b7e3dSPaul Mundt 80ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK 81d7ef4fb3SHarvey Harrison def_bool y 82ea0e1a9aSPaul Mundt 83ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM 84ea0e1a9aSPaul Mundt bool 85ea0e1a9aSPaul Mundt 86ea0e1a9aSPaul Mundtconfig GENERIC_BUG 87ea0e1a9aSPaul Mundt def_bool y 88a82d53ecSPaul Mundt depends on BUG && SUPERH32 89ea0e1a9aSPaul Mundt 903767f3f1SPaul Mundtconfig GENERIC_CSUM 913767f3f1SPaul Mundt def_bool y 923767f3f1SPaul Mundt depends on SUPERH64 933767f3f1SPaul Mundt 94ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT 95d7ef4fb3SHarvey Harrison def_bool y 96ea0e1a9aSPaul Mundt 972967dab1SMagnus Dammconfig GENERIC_GPIO 982967dab1SMagnus Damm def_bool n 992967dab1SMagnus Damm 100ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY 101cf204fa7SPaul Mundt bool 102ea0e1a9aSPaul Mundt 103bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK 104bdcab87bSPaul Mundt def_bool y 105bdcab87bSPaul Mundt depends on SMP && PREEMPT 106bdcab87bSPaul Mundt 107af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE 108af998a9aSMagnus Damm def_bool n 109af998a9aSMagnus Damm 110af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE 111af998a9aSMagnus Damm def_bool n 112ea0e1a9aSPaul Mundt 113ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION 114ea0e1a9aSPaul Mundt bool 115af998a9aSMagnus Damm select ARCH_SUSPEND_POSSIBLE 116ea0e1a9aSPaul Mundt 117ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS 118ffb4a73dSPaul Mundt bool 119ffb4a73dSPaul Mundt 120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP 121ea0e1a9aSPaul Mundt bool 122ea0e1a9aSPaul Mundt 123ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA 124ea0e1a9aSPaul Mundt bool 125ea0e1a9aSPaul Mundt 126ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI 127ea0e1a9aSPaul Mundt bool 128ea0e1a9aSPaul Mundt 129f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT 130f5ad881bSPaul Mundt bool 131f5ad881bSPaul Mundt 132d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2 133d5ed4c2eSMagnus Damm bool 134d5ed4c2eSMagnus Damm 1359570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU 1369570ef20SMagnus Damm bool 1379570ef20SMagnus Damm 138ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT 139d7ef4fb3SHarvey Harrison def_bool y 140ea0e1a9aSPaul Mundt 141ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT 142d7ef4fb3SHarvey Harrison def_bool y 143ea0e1a9aSPaul Mundt 1445a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT 1455a89f1adSPaul Mundt def_bool y 1465a89f1adSPaul Mundt 147ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32 148d7ef4fb3SHarvey Harrison def_bool n 149ea0e1a9aSPaul Mundt 150ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64 151d7ef4fb3SHarvey Harrison def_bool n 152ea0e1a9aSPaul Mundt 153e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE 154e869a90eSPaul Mundt def_bool y 155e869a90eSPaul Mundt 15686e4dd5aSPaul Mundtconfig NO_IOPORT 15737b7a978SPaul Mundt def_bool !PCI 158c30b9c43SPaul Mundt depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \ 159c30b9c43SPaul Mundt !SH_HP6XX && !SH_SOLUTION_ENGINE 16086e4dd5aSPaul Mundt 161e7cc9a73SMagnus Dammconfig IO_TRAPPED 162e7cc9a73SMagnus Damm bool 163e7cc9a73SMagnus Damm 164b7e68d68SPaul Mundtconfig SWAP_IO_SPACE 165b7e68d68SPaul Mundt bool 166b7e68d68SPaul Mundt 16701be5d63SPaul Mundtconfig DMA_COHERENT 16801be5d63SPaul Mundt bool 16901be5d63SPaul Mundt 17001be5d63SPaul Mundtconfig DMA_NONCOHERENT 17101be5d63SPaul Mundt def_bool !DMA_COHERENT 17201be5d63SPaul Mundt 1735cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE 1745cabbb62SFUJITA Tomonori def_bool DMA_NONCOHERENT 1755cabbb62SFUJITA Tomonori 17618e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH 17718e98307SFUJITA Tomonori def_bool y 17818e98307SFUJITA Tomonori 179ea0e1a9aSPaul Mundtsource "init/Kconfig" 180ea0e1a9aSPaul Mundt 181dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer" 182dc52ddc0SMatt Helsley 183ea0e1a9aSPaul Mundtmenu "System type" 184ea0e1a9aSPaul Mundt 185ea0e1a9aSPaul Mundt# 186ea0e1a9aSPaul Mundt# Processor families 187ea0e1a9aSPaul Mundt# 188ea0e1a9aSPaul Mundtconfig CPU_SH2 189ea0e1a9aSPaul Mundt bool 190ea0e1a9aSPaul Mundt 191ea0e1a9aSPaul Mundtconfig CPU_SH2A 192ea0e1a9aSPaul Mundt bool 193ea0e1a9aSPaul Mundt select CPU_SH2 194e2fcf74fSPaul Mundt select UNCACHED_MAPPING 195ea0e1a9aSPaul Mundt 196ea0e1a9aSPaul Mundtconfig CPU_SH3 197ea0e1a9aSPaul Mundt bool 198ea0e1a9aSPaul Mundt select CPU_HAS_INTEVT 199ea0e1a9aSPaul Mundt select CPU_HAS_SR_RB 2004fa48e17SPaul Mundt select SYS_SUPPORTS_TMU 201ea0e1a9aSPaul Mundt 202ea0e1a9aSPaul Mundtconfig CPU_SH4 203ea0e1a9aSPaul Mundt bool 204ea0e1a9aSPaul Mundt select CPU_HAS_INTEVT 205ea0e1a9aSPaul Mundt select CPU_HAS_SR_RB 206ea0e1a9aSPaul Mundt select CPU_HAS_FPU if !CPU_SH4AL_DSP 2074fa48e17SPaul Mundt select SYS_SUPPORTS_TMU 208ffb4a73dSPaul Mundt select SYS_SUPPORTS_HUGETLBFS if MMU 209ea0e1a9aSPaul Mundt 210ea0e1a9aSPaul Mundtconfig CPU_SH4A 211ea0e1a9aSPaul Mundt bool 212ea0e1a9aSPaul Mundt select CPU_SH4 213ea0e1a9aSPaul Mundt 214ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP 215ea0e1a9aSPaul Mundt bool 216ea0e1a9aSPaul Mundt select CPU_SH4A 217ea0e1a9aSPaul Mundt select CPU_HAS_DSP 218ea0e1a9aSPaul Mundt 219ea0e1a9aSPaul Mundtconfig CPU_SH5 220ea0e1a9aSPaul Mundt bool 221ea0e1a9aSPaul Mundt select CPU_HAS_FPU 222add47067SPaul Mundt select SYS_SUPPORTS_TMU 223ffb4a73dSPaul Mundt select SYS_SUPPORTS_HUGETLBFS if MMU 224ea0e1a9aSPaul Mundt 225ea0e1a9aSPaul Mundtconfig CPU_SHX2 226ea0e1a9aSPaul Mundt bool 227ea0e1a9aSPaul Mundt 228ea0e1a9aSPaul Mundtconfig CPU_SHX3 229ea0e1a9aSPaul Mundt bool 23001be5d63SPaul Mundt select DMA_COHERENT 2314b478ee2SPaul Mundt select SYS_SUPPORTS_SMP 2324b478ee2SPaul Mundt select SYS_SUPPORTS_NUMA 233ea0e1a9aSPaul Mundt 234dc65a977SPaul Mundtconfig ARCH_SHMOBILE 235dc65a977SPaul Mundt bool 23677594912SMagnus Damm select ARCH_SUSPEND_POSSIBLE 237ac2c596bSMagnus Damm select PM 238ac2c596bSMagnus Damm select PM_RUNTIME 239dc65a977SPaul Mundt 24086c8c047SMatt Flemingconfig CPU_HAS_PMU 24186c8c047SMatt Fleming depends on CPU_SH4 || CPU_SH4A 24286c8c047SMatt Fleming default y 24386c8c047SMatt Fleming bool 24486c8c047SMatt Fleming 2453cc000b5SPaul Mundtif SUPERH32 2463cc000b5SPaul Mundt 247ea0e1a9aSPaul Mundtchoice 248ea0e1a9aSPaul Mundt prompt "Processor sub-type selection" 249ea0e1a9aSPaul Mundt 250ea0e1a9aSPaul Mundt# 251ea0e1a9aSPaul Mundt# Processor subtypes 252ea0e1a9aSPaul Mundt# 253ea0e1a9aSPaul Mundt 254ea0e1a9aSPaul Mundt# SH-2 Processor Support 255ea0e1a9aSPaul Mundt 256ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619 257ea0e1a9aSPaul Mundt bool "Support SH7619 processor" 258ea0e1a9aSPaul Mundt select CPU_SH2 259f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 260ea0e1a9aSPaul Mundt 261ea0e1a9aSPaul Mundt# SH-2A Processor Support 262ea0e1a9aSPaul Mundt 2632825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201 2642825999eSPeter Griffin bool "Support SH7201 processor" 2652825999eSPeter Griffin select CPU_SH2A 2662825999eSPeter Griffin select CPU_HAS_FPU 267da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 2682825999eSPeter Griffin 2696d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203 2706d01f510SPaul Mundt bool "Support SH7203 processor" 2716d01f510SPaul Mundt select CPU_SH2A 27274d99a5eSPaul Mundt select CPU_HAS_FPU 273f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 274da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 275f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 276b768ecbcSLaurent Pinchart select PINCTRL 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 2975946e7bbSLaurent Pinchart select PINCTRL 29851ce3068SPhil Edworthy 2990b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269 3000b25b7c8SPhil Edworthy bool "Support SH7269 processor" 3010b25b7c8SPhil Edworthy select CPU_SH2A 3020b25b7c8SPhil Edworthy select CPU_HAS_FPU 3030b25b7c8SPhil Edworthy select SYS_SUPPORTS_CMT 3040b25b7c8SPhil Edworthy select SYS_SUPPORTS_MTU2 305fb872fccSLaurent Pinchart select PINCTRL 3060b25b7c8SPhil Edworthy 3072ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG 3082ad69908SPaul Mundt bool "Support MX-G processor" 3092ad69908SPaul Mundt select CPU_SH2A 310da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 3112ad69908SPaul Mundt help 3122ad69908SPaul Mundt Select MX-G if running on an R8A03022BG part. 3132ad69908SPaul Mundt 314ea0e1a9aSPaul Mundt# SH-3 Processor Support 315ea0e1a9aSPaul Mundt 316ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705 317ea0e1a9aSPaul Mundt bool "Support SH7705 processor" 318ea0e1a9aSPaul Mundt select CPU_SH3 319ea0e1a9aSPaul Mundt 320ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706 321ea0e1a9aSPaul Mundt bool "Support SH7706 processor" 322ea0e1a9aSPaul Mundt select CPU_SH3 323ea0e1a9aSPaul Mundt help 324ea0e1a9aSPaul Mundt Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU. 325ea0e1a9aSPaul Mundt 326ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707 327ea0e1a9aSPaul Mundt bool "Support SH7707 processor" 328ea0e1a9aSPaul Mundt select CPU_SH3 329ea0e1a9aSPaul Mundt help 330ea0e1a9aSPaul Mundt Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. 331ea0e1a9aSPaul Mundt 332ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708 333ea0e1a9aSPaul Mundt bool "Support SH7708 processor" 334ea0e1a9aSPaul Mundt select CPU_SH3 335ea0e1a9aSPaul Mundt help 336ea0e1a9aSPaul Mundt Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or 337ea0e1a9aSPaul Mundt if you have a 100 Mhz SH-3 HD6417708R CPU. 338ea0e1a9aSPaul Mundt 339ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709 340ea0e1a9aSPaul Mundt bool "Support SH7709 processor" 341ea0e1a9aSPaul Mundt select CPU_SH3 342ea0e1a9aSPaul Mundt help 343ea0e1a9aSPaul Mundt Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. 344ea0e1a9aSPaul Mundt 345ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710 346ea0e1a9aSPaul Mundt bool "Support SH7710 processor" 347ea0e1a9aSPaul Mundt select CPU_SH3 348ea0e1a9aSPaul Mundt select CPU_HAS_DSP 349ea0e1a9aSPaul Mundt help 350ea0e1a9aSPaul Mundt Select SH7710 if you have a SH3-DSP SH7710 CPU. 351ea0e1a9aSPaul Mundt 352ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712 353ea0e1a9aSPaul Mundt bool "Support SH7712 processor" 354ea0e1a9aSPaul Mundt select CPU_SH3 355ea0e1a9aSPaul Mundt select CPU_HAS_DSP 356ea0e1a9aSPaul Mundt help 357ea0e1a9aSPaul Mundt Select SH7712 if you have a SH3-DSP SH7712 CPU. 358ea0e1a9aSPaul Mundt 359ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720 360ea0e1a9aSPaul Mundt bool "Support SH7720 processor" 361ea0e1a9aSPaul Mundt select CPU_SH3 362ea0e1a9aSPaul Mundt select CPU_HAS_DSP 3632b23a882SMagnus Damm select SYS_SUPPORTS_CMT 364f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 365e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3667b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 36785db6bffSLaurent Pinchart select PINCTRL 368ea0e1a9aSPaul Mundt help 369ea0e1a9aSPaul Mundt Select SH7720 if you have a SH3-DSP SH7720 CPU. 370ea0e1a9aSPaul Mundt 37131a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721 37231a49c4bSYoshihiro Shimoda bool "Support SH7721 processor" 37331a49c4bSYoshihiro Shimoda select CPU_SH3 37431a49c4bSYoshihiro Shimoda select CPU_HAS_DSP 3752b23a882SMagnus Damm select SYS_SUPPORTS_CMT 376e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3777b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 37831a49c4bSYoshihiro Shimoda help 37931a49c4bSYoshihiro Shimoda Select SH7721 if you have a SH3-DSP SH7721 CPU. 38031a49c4bSYoshihiro Shimoda 381ea0e1a9aSPaul Mundt# SH-4 Processor Support 382ea0e1a9aSPaul Mundt 383ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750 384ea0e1a9aSPaul Mundt bool "Support SH7750 processor" 385ea0e1a9aSPaul Mundt select CPU_SH4 386ea0e1a9aSPaul Mundt help 387ea0e1a9aSPaul Mundt Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. 388ea0e1a9aSPaul Mundt 389ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091 390ea0e1a9aSPaul Mundt bool "Support SH7091 processor" 391ea0e1a9aSPaul Mundt select CPU_SH4 392ea0e1a9aSPaul Mundt help 393ea0e1a9aSPaul Mundt Select SH7091 if you have an SH-4 based Sega device (such as 394ea0e1a9aSPaul Mundt the Dreamcast, Naomi, and Naomi 2). 395ea0e1a9aSPaul Mundt 396ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R 397ea0e1a9aSPaul Mundt bool "Support SH7750R processor" 398ea0e1a9aSPaul Mundt select CPU_SH4 399ea0e1a9aSPaul Mundt 400ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S 401ea0e1a9aSPaul Mundt bool "Support SH7750S processor" 402ea0e1a9aSPaul Mundt select CPU_SH4 403ea0e1a9aSPaul Mundt 404ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751 405ea0e1a9aSPaul Mundt bool "Support SH7751 processor" 406ea0e1a9aSPaul Mundt select CPU_SH4 407ea0e1a9aSPaul Mundt help 408ea0e1a9aSPaul Mundt Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, 409ea0e1a9aSPaul Mundt or if you have a HD6417751R CPU. 410ea0e1a9aSPaul Mundt 411ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R 412ea0e1a9aSPaul Mundt bool "Support SH7751R processor" 413ea0e1a9aSPaul Mundt select CPU_SH4 414ea0e1a9aSPaul Mundt 415ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760 416ea0e1a9aSPaul Mundt bool "Support SH7760 processor" 417ea0e1a9aSPaul Mundt select CPU_SH4 418ea0e1a9aSPaul Mundt 419ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202 420ea0e1a9aSPaul Mundt bool "Support SH4-202 processor" 421ea0e1a9aSPaul Mundt select CPU_SH4 422ea0e1a9aSPaul Mundt 423ea0e1a9aSPaul Mundt# SH-4A Processor Support 424ea0e1a9aSPaul Mundt 425178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723 426178dd0cdSPaul Mundt bool "Support SH7723 processor" 427178dd0cdSPaul Mundt select CPU_SH4A 428178dd0cdSPaul Mundt select CPU_SHX2 429dc65a977SPaul Mundt select ARCH_SHMOBILE 430178dd0cdSPaul Mundt select ARCH_SPARSEMEM_ENABLE 431f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 432f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 43316941a89SLaurent Pinchart select PINCTRL 434178dd0cdSPaul Mundt help 435178dd0cdSPaul Mundt Select SH7723 if you have an SH-MobileR2 CPU. 436178dd0cdSPaul Mundt 4370207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724 4380207a2efSKuninori Morimoto bool "Support SH7724 processor" 4390207a2efSKuninori Morimoto select CPU_SH4A 4400207a2efSKuninori Morimoto select CPU_SHX2 44159fe700dSPaul Mundt select ARCH_SHMOBILE 4420207a2efSKuninori Morimoto select ARCH_SPARSEMEM_ENABLE 4430207a2efSKuninori Morimoto select SYS_SUPPORTS_CMT 444f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 44518ebd228SLaurent Pinchart select PINCTRL 4460207a2efSKuninori Morimoto help 4470207a2efSKuninori Morimoto Select SH7724 if you have an SH-MobileR2R CPU. 4480207a2efSKuninori Morimoto 449fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734 450fea88a0cSNobuhiro Iwamatsu bool "Support SH7734 processor" 451fea88a0cSNobuhiro Iwamatsu select CPU_SH4A 452fea88a0cSNobuhiro Iwamatsu select CPU_SHX2 453fea88a0cSNobuhiro Iwamatsu select ARCH_WANT_OPTIONAL_GPIOLIB 454fea88a0cSNobuhiro Iwamatsu select USB_ARCH_HAS_OHCI 455fea88a0cSNobuhiro Iwamatsu select USB_ARCH_HAS_EHCI 4562c172182SLaurent Pinchart select PINCTRL 457fea88a0cSNobuhiro Iwamatsu help 458fea88a0cSNobuhiro Iwamatsu Select SH7734 if you have a SH4A SH7734 CPU. 459fea88a0cSNobuhiro Iwamatsu 460c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757 461c01f0f1aSYoshihiro Shimoda bool "Support SH7757 processor" 462c01f0f1aSYoshihiro Shimoda select CPU_SH4A 463c01f0f1aSYoshihiro Shimoda select CPU_SHX2 464f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 4650fe48601SYoshihiro Shimoda select USB_ARCH_HAS_OHCI 4660fe48601SYoshihiro Shimoda select USB_ARCH_HAS_EHCI 467eb61b772SLaurent Pinchart select PINCTRL 468c01f0f1aSYoshihiro Shimoda help 469c01f0f1aSYoshihiro Shimoda Select SH7757 if you have a SH4A SH7757 CPU. 470c01f0f1aSYoshihiro Shimoda 4717d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763 4727d740a06SYoshihiro Shimoda bool "Support SH7763 processor" 4737d740a06SYoshihiro Shimoda select CPU_SH4A 474e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 4757b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 4767d740a06SYoshihiro Shimoda help 4777d740a06SYoshihiro Shimoda Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. 4787d740a06SYoshihiro Shimoda 479ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770 480ea0e1a9aSPaul Mundt bool "Support SH7770 processor" 481ea0e1a9aSPaul Mundt select CPU_SH4A 482ea0e1a9aSPaul Mundt 483ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780 484ea0e1a9aSPaul Mundt bool "Support SH7780 processor" 485ea0e1a9aSPaul Mundt select CPU_SH4A 486ea0e1a9aSPaul Mundt 487ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785 488ea0e1a9aSPaul Mundt bool "Support SH7785 processor" 489ea0e1a9aSPaul Mundt select CPU_SH4A 490ea0e1a9aSPaul Mundt select CPU_SHX2 491ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 492ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 493f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 49477bd27b2SLaurent Pinchart select PINCTRL 495ea0e1a9aSPaul Mundt 49655ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786 49755ba99ebSKuninori Morimoto bool "Support SH7786 processor" 49855ba99ebSKuninori Morimoto select CPU_SH4A 49937042fbdSPaul Mundt select CPU_SHX3 5008263a67eSPaul Mundt select CPU_HAS_PTEAEX 5012eb2a436SPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 502f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 503e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 5047b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 505e3e9887eSPaul Mundt select USB_ARCH_HAS_EHCI 5067b61ca5dSPaul Mundt select USB_EHCI_SH if USB_EHCI_HCD 507c0fdbff9SLaurent Pinchart select PINCTRL 50855ba99ebSKuninori Morimoto 509ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3 510ea0e1a9aSPaul Mundt bool "Support SH-X3 processor" 511ea0e1a9aSPaul Mundt select CPU_SH4A 512ea0e1a9aSPaul Mundt select CPU_SHX3 5135840263eSPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 514742759eaSPaul Mundt select ARCH_REQUIRE_GPIOLIB 5153e347f08SLaurent Pinchart select PINCTRL 516ea0e1a9aSPaul Mundt 517ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support 518ea0e1a9aSPaul Mundt 519ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343 520ea0e1a9aSPaul Mundt bool "Support SH7343 processor" 521ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 522dc65a977SPaul Mundt select ARCH_SHMOBILE 523f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 524ea0e1a9aSPaul Mundt 525ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722 526ea0e1a9aSPaul Mundt bool "Support SH7722 processor" 527ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 528ea0e1a9aSPaul Mundt select CPU_SHX2 529dc65a977SPaul Mundt select ARCH_SHMOBILE 530ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 531ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 532f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 533f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 534ef97c3c1SLaurent Pinchart select PINCTRL 535ea0e1a9aSPaul Mundt 5369109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366 5379109a30eSMagnus Damm bool "Support SH7366 processor" 5389109a30eSMagnus Damm select CPU_SH4AL_DSP 5399109a30eSMagnus Damm select CPU_SHX2 540dc65a977SPaul Mundt select ARCH_SHMOBILE 5419109a30eSMagnus Damm select ARCH_SPARSEMEM_ENABLE 5429109a30eSMagnus Damm select SYS_SUPPORTS_NUMA 543f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 5449109a30eSMagnus Damm 5453cc000b5SPaul Mundtendchoice 5463cc000b5SPaul Mundt 5473cc000b5SPaul Mundtendif 5483cc000b5SPaul Mundt 5493cc000b5SPaul Mundtif SUPERH64 5503cc000b5SPaul Mundt 5513cc000b5SPaul Mundtchoice 5523cc000b5SPaul Mundt prompt "Processor sub-type selection" 5533cc000b5SPaul Mundt 554ea0e1a9aSPaul Mundt# SH-5 Processor Support 555ea0e1a9aSPaul Mundt 556ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101 557ea0e1a9aSPaul Mundt bool "Support SH5-101 processor" 558ea0e1a9aSPaul Mundt select CPU_SH5 559ea0e1a9aSPaul Mundt 560ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103 561ea0e1a9aSPaul Mundt bool "Support SH5-103 processor" 5628ef97dd7SPaul Mundt select CPU_SH5 563ea0e1a9aSPaul Mundt 564ea0e1a9aSPaul Mundtendchoice 565ea0e1a9aSPaul Mundt 5663cc000b5SPaul Mundtendif 5673cc000b5SPaul Mundt 568ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig" 569939a24a6SPaul Mundt 570ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu" 571ea0e1a9aSPaul Mundt 572939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig" 573ea0e1a9aSPaul Mundt 574ea0e1a9aSPaul Mundtmenu "Timer and clock configuration" 575ea0e1a9aSPaul Mundt 5769570ef20SMagnus Dammconfig SH_TIMER_TMU 5779570ef20SMagnus Damm bool "TMU timer driver" 578f19900b2SMagnus Damm depends on SYS_SUPPORTS_TMU 5799570ef20SMagnus Damm default y 5809570ef20SMagnus Damm help 5819570ef20SMagnus Damm This enables the build of the TMU timer driver. 5829570ef20SMagnus Damm 583f5ad881bSPaul Mundtconfig SH_TIMER_CMT 584f425752fSMagnus Damm bool "CMT timer driver" 585f425752fSMagnus Damm depends on SYS_SUPPORTS_CMT 586f425752fSMagnus Damm default y 587f425752fSMagnus Damm help 588f425752fSMagnus Damm This enables build of the CMT timer driver. 589f5ad881bSPaul Mundt 590d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2 591d5ed4c2eSMagnus Damm bool "MTU2 timer driver" 5923280c886SMagnus Damm depends on SYS_SUPPORTS_MTU2 593d5ed4c2eSMagnus Damm default y 594d5ed4c2eSMagnus Damm help 595d5ed4c2eSMagnus Damm This enables build of the MTU2 timer driver. 596d5ed4c2eSMagnus Damm 597ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ 598ea0e1a9aSPaul Mundt int "Peripheral clock frequency (in Hz)" 5998152a74bSPaul Mundt depends on SH_CLK_CPG_LEGACY 600ea0e1a9aSPaul Mundt default "31250000" if CPU_SUBTYPE_SH7619 6018152a74bSPaul Mundt default "33333333" if CPU_SUBTYPE_SH7770 || \ 6028152a74bSPaul Mundt CPU_SUBTYPE_SH7760 || \ 6038152a74bSPaul Mundt CPU_SUBTYPE_SH7705 || \ 6048152a74bSPaul Mundt CPU_SUBTYPE_SH7203 || \ 6058152a74bSPaul Mundt CPU_SUBTYPE_SH7206 || \ 6068152a74bSPaul Mundt CPU_SUBTYPE_SH7263 || \ 60743a1839cSPaul Mundt CPU_SUBTYPE_MXG 608ea0e1a9aSPaul Mundt default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 609ea0e1a9aSPaul Mundt default "66000000" if CPU_SUBTYPE_SH4_202 610ea0e1a9aSPaul Mundt default "50000000" 611ea0e1a9aSPaul Mundt help 612ea0e1a9aSPaul Mundt This option is used to specify the peripheral clock frequency. 613ea0e1a9aSPaul Mundt This is necessary for determining the reference clock value on 614ea0e1a9aSPaul Mundt platforms lacking an RTC. 615ea0e1a9aSPaul Mundt 61636aa1e32SPaul Mundtconfig SH_CLK_CPG 61736aa1e32SPaul Mundt def_bool y 61836aa1e32SPaul Mundt 619253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY 62036aa1e32SPaul Mundt depends on SH_CLK_CPG 62143a1839cSPaul Mundt def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \ 62251ce3068SPhil Edworthy !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \ 623bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \ 624bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7269 625253b0887SPaul Mundt 626ea0e1a9aSPaul Mundtendmenu 627ea0e1a9aSPaul Mundt 628ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling" 629ea0e1a9aSPaul Mundt 630ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig" 631ea0e1a9aSPaul Mundt 632ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ 633ea0e1a9aSPaul Mundt tristate "SuperH CPU Frequency driver" 634ea0e1a9aSPaul Mundt depends on CPU_FREQ 635ea0e1a9aSPaul Mundt select CPU_FREQ_TABLE 636ea0e1a9aSPaul Mundt help 6378a655053SPaul Mundt This adds the cpufreq driver for SuperH. Any CPU that supports 6388a655053SPaul Mundt clock rate rounding through the clock framework can use this 6398a655053SPaul Mundt driver. While it will make the kernel slightly larger, this is 6408a655053SPaul Mundt harmless for CPUs that don't support rate rounding. The driver 6418a655053SPaul Mundt will also generate a notice in the boot log before disabling 6428a655053SPaul Mundt itself if the CPU in question is not capable of rate rounding. 643ea0e1a9aSPaul Mundt 644ea0e1a9aSPaul Mundt For details, take a look at <file:Documentation/cpu-freq>. 645ea0e1a9aSPaul Mundt 646ea0e1a9aSPaul Mundt If unsure, say N. 647ea0e1a9aSPaul Mundt 648ea0e1a9aSPaul Mundtendmenu 649ea0e1a9aSPaul Mundt 650ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig" 651ea0e1a9aSPaul Mundt 652ea0e1a9aSPaul Mundtendmenu 653ea0e1a9aSPaul Mundt 654ea0e1a9aSPaul Mundtmenu "Kernel features" 655ea0e1a9aSPaul Mundt 656ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz 657ea0e1a9aSPaul Mundt 658ea0e1a9aSPaul Mundtconfig KEXEC 659ea0e1a9aSPaul Mundt bool "kexec system call (EXPERIMENTAL)" 6600d57af1eSKees Cook depends on SUPERH32 && MMU 661ea0e1a9aSPaul Mundt help 662ea0e1a9aSPaul Mundt kexec is a system call that implements the ability to shutdown your 663ea0e1a9aSPaul Mundt current kernel, and to start another kernel. It is like a reboot 664ea0e1a9aSPaul Mundt but it is independent of the system firmware. And like a reboot 665ea0e1a9aSPaul Mundt you can start any kernel with it, not just Linux. 666ea0e1a9aSPaul Mundt 667ea0e1a9aSPaul Mundt The name comes from the similarity to the exec system call. 668ea0e1a9aSPaul Mundt 669ea0e1a9aSPaul Mundt It is an ongoing process to be certain the hardware in a machine 670ea0e1a9aSPaul Mundt is properly shutdown, so do not be surprised if this code does not 671ea0e1a9aSPaul Mundt initially work for you. It may help to enable device hotplugging 672ea0e1a9aSPaul Mundt support. As of this writing the exact hardware interface is 673ea0e1a9aSPaul Mundt strongly in flux, so no good recommendation can be made. 674ea0e1a9aSPaul Mundt 675ea0e1a9aSPaul Mundtconfig CRASH_DUMP 676ea0e1a9aSPaul Mundt bool "kernel crash dumps (EXPERIMENTAL)" 6770d57af1eSKees Cook depends on SUPERH32 && BROKEN_ON_SMP 678ea0e1a9aSPaul Mundt help 679ea0e1a9aSPaul Mundt Generate crash dump after being started by kexec. 680ea0e1a9aSPaul Mundt This should be normally only set in special crash dump kernels 681ea0e1a9aSPaul Mundt which are loaded in the main kernel with kexec-tools into 682ea0e1a9aSPaul Mundt a specially reserved region and then later executed after 683ea0e1a9aSPaul Mundt a crash by kdump/kexec. The crash dump kernel must be compiled 684ea0e1a9aSPaul Mundt to a memory address not used by the main kernel using 685e66ac3f2SSimon Horman PHYSICAL_START. 686ea0e1a9aSPaul Mundt 687ea0e1a9aSPaul Mundt For more details see Documentation/kdump/kdump.txt 688ea0e1a9aSPaul Mundt 689b7cf6ddcSMagnus Dammconfig KEXEC_JUMP 690b7cf6ddcSMagnus Damm bool "kexec jump (EXPERIMENTAL)" 6910d57af1eSKees Cook depends on SUPERH32 && KEXEC && HIBERNATION 692b7cf6ddcSMagnus Damm help 693b7cf6ddcSMagnus Damm Jump between original kernel and kexeced kernel and invoke 694b7cf6ddcSMagnus Damm code via KEXEC 695b7cf6ddcSMagnus Damm 696e66ac3f2SSimon Hormanconfig PHYSICAL_START 697e66ac3f2SSimon Horman hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) 698e66ac3f2SSimon Horman default MEMORY_START 699e66ac3f2SSimon Horman ---help--- 700e66ac3f2SSimon Horman This gives the physical address where the kernel is loaded 701e66ac3f2SSimon Horman and is ordinarily the same as MEMORY_START. 702e66ac3f2SSimon Horman 703e66ac3f2SSimon Horman Different values are primarily used in the case of kexec on panic 704e66ac3f2SSimon Horman where the fail safe kernel needs to run at a different address 705e66ac3f2SSimon Horman than the panic-ed kernel. 706e66ac3f2SSimon Horman 707c4637d47SPaul Mundtconfig SECCOMP 708c4637d47SPaul Mundt bool "Enable seccomp to safely compute untrusted bytecode" 709c4637d47SPaul Mundt depends on PROC_FS 710c4637d47SPaul Mundt help 711c4637d47SPaul Mundt This kernel feature is useful for number crunching applications 712c4637d47SPaul Mundt that may need to compute untrusted bytecode during their 713c4637d47SPaul Mundt execution. By using pipes or other transports made available to 714c4637d47SPaul Mundt the process as file descriptors supporting the read/write 715c4637d47SPaul Mundt syscalls, it's possible to isolate those applications in 716c4637d47SPaul Mundt their own address space using seccomp. Once seccomp is 717c4637d47SPaul Mundt enabled via prctl, it cannot be disabled and the task is only 718c4637d47SPaul Mundt allowed to execute a few safe syscalls defined by each seccomp 719c4637d47SPaul Mundt mode. 720c4637d47SPaul Mundt 721c4637d47SPaul Mundt If unsure, say N. 722c4637d47SPaul Mundt 7235d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR 7245d920bb9SFilippo Arcidiacono bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 7250d57af1eSKees Cook depends on SUPERH32 7265d920bb9SFilippo Arcidiacono help 7275d920bb9SFilippo Arcidiacono This option turns on the -fstack-protector GCC feature. This 7285d920bb9SFilippo Arcidiacono feature puts, at the beginning of functions, a canary value on 7295d920bb9SFilippo Arcidiacono the stack just before the return address, and validates 7305d920bb9SFilippo Arcidiacono the value just before actually returning. Stack based buffer 7315d920bb9SFilippo Arcidiacono overflows (that need to overwrite this return address) now also 7325d920bb9SFilippo Arcidiacono overwrite the canary, which gets detected and the attack is then 7335d920bb9SFilippo Arcidiacono neutralized via a kernel panic. 7345d920bb9SFilippo Arcidiacono 7355d920bb9SFilippo Arcidiacono This feature requires gcc version 4.2 or above. 7365d920bb9SFilippo Arcidiacono 737ea0e1a9aSPaul Mundtconfig SMP 738ea0e1a9aSPaul Mundt bool "Symmetric multi-processing support" 739ea0e1a9aSPaul Mundt depends on SYS_SUPPORTS_SMP 740490f5de5SJens Axboe select USE_GENERIC_SMP_HELPERS 741ea0e1a9aSPaul Mundt ---help--- 742ea0e1a9aSPaul Mundt This enables support for systems with more than one CPU. If you have 743ea0e1a9aSPaul Mundt a system with only one CPU, like most personal computers, say N. If 744ea0e1a9aSPaul Mundt you have a system with more than one CPU, say Y. 745ea0e1a9aSPaul Mundt 746ea0e1a9aSPaul Mundt If you say N here, the kernel will run on single and multiprocessor 747ea0e1a9aSPaul Mundt machines, but will use only one CPU of a multiprocessor machine. If 748ea0e1a9aSPaul Mundt you say Y here, the kernel will run on many, but not all, 749ea0e1a9aSPaul Mundt singleprocessor machines. On a singleprocessor machine, the kernel 750ea0e1a9aSPaul Mundt will run faster if you say N here. 751ea0e1a9aSPaul Mundt 752ea0e1a9aSPaul Mundt People using multiprocessor machines who say Y here should also say 753ea0e1a9aSPaul Mundt Y to "Enhanced Real Time Clock Support", below. 754ea0e1a9aSPaul Mundt 75503502faaSAdrian Bunk See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 75603502faaSAdrian Bunk available at <http://www.tldp.org/docs.html#howto>. 757ea0e1a9aSPaul Mundt 758ea0e1a9aSPaul Mundt If you don't know what to do here, say N. 759ea0e1a9aSPaul Mundt 760ea0e1a9aSPaul Mundtconfig NR_CPUS 761ea0e1a9aSPaul Mundt int "Maximum number of CPUs (2-32)" 762ea0e1a9aSPaul Mundt range 2 32 763ea0e1a9aSPaul Mundt depends on SMP 7642eb2a436SPaul Mundt default "4" if CPU_SUBTYPE_SHX3 765ea0e1a9aSPaul Mundt default "2" 766ea0e1a9aSPaul Mundt help 767ea0e1a9aSPaul Mundt This allows you to specify the maximum number of CPUs which this 768ea0e1a9aSPaul Mundt kernel will support. The maximum supported value is 32 and the 769ea0e1a9aSPaul Mundt minimum value which makes sense is 2. 770ea0e1a9aSPaul Mundt 771ea0e1a9aSPaul Mundt This is purely to save memory - each supported CPU adds 772ea0e1a9aSPaul Mundt approximately eight kilobytes to the kernel image. 773ea0e1a9aSPaul Mundt 774763142d1SPaul Mundtconfig HOTPLUG_CPU 775763142d1SPaul Mundt bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 7760d57af1eSKees Cook depends on SMP && HOTPLUG 777763142d1SPaul Mundt help 778763142d1SPaul Mundt Say Y here to experiment with turning CPUs off and on. CPUs 779763142d1SPaul Mundt can be controlled through /sys/devices/system/cpu. 780763142d1SPaul Mundt 781ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt" 782ea0e1a9aSPaul Mundt 783ea0e1a9aSPaul Mundtconfig GUSA 784ea0e1a9aSPaul Mundt def_bool y 7851efe4ce3SStuart Menefy depends on !SMP && SUPERH32 786ea0e1a9aSPaul Mundt help 787ea0e1a9aSPaul Mundt This enables support for gUSA (general UserSpace Atomicity). 788ea0e1a9aSPaul Mundt This is the default implementation for both UP and non-ll/sc 789ea0e1a9aSPaul Mundt CPUs, and is used by the libc, amongst others. 790ea0e1a9aSPaul Mundt 791ea0e1a9aSPaul Mundt For additional information, design information can be found 792ea0e1a9aSPaul Mundt in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>. 793ea0e1a9aSPaul Mundt 794ea0e1a9aSPaul Mundt This should only be disabled for special cases where alternate 795ea0e1a9aSPaul Mundt atomicity implementations exist. 796ea0e1a9aSPaul Mundt 7971efe4ce3SStuart Menefyconfig GUSA_RB 7981efe4ce3SStuart Menefy bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" 7991efe4ce3SStuart Menefy depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) 8001efe4ce3SStuart Menefy help 8011efe4ce3SStuart Menefy Enabling this option will allow the kernel to implement some 802692105b8SMatt LaPlante atomic operations using a software implementation of load-locked/ 8031efe4ce3SStuart Menefy store-conditional (LLSC). On machines which do not have hardware 8041efe4ce3SStuart Menefy LLSC, this should be more efficient than the other alternative of 805692105b8SMatt LaPlante disabling interrupts around the atomic sequence. 8061efe4ce3SStuart Menefy 80786c8c047SMatt Flemingconfig HW_PERF_EVENTS 80886c8c047SMatt Fleming bool "Enable hardware performance counter support for perf events" 80986c8c047SMatt Fleming depends on PERF_EVENTS && CPU_HAS_PMU 81086c8c047SMatt Fleming default y 81186c8c047SMatt Fleming help 81286c8c047SMatt Fleming Enable hardware performance counter support for perf events. If 81386c8c047SMatt Fleming disabled, perf events will use software events only. 81486c8c047SMatt Fleming 81543b8774dSPaul Mundtsource "drivers/sh/Kconfig" 81643b8774dSPaul Mundt 817ea0e1a9aSPaul Mundtendmenu 818ea0e1a9aSPaul Mundt 819ea0e1a9aSPaul Mundtmenu "Boot options" 820ea0e1a9aSPaul Mundt 821ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET 822b412a49aSPaul Mundt hex 823b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ 824b412a49aSPaul Mundt SH_7751_SOLUTION_ENGINE 825b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB || SH_SH03 826ea0e1a9aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 827ea0e1a9aSPaul Mundt default "0x00001000" 828ea0e1a9aSPaul Mundt help 829ea0e1a9aSPaul Mundt This sets the default offset of zero page. 830ea0e1a9aSPaul Mundt 831ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET 832b412a49aSPaul Mundt hex 833b412a49aSPaul Mundt default "0x00210000" if SH_SHMIN 834a2e76c80SPaul Mundt default "0x00400000" if SH_CAYMAN 835b412a49aSPaul Mundt default "0x00810000" if SH_7780_SOLUTION_ENGINE 836b412a49aSPaul Mundt default "0x009e0000" if SH_TITAN 837b412a49aSPaul Mundt default "0x01800000" if SH_SDK7780 838b412a49aSPaul Mundt default "0x02000000" if SH_EDOSK7760 839ea0e1a9aSPaul Mundt default "0x00800000" 840ea0e1a9aSPaul Mundt help 841ea0e1a9aSPaul Mundt This option allows you to set the link address offset of the zImage. 842ea0e1a9aSPaul Mundt This can be useful if you are on a board which has a small amount of 843ea0e1a9aSPaul Mundt memory. 844ea0e1a9aSPaul Mundt 845b412a49aSPaul Mundtconfig ENTRY_OFFSET 846b412a49aSPaul Mundt hex 847b412a49aSPaul Mundt default "0x00001000" if PAGE_SIZE_4KB 848b412a49aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 849b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB 850b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB 851b412a49aSPaul Mundt default "0x00000000" 852b412a49aSPaul Mundt 8534705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF 8544705b2e8SMagnus Damm bool "Include MMCIF loader in romImage (EXPERIMENTAL)" 8550d57af1eSKees Cook depends on CPU_SUBTYPE_SH7724 8564705b2e8SMagnus Damm help 8574705b2e8SMagnus Damm Say Y here to include experimental MMCIF loading code in 8584705b2e8SMagnus Damm romImage. With this enabled it is possible to write the romImage 8594705b2e8SMagnus Damm kernel image to an MMC card and boot the kernel straight from 8604705b2e8SMagnus Damm the reset vector. At reset the processor Mask ROM will load the 8614705b2e8SMagnus Damm first part of the romImage which in turn loads the rest the kernel 8624705b2e8SMagnus Damm image to RAM using the MMCIF hardware block. 8634705b2e8SMagnus Damm 864d724a9c9SPawel Mollchoice 865d724a9c9SPawel Moll prompt "Kernel command line" 866d724a9c9SPawel Moll optional 867d724a9c9SPawel Moll default CMDLINE_OVERWRITE 868d724a9c9SPawel Moll help 869d724a9c9SPawel Moll Setting this option allows the kernel command line arguments 870d724a9c9SPawel Moll to be set. 871d724a9c9SPawel Moll 872d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE 873d724a9c9SPawel Moll bool "Overwrite bootloader kernel arguments" 874d724a9c9SPawel Moll help 875d724a9c9SPawel Moll Given string will overwrite any arguments passed in by 876d724a9c9SPawel Moll a bootloader. 877d724a9c9SPawel Moll 878d724a9c9SPawel Mollconfig CMDLINE_EXTEND 879d724a9c9SPawel Moll bool "Extend bootloader kernel arguments" 880d724a9c9SPawel Moll help 881d724a9c9SPawel Moll Given string will be concatenated with arguments passed in 882d724a9c9SPawel Moll by a bootloader. 883d724a9c9SPawel Moll 884d724a9c9SPawel Mollendchoice 885ea0e1a9aSPaul Mundt 886ea0e1a9aSPaul Mundtconfig CMDLINE 887d724a9c9SPawel Moll string "Kernel command line arguments string" 888d724a9c9SPawel Moll depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND 889ea0e1a9aSPaul Mundt default "console=ttySC1,115200" 890ea0e1a9aSPaul Mundt 891ea0e1a9aSPaul Mundtendmenu 892ea0e1a9aSPaul Mundt 893ea0e1a9aSPaul Mundtmenu "Bus options" 894ea0e1a9aSPaul Mundt 895ea0e1a9aSPaul Mundtconfig SUPERHYWAY 896ea0e1a9aSPaul Mundt tristate "SuperHyway Bus support" 897ea0e1a9aSPaul Mundt depends on CPU_SUBTYPE_SH4_202 898ea0e1a9aSPaul Mundt 899ea0e1a9aSPaul Mundtconfig MAPLE 900ea0e1a9aSPaul Mundt bool "Maple Bus support" 901ea0e1a9aSPaul Mundt depends on SH_DREAMCAST 902ea0e1a9aSPaul Mundt help 903ea0e1a9aSPaul Mundt The Maple Bus is SEGA's serial communication bus for peripherals 904ea0e1a9aSPaul Mundt on the Dreamcast. Without this bus support you won't be able to 905ea0e1a9aSPaul Mundt get your Dreamcast keyboard etc to work, so most users 906ea0e1a9aSPaul Mundt probably want to say 'Y' here, unless you are only using the 907ea0e1a9aSPaul Mundt Dreamcast with a serial line terminal or a remote network 908ea0e1a9aSPaul Mundt connection. 909ea0e1a9aSPaul Mundt 9107693465dSPaul Mundtconfig PCI 9117693465dSPaul Mundt bool "PCI support" 9127693465dSPaul Mundt depends on SYS_SUPPORTS_PCI 913320e68daSPaul Mundt select PCI_DOMAINS 91443db595eSMichael S. Tsirkin select GENERIC_PCI_IOMAP 9151e05b62aSMichael S. Tsirkin select NO_GENERIC_PCI_IOPORT_MAP 9167693465dSPaul Mundt help 9177693465dSPaul Mundt Find out whether you have a PCI motherboard. PCI is the name of a 9187693465dSPaul Mundt bus system, i.e. the way the CPU talks to the other stuff inside 9197693465dSPaul Mundt your box. If you have PCI, say Y, otherwise N. 920ea0e1a9aSPaul Mundt 921320e68daSPaul Mundtconfig PCI_DOMAINS 922320e68daSPaul Mundt bool 923320e68daSPaul Mundt 924e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig" 925e16038abSPaul Mundt 926ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig" 927ea0e1a9aSPaul Mundt 928ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig" 929ea0e1a9aSPaul Mundt 930ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig" 931ea0e1a9aSPaul Mundt 932ea0e1a9aSPaul Mundtendmenu 933ea0e1a9aSPaul Mundt 934ea0e1a9aSPaul Mundtmenu "Executable file formats" 935ea0e1a9aSPaul Mundt 936ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt" 937ea0e1a9aSPaul Mundt 938ea0e1a9aSPaul Mundtendmenu 939ea0e1a9aSPaul Mundt 940ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)" 941f4cb5700SJohannes Berg 942c6f17cb2SMagnus Dammsource "kernel/power/Kconfig" 943c6f17cb2SMagnus Damm 944c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig" 945ea0e1a9aSPaul Mundt 946ea0e1a9aSPaul Mundtendmenu 947ea0e1a9aSPaul Mundt 948ea0e1a9aSPaul Mundtsource "net/Kconfig" 949ea0e1a9aSPaul Mundt 950ea0e1a9aSPaul Mundtsource "drivers/Kconfig" 951ea0e1a9aSPaul Mundt 952ea0e1a9aSPaul Mundtsource "fs/Kconfig" 953ea0e1a9aSPaul Mundt 954ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug" 955ea0e1a9aSPaul Mundt 956ea0e1a9aSPaul Mundtsource "security/Kconfig" 957ea0e1a9aSPaul Mundt 958ea0e1a9aSPaul Mundtsource "crypto/Kconfig" 959ea0e1a9aSPaul Mundt 960ea0e1a9aSPaul Mundtsource "lib/Kconfig" 961