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 41786d35d4SDavid Howells select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER 42786d35d4SDavid Howells select MODULES_USE_ELF_RELA 43ea0e1a9aSPaul Mundt help 44ea0e1a9aSPaul Mundt The SuperH is a RISC processor targeted for use in embedded systems 45ea0e1a9aSPaul Mundt and consumer electronics; it was also used in the Sega Dreamcast 46ea0e1a9aSPaul Mundt gaming console. The SuperH port has a home page at 47ea0e1a9aSPaul Mundt <http://www.linux-sh.org/>. 48ea0e1a9aSPaul Mundt 49ea0e1a9aSPaul Mundtconfig SUPERH32 503cc000b5SPaul Mundt def_bool ARCH = "sh" 51d39f5450SChris Smith select HAVE_KPROBES 52d39f5450SChris Smith select HAVE_KRETPROBES 536d63e73dSPaul Mundt select HAVE_IOREMAP_PROT if MMU && !X2TLB 54694f94f2SPaul Mundt select HAVE_FUNCTION_TRACER 55fad57febSMatt Fleming select HAVE_FTRACE_MCOUNT_RECORD 56fad57febSMatt Fleming select HAVE_DYNAMIC_FTRACE 57c1340c05SMatt Fleming select HAVE_FUNCTION_TRACE_MCOUNT_TEST 58e4b053d9SPaul Mundt select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE 59c1d7e01dSWill Deacon select ARCH_WANT_IPC_PARSE_VERSION 60327933f5SMatt Fleming select HAVE_FUNCTION_GRAPH_TRACER 61ab6e570bSPaul Mundt select HAVE_ARCH_KGDB 626fbfe8d7SPaul Mundt select HAVE_HW_BREAKPOINT 630102752eSFrederic Weisbecker select HAVE_MIXED_BREAKPOINTS_REGS 64e583d6b3SSam Ravnborg select PERF_EVENTS 658dafc346SPaul Mundt select ARCH_HIBERNATION_POSSIBLE if MMU 6657b81330SPaul Mundt select SPARSE_IRQ 67ea0e1a9aSPaul Mundt 68ea0e1a9aSPaul Mundtconfig SUPERH64 693cc000b5SPaul Mundt def_bool ARCH = "sh64" 703a898c0fSPaul Mundt select KALLSYMS 71ea0e1a9aSPaul Mundt 72f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG 73f42b7e3dSPaul Mundt string 74f42b7e3dSPaul Mundt default "arch/sh/configs/shx3_defconfig" if SUPERH32 75f42b7e3dSPaul Mundt default "arch/sh/configs/cayman_defconfig" if SUPERH64 76f42b7e3dSPaul Mundt 77ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK 78d7ef4fb3SHarvey Harrison def_bool y 79ea0e1a9aSPaul Mundt 80ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM 81ea0e1a9aSPaul Mundt bool 82ea0e1a9aSPaul Mundt 83ea0e1a9aSPaul Mundtconfig GENERIC_BUG 84ea0e1a9aSPaul Mundt def_bool y 85a82d53ecSPaul Mundt depends on BUG && SUPERH32 86ea0e1a9aSPaul Mundt 873767f3f1SPaul Mundtconfig GENERIC_CSUM 883767f3f1SPaul Mundt def_bool y 893767f3f1SPaul Mundt depends on SUPERH64 903767f3f1SPaul Mundt 91ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT 92d7ef4fb3SHarvey Harrison def_bool y 93ea0e1a9aSPaul Mundt 942eb2a436SPaul Mundtconfig IRQ_PER_CPU 952eb2a436SPaul Mundt def_bool y 962eb2a436SPaul 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 153ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS 154ea0e1a9aSPaul Mundt def_bool y 155ea0e1a9aSPaul Mundt 156e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE 157e869a90eSPaul Mundt def_bool y 158e869a90eSPaul Mundt 15986e4dd5aSPaul Mundtconfig NO_IOPORT 16037b7a978SPaul Mundt def_bool !PCI 161c30b9c43SPaul Mundt depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \ 162c30b9c43SPaul Mundt !SH_HP6XX && !SH_SOLUTION_ENGINE 16386e4dd5aSPaul Mundt 164e7cc9a73SMagnus Dammconfig IO_TRAPPED 165e7cc9a73SMagnus Damm bool 166e7cc9a73SMagnus Damm 167b7e68d68SPaul Mundtconfig SWAP_IO_SPACE 168b7e68d68SPaul Mundt bool 169b7e68d68SPaul Mundt 17001be5d63SPaul Mundtconfig DMA_COHERENT 17101be5d63SPaul Mundt bool 17201be5d63SPaul Mundt 17301be5d63SPaul Mundtconfig DMA_NONCOHERENT 17401be5d63SPaul Mundt def_bool !DMA_COHERENT 17501be5d63SPaul Mundt 1765cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE 1775cabbb62SFUJITA Tomonori def_bool DMA_NONCOHERENT 1785cabbb62SFUJITA Tomonori 17918e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH 18018e98307SFUJITA Tomonori def_bool y 18118e98307SFUJITA Tomonori 182ea0e1a9aSPaul Mundtsource "init/Kconfig" 183ea0e1a9aSPaul Mundt 184dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer" 185dc52ddc0SMatt Helsley 186ea0e1a9aSPaul Mundtmenu "System type" 187ea0e1a9aSPaul Mundt 188ea0e1a9aSPaul Mundt# 189ea0e1a9aSPaul Mundt# Processor families 190ea0e1a9aSPaul Mundt# 191ea0e1a9aSPaul Mundtconfig CPU_SH2 192ea0e1a9aSPaul Mundt bool 193ea0e1a9aSPaul Mundt 194ea0e1a9aSPaul Mundtconfig CPU_SH2A 195ea0e1a9aSPaul Mundt bool 196ea0e1a9aSPaul Mundt select CPU_SH2 197e2fcf74fSPaul Mundt select UNCACHED_MAPPING 198ea0e1a9aSPaul Mundt 199ea0e1a9aSPaul Mundtconfig CPU_SH3 200ea0e1a9aSPaul Mundt bool 201ea0e1a9aSPaul Mundt select CPU_HAS_INTEVT 202ea0e1a9aSPaul Mundt select CPU_HAS_SR_RB 2034fa48e17SPaul Mundt select SYS_SUPPORTS_TMU 204ea0e1a9aSPaul Mundt 205ea0e1a9aSPaul Mundtconfig CPU_SH4 206ea0e1a9aSPaul Mundt bool 207ea0e1a9aSPaul Mundt select CPU_HAS_INTEVT 208ea0e1a9aSPaul Mundt select CPU_HAS_SR_RB 209ea0e1a9aSPaul Mundt select CPU_HAS_FPU if !CPU_SH4AL_DSP 2104fa48e17SPaul Mundt select SYS_SUPPORTS_TMU 211ffb4a73dSPaul Mundt select SYS_SUPPORTS_HUGETLBFS if MMU 212ea0e1a9aSPaul Mundt 213ea0e1a9aSPaul Mundtconfig CPU_SH4A 214ea0e1a9aSPaul Mundt bool 215ea0e1a9aSPaul Mundt select CPU_SH4 216ea0e1a9aSPaul Mundt 217ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP 218ea0e1a9aSPaul Mundt bool 219ea0e1a9aSPaul Mundt select CPU_SH4A 220ea0e1a9aSPaul Mundt select CPU_HAS_DSP 221ea0e1a9aSPaul Mundt 222ea0e1a9aSPaul Mundtconfig CPU_SH5 223ea0e1a9aSPaul Mundt bool 224ea0e1a9aSPaul Mundt select CPU_HAS_FPU 225add47067SPaul Mundt select SYS_SUPPORTS_TMU 226ffb4a73dSPaul Mundt select SYS_SUPPORTS_HUGETLBFS if MMU 227ea0e1a9aSPaul Mundt 228ea0e1a9aSPaul Mundtconfig CPU_SHX2 229ea0e1a9aSPaul Mundt bool 230ea0e1a9aSPaul Mundt 231ea0e1a9aSPaul Mundtconfig CPU_SHX3 232ea0e1a9aSPaul Mundt bool 23301be5d63SPaul Mundt select DMA_COHERENT 2344b478ee2SPaul Mundt select SYS_SUPPORTS_SMP 2354b478ee2SPaul Mundt select SYS_SUPPORTS_NUMA 236ea0e1a9aSPaul Mundt 237dc65a977SPaul Mundtconfig ARCH_SHMOBILE 238dc65a977SPaul Mundt bool 23977594912SMagnus Damm select ARCH_SUSPEND_POSSIBLE 240ac2c596bSMagnus Damm select PM 241ac2c596bSMagnus Damm select PM_RUNTIME 242dc65a977SPaul Mundt 24386c8c047SMatt Flemingconfig CPU_HAS_PMU 24486c8c047SMatt Fleming depends on CPU_SH4 || CPU_SH4A 24586c8c047SMatt Fleming default y 24686c8c047SMatt Fleming bool 24786c8c047SMatt Fleming 2483cc000b5SPaul Mundtif SUPERH32 2493cc000b5SPaul Mundt 250ea0e1a9aSPaul Mundtchoice 251ea0e1a9aSPaul Mundt prompt "Processor sub-type selection" 252ea0e1a9aSPaul Mundt 253ea0e1a9aSPaul Mundt# 254ea0e1a9aSPaul Mundt# Processor subtypes 255ea0e1a9aSPaul Mundt# 256ea0e1a9aSPaul Mundt 257ea0e1a9aSPaul Mundt# SH-2 Processor Support 258ea0e1a9aSPaul Mundt 259ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619 260ea0e1a9aSPaul Mundt bool "Support SH7619 processor" 261ea0e1a9aSPaul Mundt select CPU_SH2 262f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 263ea0e1a9aSPaul Mundt 264ea0e1a9aSPaul Mundt# SH-2A Processor Support 265ea0e1a9aSPaul Mundt 2662825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201 2672825999eSPeter Griffin bool "Support SH7201 processor" 2682825999eSPeter Griffin select CPU_SH2A 2692825999eSPeter Griffin select CPU_HAS_FPU 270da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 2712825999eSPeter Griffin 2726d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203 2736d01f510SPaul Mundt bool "Support SH7203 processor" 2746d01f510SPaul Mundt select CPU_SH2A 27574d99a5eSPaul Mundt select CPU_HAS_FPU 276f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 277da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 278f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 279b768ecbcSLaurent Pinchart select PINCTRL 2806d01f510SPaul Mundt 281ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206 282ea0e1a9aSPaul Mundt bool "Support SH7206 processor" 283ea0e1a9aSPaul Mundt select CPU_SH2A 284f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 285da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 286ea0e1a9aSPaul Mundt 287a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263 288a8f67f4bSPaul Mundt bool "Support SH7263 processor" 289a8f67f4bSPaul Mundt select CPU_SH2A 29074d99a5eSPaul Mundt select CPU_HAS_FPU 291f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 292da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 293a8f67f4bSPaul Mundt 29451ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264 29551ce3068SPhil Edworthy bool "Support SH7264 processor" 29651ce3068SPhil Edworthy select CPU_SH2A 29751ce3068SPhil Edworthy select CPU_HAS_FPU 29851ce3068SPhil Edworthy select SYS_SUPPORTS_CMT 29951ce3068SPhil Edworthy select SYS_SUPPORTS_MTU2 3005946e7bbSLaurent Pinchart select PINCTRL 30151ce3068SPhil Edworthy 3020b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269 3030b25b7c8SPhil Edworthy bool "Support SH7269 processor" 3040b25b7c8SPhil Edworthy select CPU_SH2A 3050b25b7c8SPhil Edworthy select CPU_HAS_FPU 3060b25b7c8SPhil Edworthy select SYS_SUPPORTS_CMT 3070b25b7c8SPhil Edworthy select SYS_SUPPORTS_MTU2 308fb872fccSLaurent Pinchart select PINCTRL 3090b25b7c8SPhil Edworthy 3102ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG 3112ad69908SPaul Mundt bool "Support MX-G processor" 3122ad69908SPaul Mundt select CPU_SH2A 313da107c6eSMagnus Damm select SYS_SUPPORTS_MTU2 3142ad69908SPaul Mundt help 3152ad69908SPaul Mundt Select MX-G if running on an R8A03022BG part. 3162ad69908SPaul Mundt 317ea0e1a9aSPaul Mundt# SH-3 Processor Support 318ea0e1a9aSPaul Mundt 319ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705 320ea0e1a9aSPaul Mundt bool "Support SH7705 processor" 321ea0e1a9aSPaul Mundt select CPU_SH3 322ea0e1a9aSPaul Mundt 323ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706 324ea0e1a9aSPaul Mundt bool "Support SH7706 processor" 325ea0e1a9aSPaul Mundt select CPU_SH3 326ea0e1a9aSPaul Mundt help 327ea0e1a9aSPaul Mundt Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU. 328ea0e1a9aSPaul Mundt 329ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707 330ea0e1a9aSPaul Mundt bool "Support SH7707 processor" 331ea0e1a9aSPaul Mundt select CPU_SH3 332ea0e1a9aSPaul Mundt help 333ea0e1a9aSPaul Mundt Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. 334ea0e1a9aSPaul Mundt 335ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708 336ea0e1a9aSPaul Mundt bool "Support SH7708 processor" 337ea0e1a9aSPaul Mundt select CPU_SH3 338ea0e1a9aSPaul Mundt help 339ea0e1a9aSPaul Mundt Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or 340ea0e1a9aSPaul Mundt if you have a 100 Mhz SH-3 HD6417708R CPU. 341ea0e1a9aSPaul Mundt 342ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709 343ea0e1a9aSPaul Mundt bool "Support SH7709 processor" 344ea0e1a9aSPaul Mundt select CPU_SH3 345ea0e1a9aSPaul Mundt help 346ea0e1a9aSPaul Mundt Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. 347ea0e1a9aSPaul Mundt 348ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710 349ea0e1a9aSPaul Mundt bool "Support SH7710 processor" 350ea0e1a9aSPaul Mundt select CPU_SH3 351ea0e1a9aSPaul Mundt select CPU_HAS_DSP 352ea0e1a9aSPaul Mundt help 353ea0e1a9aSPaul Mundt Select SH7710 if you have a SH3-DSP SH7710 CPU. 354ea0e1a9aSPaul Mundt 355ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712 356ea0e1a9aSPaul Mundt bool "Support SH7712 processor" 357ea0e1a9aSPaul Mundt select CPU_SH3 358ea0e1a9aSPaul Mundt select CPU_HAS_DSP 359ea0e1a9aSPaul Mundt help 360ea0e1a9aSPaul Mundt Select SH7712 if you have a SH3-DSP SH7712 CPU. 361ea0e1a9aSPaul Mundt 362ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720 363ea0e1a9aSPaul Mundt bool "Support SH7720 processor" 364ea0e1a9aSPaul Mundt select CPU_SH3 365ea0e1a9aSPaul Mundt select CPU_HAS_DSP 3662b23a882SMagnus Damm select SYS_SUPPORTS_CMT 367f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 368e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3697b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 37085db6bffSLaurent Pinchart select PINCTRL 371ea0e1a9aSPaul Mundt help 372ea0e1a9aSPaul Mundt Select SH7720 if you have a SH3-DSP SH7720 CPU. 373ea0e1a9aSPaul Mundt 37431a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721 37531a49c4bSYoshihiro Shimoda bool "Support SH7721 processor" 37631a49c4bSYoshihiro Shimoda select CPU_SH3 37731a49c4bSYoshihiro Shimoda select CPU_HAS_DSP 3782b23a882SMagnus Damm select SYS_SUPPORTS_CMT 379e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3807b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 38131a49c4bSYoshihiro Shimoda help 38231a49c4bSYoshihiro Shimoda Select SH7721 if you have a SH3-DSP SH7721 CPU. 38331a49c4bSYoshihiro Shimoda 384ea0e1a9aSPaul Mundt# SH-4 Processor Support 385ea0e1a9aSPaul Mundt 386ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750 387ea0e1a9aSPaul Mundt bool "Support SH7750 processor" 388ea0e1a9aSPaul Mundt select CPU_SH4 389ea0e1a9aSPaul Mundt help 390ea0e1a9aSPaul Mundt Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. 391ea0e1a9aSPaul Mundt 392ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091 393ea0e1a9aSPaul Mundt bool "Support SH7091 processor" 394ea0e1a9aSPaul Mundt select CPU_SH4 395ea0e1a9aSPaul Mundt help 396ea0e1a9aSPaul Mundt Select SH7091 if you have an SH-4 based Sega device (such as 397ea0e1a9aSPaul Mundt the Dreamcast, Naomi, and Naomi 2). 398ea0e1a9aSPaul Mundt 399ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R 400ea0e1a9aSPaul Mundt bool "Support SH7750R processor" 401ea0e1a9aSPaul Mundt select CPU_SH4 402ea0e1a9aSPaul Mundt 403ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S 404ea0e1a9aSPaul Mundt bool "Support SH7750S processor" 405ea0e1a9aSPaul Mundt select CPU_SH4 406ea0e1a9aSPaul Mundt 407ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751 408ea0e1a9aSPaul Mundt bool "Support SH7751 processor" 409ea0e1a9aSPaul Mundt select CPU_SH4 410ea0e1a9aSPaul Mundt help 411ea0e1a9aSPaul Mundt Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, 412ea0e1a9aSPaul Mundt or if you have a HD6417751R CPU. 413ea0e1a9aSPaul Mundt 414ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R 415ea0e1a9aSPaul Mundt bool "Support SH7751R processor" 416ea0e1a9aSPaul Mundt select CPU_SH4 417ea0e1a9aSPaul Mundt 418ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760 419ea0e1a9aSPaul Mundt bool "Support SH7760 processor" 420ea0e1a9aSPaul Mundt select CPU_SH4 421ea0e1a9aSPaul Mundt 422ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202 423ea0e1a9aSPaul Mundt bool "Support SH4-202 processor" 424ea0e1a9aSPaul Mundt select CPU_SH4 425ea0e1a9aSPaul Mundt 426ea0e1a9aSPaul Mundt# SH-4A Processor Support 427ea0e1a9aSPaul Mundt 428178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723 429178dd0cdSPaul Mundt bool "Support SH7723 processor" 430178dd0cdSPaul Mundt select CPU_SH4A 431178dd0cdSPaul Mundt select CPU_SHX2 432dc65a977SPaul Mundt select ARCH_SHMOBILE 433178dd0cdSPaul Mundt select ARCH_SPARSEMEM_ENABLE 434f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 435f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 436178dd0cdSPaul Mundt help 437178dd0cdSPaul Mundt Select SH7723 if you have an SH-MobileR2 CPU. 438178dd0cdSPaul Mundt 4390207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724 4400207a2efSKuninori Morimoto bool "Support SH7724 processor" 4410207a2efSKuninori Morimoto select CPU_SH4A 4420207a2efSKuninori Morimoto select CPU_SHX2 44359fe700dSPaul Mundt select ARCH_SHMOBILE 4440207a2efSKuninori Morimoto select ARCH_SPARSEMEM_ENABLE 4450207a2efSKuninori Morimoto select SYS_SUPPORTS_CMT 446f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 4470207a2efSKuninori Morimoto help 4480207a2efSKuninori Morimoto Select SH7724 if you have an SH-MobileR2R CPU. 4490207a2efSKuninori Morimoto 450fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734 451fea88a0cSNobuhiro Iwamatsu bool "Support SH7734 processor" 452fea88a0cSNobuhiro Iwamatsu select CPU_SH4A 453fea88a0cSNobuhiro Iwamatsu select CPU_SHX2 454fea88a0cSNobuhiro Iwamatsu select ARCH_WANT_OPTIONAL_GPIOLIB 455fea88a0cSNobuhiro Iwamatsu select USB_ARCH_HAS_OHCI 456fea88a0cSNobuhiro Iwamatsu select USB_ARCH_HAS_EHCI 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 467c01f0f1aSYoshihiro Shimoda help 468c01f0f1aSYoshihiro Shimoda Select SH7757 if you have a SH4A SH7757 CPU. 469c01f0f1aSYoshihiro Shimoda 4707d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763 4717d740a06SYoshihiro Shimoda bool "Support SH7763 processor" 4727d740a06SYoshihiro Shimoda select CPU_SH4A 473e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 4747b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 4757d740a06SYoshihiro Shimoda help 4767d740a06SYoshihiro Shimoda Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. 4777d740a06SYoshihiro Shimoda 478ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770 479ea0e1a9aSPaul Mundt bool "Support SH7770 processor" 480ea0e1a9aSPaul Mundt select CPU_SH4A 481ea0e1a9aSPaul Mundt 482ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780 483ea0e1a9aSPaul Mundt bool "Support SH7780 processor" 484ea0e1a9aSPaul Mundt select CPU_SH4A 485ea0e1a9aSPaul Mundt 486ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785 487ea0e1a9aSPaul Mundt bool "Support SH7785 processor" 488ea0e1a9aSPaul Mundt select CPU_SH4A 489ea0e1a9aSPaul Mundt select CPU_SHX2 490ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 491ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 492f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 493ea0e1a9aSPaul Mundt 49455ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786 49555ba99ebSKuninori Morimoto bool "Support SH7786 processor" 49655ba99ebSKuninori Morimoto select CPU_SH4A 49737042fbdSPaul Mundt select CPU_SHX3 4988263a67eSPaul Mundt select CPU_HAS_PTEAEX 4992eb2a436SPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 500f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 501e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 5027b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 503e3e9887eSPaul Mundt select USB_ARCH_HAS_EHCI 5047b61ca5dSPaul Mundt select USB_EHCI_SH if USB_EHCI_HCD 50555ba99ebSKuninori Morimoto 506ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3 507ea0e1a9aSPaul Mundt bool "Support SH-X3 processor" 508ea0e1a9aSPaul Mundt select CPU_SH4A 509ea0e1a9aSPaul Mundt select CPU_SHX3 5105840263eSPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 511742759eaSPaul Mundt select ARCH_REQUIRE_GPIOLIB 512ea0e1a9aSPaul Mundt 513ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support 514ea0e1a9aSPaul Mundt 515ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343 516ea0e1a9aSPaul Mundt bool "Support SH7343 processor" 517ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 518dc65a977SPaul Mundt select ARCH_SHMOBILE 519f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 520ea0e1a9aSPaul Mundt 521ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722 522ea0e1a9aSPaul Mundt bool "Support SH7722 processor" 523ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 524ea0e1a9aSPaul Mundt select CPU_SHX2 525dc65a977SPaul Mundt select ARCH_SHMOBILE 526ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 527ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 528f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 529f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 530ef97c3c1SLaurent Pinchart select PINCTRL 531ea0e1a9aSPaul Mundt 5329109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366 5339109a30eSMagnus Damm bool "Support SH7366 processor" 5349109a30eSMagnus Damm select CPU_SH4AL_DSP 5359109a30eSMagnus Damm select CPU_SHX2 536dc65a977SPaul Mundt select ARCH_SHMOBILE 5379109a30eSMagnus Damm select ARCH_SPARSEMEM_ENABLE 5389109a30eSMagnus Damm select SYS_SUPPORTS_NUMA 539f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 5409109a30eSMagnus Damm 5413cc000b5SPaul Mundtendchoice 5423cc000b5SPaul Mundt 5433cc000b5SPaul Mundtendif 5443cc000b5SPaul Mundt 5453cc000b5SPaul Mundtif SUPERH64 5463cc000b5SPaul Mundt 5473cc000b5SPaul Mundtchoice 5483cc000b5SPaul Mundt prompt "Processor sub-type selection" 5493cc000b5SPaul Mundt 550ea0e1a9aSPaul Mundt# SH-5 Processor Support 551ea0e1a9aSPaul Mundt 552ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101 553ea0e1a9aSPaul Mundt bool "Support SH5-101 processor" 554ea0e1a9aSPaul Mundt select CPU_SH5 555ea0e1a9aSPaul Mundt 556ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103 557ea0e1a9aSPaul Mundt bool "Support SH5-103 processor" 5588ef97dd7SPaul Mundt select CPU_SH5 559ea0e1a9aSPaul Mundt 560ea0e1a9aSPaul Mundtendchoice 561ea0e1a9aSPaul Mundt 5623cc000b5SPaul Mundtendif 5633cc000b5SPaul Mundt 564ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig" 565939a24a6SPaul Mundt 566ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu" 567ea0e1a9aSPaul Mundt 568939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig" 569ea0e1a9aSPaul Mundt 570ea0e1a9aSPaul Mundtmenu "Timer and clock configuration" 571ea0e1a9aSPaul Mundt 5729570ef20SMagnus Dammconfig SH_TIMER_TMU 5739570ef20SMagnus Damm bool "TMU timer driver" 574f19900b2SMagnus Damm depends on SYS_SUPPORTS_TMU 5759570ef20SMagnus Damm default y 5769570ef20SMagnus Damm help 5779570ef20SMagnus Damm This enables the build of the TMU timer driver. 5789570ef20SMagnus Damm 579f5ad881bSPaul Mundtconfig SH_TIMER_CMT 580f425752fSMagnus Damm bool "CMT timer driver" 581f425752fSMagnus Damm depends on SYS_SUPPORTS_CMT 582f425752fSMagnus Damm default y 583f425752fSMagnus Damm help 584f425752fSMagnus Damm This enables build of the CMT timer driver. 585f5ad881bSPaul Mundt 586d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2 587d5ed4c2eSMagnus Damm bool "MTU2 timer driver" 5883280c886SMagnus Damm depends on SYS_SUPPORTS_MTU2 589d5ed4c2eSMagnus Damm default y 590d5ed4c2eSMagnus Damm help 591d5ed4c2eSMagnus Damm This enables build of the MTU2 timer driver. 592d5ed4c2eSMagnus Damm 593ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ 594ea0e1a9aSPaul Mundt int "Peripheral clock frequency (in Hz)" 5958152a74bSPaul Mundt depends on SH_CLK_CPG_LEGACY 596ea0e1a9aSPaul Mundt default "31250000" if CPU_SUBTYPE_SH7619 5978152a74bSPaul Mundt default "33333333" if CPU_SUBTYPE_SH7770 || \ 5988152a74bSPaul Mundt CPU_SUBTYPE_SH7760 || \ 5998152a74bSPaul Mundt CPU_SUBTYPE_SH7705 || \ 6008152a74bSPaul Mundt CPU_SUBTYPE_SH7203 || \ 6018152a74bSPaul Mundt CPU_SUBTYPE_SH7206 || \ 6028152a74bSPaul Mundt CPU_SUBTYPE_SH7263 || \ 60343a1839cSPaul Mundt CPU_SUBTYPE_MXG 604ea0e1a9aSPaul Mundt default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 605ea0e1a9aSPaul Mundt default "66000000" if CPU_SUBTYPE_SH4_202 606ea0e1a9aSPaul Mundt default "50000000" 607ea0e1a9aSPaul Mundt help 608ea0e1a9aSPaul Mundt This option is used to specify the peripheral clock frequency. 609ea0e1a9aSPaul Mundt This is necessary for determining the reference clock value on 610ea0e1a9aSPaul Mundt platforms lacking an RTC. 611ea0e1a9aSPaul Mundt 61236aa1e32SPaul Mundtconfig SH_CLK_CPG 61336aa1e32SPaul Mundt def_bool y 61436aa1e32SPaul Mundt 615253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY 61636aa1e32SPaul Mundt depends on SH_CLK_CPG 61743a1839cSPaul Mundt def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \ 61851ce3068SPhil Edworthy !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \ 619bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \ 620bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7269 621253b0887SPaul Mundt 622ea0e1a9aSPaul Mundtendmenu 623ea0e1a9aSPaul Mundt 624ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling" 625ea0e1a9aSPaul Mundt 626ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig" 627ea0e1a9aSPaul Mundt 628ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ 629ea0e1a9aSPaul Mundt tristate "SuperH CPU Frequency driver" 630ea0e1a9aSPaul Mundt depends on CPU_FREQ 631ea0e1a9aSPaul Mundt select CPU_FREQ_TABLE 632ea0e1a9aSPaul Mundt help 6338a655053SPaul Mundt This adds the cpufreq driver for SuperH. Any CPU that supports 6348a655053SPaul Mundt clock rate rounding through the clock framework can use this 6358a655053SPaul Mundt driver. While it will make the kernel slightly larger, this is 6368a655053SPaul Mundt harmless for CPUs that don't support rate rounding. The driver 6378a655053SPaul Mundt will also generate a notice in the boot log before disabling 6388a655053SPaul Mundt itself if the CPU in question is not capable of rate rounding. 639ea0e1a9aSPaul Mundt 640ea0e1a9aSPaul Mundt For details, take a look at <file:Documentation/cpu-freq>. 641ea0e1a9aSPaul Mundt 642ea0e1a9aSPaul Mundt If unsure, say N. 643ea0e1a9aSPaul Mundt 644ea0e1a9aSPaul Mundtendmenu 645ea0e1a9aSPaul Mundt 646ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig" 647ea0e1a9aSPaul Mundt 648ea0e1a9aSPaul Mundtendmenu 649ea0e1a9aSPaul Mundt 650ea0e1a9aSPaul Mundtmenu "Kernel features" 651ea0e1a9aSPaul Mundt 652ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz 653ea0e1a9aSPaul Mundt 654ea0e1a9aSPaul Mundtconfig KEXEC 655ea0e1a9aSPaul Mundt bool "kexec system call (EXPERIMENTAL)" 656f36b59d1SNobuhiro Iwamatsu depends on SUPERH32 && EXPERIMENTAL && MMU 657ea0e1a9aSPaul Mundt help 658ea0e1a9aSPaul Mundt kexec is a system call that implements the ability to shutdown your 659ea0e1a9aSPaul Mundt current kernel, and to start another kernel. It is like a reboot 660ea0e1a9aSPaul Mundt but it is independent of the system firmware. And like a reboot 661ea0e1a9aSPaul Mundt you can start any kernel with it, not just Linux. 662ea0e1a9aSPaul Mundt 663ea0e1a9aSPaul Mundt The name comes from the similarity to the exec system call. 664ea0e1a9aSPaul Mundt 665ea0e1a9aSPaul Mundt It is an ongoing process to be certain the hardware in a machine 666ea0e1a9aSPaul Mundt is properly shutdown, so do not be surprised if this code does not 667ea0e1a9aSPaul Mundt initially work for you. It may help to enable device hotplugging 668ea0e1a9aSPaul Mundt support. As of this writing the exact hardware interface is 669ea0e1a9aSPaul Mundt strongly in flux, so no good recommendation can be made. 670ea0e1a9aSPaul Mundt 671ea0e1a9aSPaul Mundtconfig CRASH_DUMP 672ea0e1a9aSPaul Mundt bool "kernel crash dumps (EXPERIMENTAL)" 673d523e1aeSPaul Mundt depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP 674ea0e1a9aSPaul Mundt help 675ea0e1a9aSPaul Mundt Generate crash dump after being started by kexec. 676ea0e1a9aSPaul Mundt This should be normally only set in special crash dump kernels 677ea0e1a9aSPaul Mundt which are loaded in the main kernel with kexec-tools into 678ea0e1a9aSPaul Mundt a specially reserved region and then later executed after 679ea0e1a9aSPaul Mundt a crash by kdump/kexec. The crash dump kernel must be compiled 680ea0e1a9aSPaul Mundt to a memory address not used by the main kernel using 681e66ac3f2SSimon Horman PHYSICAL_START. 682ea0e1a9aSPaul Mundt 683ea0e1a9aSPaul Mundt For more details see Documentation/kdump/kdump.txt 684ea0e1a9aSPaul Mundt 685b7cf6ddcSMagnus Dammconfig KEXEC_JUMP 686b7cf6ddcSMagnus Damm bool "kexec jump (EXPERIMENTAL)" 687b7cf6ddcSMagnus Damm depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL 688b7cf6ddcSMagnus Damm help 689b7cf6ddcSMagnus Damm Jump between original kernel and kexeced kernel and invoke 690b7cf6ddcSMagnus Damm code via KEXEC 691b7cf6ddcSMagnus Damm 692e66ac3f2SSimon Hormanconfig PHYSICAL_START 693e66ac3f2SSimon Horman hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) 694e66ac3f2SSimon Horman default MEMORY_START 695e66ac3f2SSimon Horman ---help--- 696e66ac3f2SSimon Horman This gives the physical address where the kernel is loaded 697e66ac3f2SSimon Horman and is ordinarily the same as MEMORY_START. 698e66ac3f2SSimon Horman 699e66ac3f2SSimon Horman Different values are primarily used in the case of kexec on panic 700e66ac3f2SSimon Horman where the fail safe kernel needs to run at a different address 701e66ac3f2SSimon Horman than the panic-ed kernel. 702e66ac3f2SSimon Horman 703c4637d47SPaul Mundtconfig SECCOMP 704c4637d47SPaul Mundt bool "Enable seccomp to safely compute untrusted bytecode" 705c4637d47SPaul Mundt depends on PROC_FS 706c4637d47SPaul Mundt help 707c4637d47SPaul Mundt This kernel feature is useful for number crunching applications 708c4637d47SPaul Mundt that may need to compute untrusted bytecode during their 709c4637d47SPaul Mundt execution. By using pipes or other transports made available to 710c4637d47SPaul Mundt the process as file descriptors supporting the read/write 711c4637d47SPaul Mundt syscalls, it's possible to isolate those applications in 712c4637d47SPaul Mundt their own address space using seccomp. Once seccomp is 713c4637d47SPaul Mundt enabled via prctl, it cannot be disabled and the task is only 714c4637d47SPaul Mundt allowed to execute a few safe syscalls defined by each seccomp 715c4637d47SPaul Mundt mode. 716c4637d47SPaul Mundt 717c4637d47SPaul Mundt If unsure, say N. 718c4637d47SPaul Mundt 7195d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR 7205d920bb9SFilippo Arcidiacono bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 7215d920bb9SFilippo Arcidiacono depends on SUPERH32 && EXPERIMENTAL 7225d920bb9SFilippo Arcidiacono help 7235d920bb9SFilippo Arcidiacono This option turns on the -fstack-protector GCC feature. This 7245d920bb9SFilippo Arcidiacono feature puts, at the beginning of functions, a canary value on 7255d920bb9SFilippo Arcidiacono the stack just before the return address, and validates 7265d920bb9SFilippo Arcidiacono the value just before actually returning. Stack based buffer 7275d920bb9SFilippo Arcidiacono overflows (that need to overwrite this return address) now also 7285d920bb9SFilippo Arcidiacono overwrite the canary, which gets detected and the attack is then 7295d920bb9SFilippo Arcidiacono neutralized via a kernel panic. 7305d920bb9SFilippo Arcidiacono 7315d920bb9SFilippo Arcidiacono This feature requires gcc version 4.2 or above. 7325d920bb9SFilippo Arcidiacono 733ea0e1a9aSPaul Mundtconfig SMP 734ea0e1a9aSPaul Mundt bool "Symmetric multi-processing support" 735ea0e1a9aSPaul Mundt depends on SYS_SUPPORTS_SMP 736490f5de5SJens Axboe select USE_GENERIC_SMP_HELPERS 737ea0e1a9aSPaul Mundt ---help--- 738ea0e1a9aSPaul Mundt This enables support for systems with more than one CPU. If you have 739ea0e1a9aSPaul Mundt a system with only one CPU, like most personal computers, say N. If 740ea0e1a9aSPaul Mundt you have a system with more than one CPU, say Y. 741ea0e1a9aSPaul Mundt 742ea0e1a9aSPaul Mundt If you say N here, the kernel will run on single and multiprocessor 743ea0e1a9aSPaul Mundt machines, but will use only one CPU of a multiprocessor machine. If 744ea0e1a9aSPaul Mundt you say Y here, the kernel will run on many, but not all, 745ea0e1a9aSPaul Mundt singleprocessor machines. On a singleprocessor machine, the kernel 746ea0e1a9aSPaul Mundt will run faster if you say N here. 747ea0e1a9aSPaul Mundt 748ea0e1a9aSPaul Mundt People using multiprocessor machines who say Y here should also say 749ea0e1a9aSPaul Mundt Y to "Enhanced Real Time Clock Support", below. 750ea0e1a9aSPaul Mundt 75103502faaSAdrian Bunk See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 75203502faaSAdrian Bunk available at <http://www.tldp.org/docs.html#howto>. 753ea0e1a9aSPaul Mundt 754ea0e1a9aSPaul Mundt If you don't know what to do here, say N. 755ea0e1a9aSPaul Mundt 756ea0e1a9aSPaul Mundtconfig NR_CPUS 757ea0e1a9aSPaul Mundt int "Maximum number of CPUs (2-32)" 758ea0e1a9aSPaul Mundt range 2 32 759ea0e1a9aSPaul Mundt depends on SMP 7602eb2a436SPaul Mundt default "4" if CPU_SUBTYPE_SHX3 761ea0e1a9aSPaul Mundt default "2" 762ea0e1a9aSPaul Mundt help 763ea0e1a9aSPaul Mundt This allows you to specify the maximum number of CPUs which this 764ea0e1a9aSPaul Mundt kernel will support. The maximum supported value is 32 and the 765ea0e1a9aSPaul Mundt minimum value which makes sense is 2. 766ea0e1a9aSPaul Mundt 767ea0e1a9aSPaul Mundt This is purely to save memory - each supported CPU adds 768ea0e1a9aSPaul Mundt approximately eight kilobytes to the kernel image. 769ea0e1a9aSPaul Mundt 770763142d1SPaul Mundtconfig HOTPLUG_CPU 771763142d1SPaul Mundt bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 772763142d1SPaul Mundt depends on SMP && HOTPLUG && EXPERIMENTAL 773763142d1SPaul Mundt help 774763142d1SPaul Mundt Say Y here to experiment with turning CPUs off and on. CPUs 775763142d1SPaul Mundt can be controlled through /sys/devices/system/cpu. 776763142d1SPaul Mundt 777ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt" 778ea0e1a9aSPaul Mundt 779ea0e1a9aSPaul Mundtconfig GUSA 780ea0e1a9aSPaul Mundt def_bool y 7811efe4ce3SStuart Menefy depends on !SMP && SUPERH32 782ea0e1a9aSPaul Mundt help 783ea0e1a9aSPaul Mundt This enables support for gUSA (general UserSpace Atomicity). 784ea0e1a9aSPaul Mundt This is the default implementation for both UP and non-ll/sc 785ea0e1a9aSPaul Mundt CPUs, and is used by the libc, amongst others. 786ea0e1a9aSPaul Mundt 787ea0e1a9aSPaul Mundt For additional information, design information can be found 788ea0e1a9aSPaul Mundt in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>. 789ea0e1a9aSPaul Mundt 790ea0e1a9aSPaul Mundt This should only be disabled for special cases where alternate 791ea0e1a9aSPaul Mundt atomicity implementations exist. 792ea0e1a9aSPaul Mundt 7931efe4ce3SStuart Menefyconfig GUSA_RB 7941efe4ce3SStuart Menefy bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" 7951efe4ce3SStuart Menefy depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) 7961efe4ce3SStuart Menefy help 7971efe4ce3SStuart Menefy Enabling this option will allow the kernel to implement some 798692105b8SMatt LaPlante atomic operations using a software implementation of load-locked/ 7991efe4ce3SStuart Menefy store-conditional (LLSC). On machines which do not have hardware 8001efe4ce3SStuart Menefy LLSC, this should be more efficient than the other alternative of 801692105b8SMatt LaPlante disabling interrupts around the atomic sequence. 8021efe4ce3SStuart Menefy 80386c8c047SMatt Flemingconfig HW_PERF_EVENTS 80486c8c047SMatt Fleming bool "Enable hardware performance counter support for perf events" 80586c8c047SMatt Fleming depends on PERF_EVENTS && CPU_HAS_PMU 80686c8c047SMatt Fleming default y 80786c8c047SMatt Fleming help 80886c8c047SMatt Fleming Enable hardware performance counter support for perf events. If 80986c8c047SMatt Fleming disabled, perf events will use software events only. 81086c8c047SMatt Fleming 81143b8774dSPaul Mundtsource "drivers/sh/Kconfig" 81243b8774dSPaul Mundt 813ea0e1a9aSPaul Mundtendmenu 814ea0e1a9aSPaul Mundt 815ea0e1a9aSPaul Mundtmenu "Boot options" 816ea0e1a9aSPaul Mundt 817ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET 818b412a49aSPaul Mundt hex 819b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ 820b412a49aSPaul Mundt SH_7751_SOLUTION_ENGINE 821b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB || SH_SH03 822ea0e1a9aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 823ea0e1a9aSPaul Mundt default "0x00001000" 824ea0e1a9aSPaul Mundt help 825ea0e1a9aSPaul Mundt This sets the default offset of zero page. 826ea0e1a9aSPaul Mundt 827ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET 828b412a49aSPaul Mundt hex 829b412a49aSPaul Mundt default "0x00210000" if SH_SHMIN 830a2e76c80SPaul Mundt default "0x00400000" if SH_CAYMAN 831b412a49aSPaul Mundt default "0x00810000" if SH_7780_SOLUTION_ENGINE 832b412a49aSPaul Mundt default "0x009e0000" if SH_TITAN 833b412a49aSPaul Mundt default "0x01800000" if SH_SDK7780 834b412a49aSPaul Mundt default "0x02000000" if SH_EDOSK7760 835ea0e1a9aSPaul Mundt default "0x00800000" 836ea0e1a9aSPaul Mundt help 837ea0e1a9aSPaul Mundt This option allows you to set the link address offset of the zImage. 838ea0e1a9aSPaul Mundt This can be useful if you are on a board which has a small amount of 839ea0e1a9aSPaul Mundt memory. 840ea0e1a9aSPaul Mundt 841b412a49aSPaul Mundtconfig ENTRY_OFFSET 842b412a49aSPaul Mundt hex 843b412a49aSPaul Mundt default "0x00001000" if PAGE_SIZE_4KB 844b412a49aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 845b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB 846b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB 847b412a49aSPaul Mundt default "0x00000000" 848b412a49aSPaul Mundt 8494705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF 8504705b2e8SMagnus Damm bool "Include MMCIF loader in romImage (EXPERIMENTAL)" 8514705b2e8SMagnus Damm depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL 8524705b2e8SMagnus Damm help 8534705b2e8SMagnus Damm Say Y here to include experimental MMCIF loading code in 8544705b2e8SMagnus Damm romImage. With this enabled it is possible to write the romImage 8554705b2e8SMagnus Damm kernel image to an MMC card and boot the kernel straight from 8564705b2e8SMagnus Damm the reset vector. At reset the processor Mask ROM will load the 8574705b2e8SMagnus Damm first part of the romImage which in turn loads the rest the kernel 8584705b2e8SMagnus Damm image to RAM using the MMCIF hardware block. 8594705b2e8SMagnus Damm 860d724a9c9SPawel Mollchoice 861d724a9c9SPawel Moll prompt "Kernel command line" 862d724a9c9SPawel Moll optional 863d724a9c9SPawel Moll default CMDLINE_OVERWRITE 864d724a9c9SPawel Moll help 865d724a9c9SPawel Moll Setting this option allows the kernel command line arguments 866d724a9c9SPawel Moll to be set. 867d724a9c9SPawel Moll 868d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE 869d724a9c9SPawel Moll bool "Overwrite bootloader kernel arguments" 870d724a9c9SPawel Moll help 871d724a9c9SPawel Moll Given string will overwrite any arguments passed in by 872d724a9c9SPawel Moll a bootloader. 873d724a9c9SPawel Moll 874d724a9c9SPawel Mollconfig CMDLINE_EXTEND 875d724a9c9SPawel Moll bool "Extend bootloader kernel arguments" 876d724a9c9SPawel Moll help 877d724a9c9SPawel Moll Given string will be concatenated with arguments passed in 878d724a9c9SPawel Moll by a bootloader. 879d724a9c9SPawel Moll 880d724a9c9SPawel Mollendchoice 881ea0e1a9aSPaul Mundt 882ea0e1a9aSPaul Mundtconfig CMDLINE 883d724a9c9SPawel Moll string "Kernel command line arguments string" 884d724a9c9SPawel Moll depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND 885ea0e1a9aSPaul Mundt default "console=ttySC1,115200" 886ea0e1a9aSPaul Mundt 887ea0e1a9aSPaul Mundtendmenu 888ea0e1a9aSPaul Mundt 889ea0e1a9aSPaul Mundtmenu "Bus options" 890ea0e1a9aSPaul Mundt 891ea0e1a9aSPaul Mundtconfig SUPERHYWAY 892ea0e1a9aSPaul Mundt tristate "SuperHyway Bus support" 893ea0e1a9aSPaul Mundt depends on CPU_SUBTYPE_SH4_202 894ea0e1a9aSPaul Mundt 895ea0e1a9aSPaul Mundtconfig MAPLE 896ea0e1a9aSPaul Mundt bool "Maple Bus support" 897ea0e1a9aSPaul Mundt depends on SH_DREAMCAST 898ea0e1a9aSPaul Mundt help 899ea0e1a9aSPaul Mundt The Maple Bus is SEGA's serial communication bus for peripherals 900ea0e1a9aSPaul Mundt on the Dreamcast. Without this bus support you won't be able to 901ea0e1a9aSPaul Mundt get your Dreamcast keyboard etc to work, so most users 902ea0e1a9aSPaul Mundt probably want to say 'Y' here, unless you are only using the 903ea0e1a9aSPaul Mundt Dreamcast with a serial line terminal or a remote network 904ea0e1a9aSPaul Mundt connection. 905ea0e1a9aSPaul Mundt 9067693465dSPaul Mundtconfig PCI 9077693465dSPaul Mundt bool "PCI support" 9087693465dSPaul Mundt depends on SYS_SUPPORTS_PCI 909320e68daSPaul Mundt select PCI_DOMAINS 91043db595eSMichael S. Tsirkin select GENERIC_PCI_IOMAP 9111e05b62aSMichael S. Tsirkin select NO_GENERIC_PCI_IOPORT_MAP 9127693465dSPaul Mundt help 9137693465dSPaul Mundt Find out whether you have a PCI motherboard. PCI is the name of a 9147693465dSPaul Mundt bus system, i.e. the way the CPU talks to the other stuff inside 9157693465dSPaul Mundt your box. If you have PCI, say Y, otherwise N. 916ea0e1a9aSPaul Mundt 917320e68daSPaul Mundtconfig PCI_DOMAINS 918320e68daSPaul Mundt bool 919320e68daSPaul Mundt 920e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig" 921e16038abSPaul Mundt 922ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig" 923ea0e1a9aSPaul Mundt 924ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig" 925ea0e1a9aSPaul Mundt 926ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig" 927ea0e1a9aSPaul Mundt 928ea0e1a9aSPaul Mundtendmenu 929ea0e1a9aSPaul Mundt 930ea0e1a9aSPaul Mundtmenu "Executable file formats" 931ea0e1a9aSPaul Mundt 932ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt" 933ea0e1a9aSPaul Mundt 934ea0e1a9aSPaul Mundtendmenu 935ea0e1a9aSPaul Mundt 936ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)" 937af998a9aSMagnus Dammdepends on EXPERIMENTAL 938f4cb5700SJohannes Berg 939c6f17cb2SMagnus Dammsource "kernel/power/Kconfig" 940c6f17cb2SMagnus Damm 941c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig" 942ea0e1a9aSPaul Mundt 943ea0e1a9aSPaul Mundtendmenu 944ea0e1a9aSPaul Mundt 945ea0e1a9aSPaul Mundtsource "net/Kconfig" 946ea0e1a9aSPaul Mundt 947ea0e1a9aSPaul Mundtsource "drivers/Kconfig" 948ea0e1a9aSPaul Mundt 949ea0e1a9aSPaul Mundtsource "fs/Kconfig" 950ea0e1a9aSPaul Mundt 951ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug" 952ea0e1a9aSPaul Mundt 953ea0e1a9aSPaul Mundtsource "security/Kconfig" 954ea0e1a9aSPaul Mundt 955ea0e1a9aSPaul Mundtsource "crypto/Kconfig" 956ea0e1a9aSPaul Mundt 957ea0e1a9aSPaul Mundtsource "lib/Kconfig" 958