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 370ea0e1a9aSPaul Mundt help 371ea0e1a9aSPaul Mundt Select SH7720 if you have a SH3-DSP SH7720 CPU. 372ea0e1a9aSPaul Mundt 37331a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721 37431a49c4bSYoshihiro Shimoda bool "Support SH7721 processor" 37531a49c4bSYoshihiro Shimoda select CPU_SH3 37631a49c4bSYoshihiro Shimoda select CPU_HAS_DSP 3772b23a882SMagnus Damm select SYS_SUPPORTS_CMT 378e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 3797b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 38031a49c4bSYoshihiro Shimoda help 38131a49c4bSYoshihiro Shimoda Select SH7721 if you have a SH3-DSP SH7721 CPU. 38231a49c4bSYoshihiro Shimoda 383ea0e1a9aSPaul Mundt# SH-4 Processor Support 384ea0e1a9aSPaul Mundt 385ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750 386ea0e1a9aSPaul Mundt bool "Support SH7750 processor" 387ea0e1a9aSPaul Mundt select CPU_SH4 388ea0e1a9aSPaul Mundt help 389ea0e1a9aSPaul Mundt Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. 390ea0e1a9aSPaul Mundt 391ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091 392ea0e1a9aSPaul Mundt bool "Support SH7091 processor" 393ea0e1a9aSPaul Mundt select CPU_SH4 394ea0e1a9aSPaul Mundt help 395ea0e1a9aSPaul Mundt Select SH7091 if you have an SH-4 based Sega device (such as 396ea0e1a9aSPaul Mundt the Dreamcast, Naomi, and Naomi 2). 397ea0e1a9aSPaul Mundt 398ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R 399ea0e1a9aSPaul Mundt bool "Support SH7750R processor" 400ea0e1a9aSPaul Mundt select CPU_SH4 401ea0e1a9aSPaul Mundt 402ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S 403ea0e1a9aSPaul Mundt bool "Support SH7750S processor" 404ea0e1a9aSPaul Mundt select CPU_SH4 405ea0e1a9aSPaul Mundt 406ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751 407ea0e1a9aSPaul Mundt bool "Support SH7751 processor" 408ea0e1a9aSPaul Mundt select CPU_SH4 409ea0e1a9aSPaul Mundt help 410ea0e1a9aSPaul Mundt Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, 411ea0e1a9aSPaul Mundt or if you have a HD6417751R CPU. 412ea0e1a9aSPaul Mundt 413ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R 414ea0e1a9aSPaul Mundt bool "Support SH7751R processor" 415ea0e1a9aSPaul Mundt select CPU_SH4 416ea0e1a9aSPaul Mundt 417ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760 418ea0e1a9aSPaul Mundt bool "Support SH7760 processor" 419ea0e1a9aSPaul Mundt select CPU_SH4 420ea0e1a9aSPaul Mundt 421ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202 422ea0e1a9aSPaul Mundt bool "Support SH4-202 processor" 423ea0e1a9aSPaul Mundt select CPU_SH4 424ea0e1a9aSPaul Mundt 425ea0e1a9aSPaul Mundt# SH-4A Processor Support 426ea0e1a9aSPaul Mundt 427178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723 428178dd0cdSPaul Mundt bool "Support SH7723 processor" 429178dd0cdSPaul Mundt select CPU_SH4A 430178dd0cdSPaul Mundt select CPU_SHX2 431dc65a977SPaul Mundt select ARCH_SHMOBILE 432178dd0cdSPaul Mundt select ARCH_SPARSEMEM_ENABLE 433f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 434f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 435178dd0cdSPaul Mundt help 436178dd0cdSPaul Mundt Select SH7723 if you have an SH-MobileR2 CPU. 437178dd0cdSPaul Mundt 4380207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724 4390207a2efSKuninori Morimoto bool "Support SH7724 processor" 4400207a2efSKuninori Morimoto select CPU_SH4A 4410207a2efSKuninori Morimoto select CPU_SHX2 44259fe700dSPaul Mundt select ARCH_SHMOBILE 4430207a2efSKuninori Morimoto select ARCH_SPARSEMEM_ENABLE 4440207a2efSKuninori Morimoto select SYS_SUPPORTS_CMT 445f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 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 456fea88a0cSNobuhiro Iwamatsu help 457fea88a0cSNobuhiro Iwamatsu Select SH7734 if you have a SH4A SH7734 CPU. 458fea88a0cSNobuhiro Iwamatsu 459c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757 460c01f0f1aSYoshihiro Shimoda bool "Support SH7757 processor" 461c01f0f1aSYoshihiro Shimoda select CPU_SH4A 462c01f0f1aSYoshihiro Shimoda select CPU_SHX2 463f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 4640fe48601SYoshihiro Shimoda select USB_ARCH_HAS_OHCI 4650fe48601SYoshihiro Shimoda select USB_ARCH_HAS_EHCI 466c01f0f1aSYoshihiro Shimoda help 467c01f0f1aSYoshihiro Shimoda Select SH7757 if you have a SH4A SH7757 CPU. 468c01f0f1aSYoshihiro Shimoda 4697d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763 4707d740a06SYoshihiro Shimoda bool "Support SH7763 processor" 4717d740a06SYoshihiro Shimoda select CPU_SH4A 472e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 4737b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 4747d740a06SYoshihiro Shimoda help 4757d740a06SYoshihiro Shimoda Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. 4767d740a06SYoshihiro Shimoda 477ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770 478ea0e1a9aSPaul Mundt bool "Support SH7770 processor" 479ea0e1a9aSPaul Mundt select CPU_SH4A 480ea0e1a9aSPaul Mundt 481ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780 482ea0e1a9aSPaul Mundt bool "Support SH7780 processor" 483ea0e1a9aSPaul Mundt select CPU_SH4A 484ea0e1a9aSPaul Mundt 485ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785 486ea0e1a9aSPaul Mundt bool "Support SH7785 processor" 487ea0e1a9aSPaul Mundt select CPU_SH4A 488ea0e1a9aSPaul Mundt select CPU_SHX2 489ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 490ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 491f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 492ea0e1a9aSPaul Mundt 49355ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786 49455ba99ebSKuninori Morimoto bool "Support SH7786 processor" 49555ba99ebSKuninori Morimoto select CPU_SH4A 49637042fbdSPaul Mundt select CPU_SHX3 4978263a67eSPaul Mundt select CPU_HAS_PTEAEX 4982eb2a436SPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 499f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 500e3e9887eSPaul Mundt select USB_ARCH_HAS_OHCI 5017b61ca5dSPaul Mundt select USB_OHCI_SH if USB_OHCI_HCD 502e3e9887eSPaul Mundt select USB_ARCH_HAS_EHCI 5037b61ca5dSPaul Mundt select USB_EHCI_SH if USB_EHCI_HCD 50455ba99ebSKuninori Morimoto 505ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3 506ea0e1a9aSPaul Mundt bool "Support SH-X3 processor" 507ea0e1a9aSPaul Mundt select CPU_SH4A 508ea0e1a9aSPaul Mundt select CPU_SHX3 5095840263eSPaul Mundt select GENERIC_CLOCKEVENTS_BROADCAST if SMP 510742759eaSPaul Mundt select ARCH_REQUIRE_GPIOLIB 511ea0e1a9aSPaul Mundt 512ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support 513ea0e1a9aSPaul Mundt 514ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343 515ea0e1a9aSPaul Mundt bool "Support SH7343 processor" 516ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 517dc65a977SPaul Mundt select ARCH_SHMOBILE 518f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 519ea0e1a9aSPaul Mundt 520ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722 521ea0e1a9aSPaul Mundt bool "Support SH7722 processor" 522ea0e1a9aSPaul Mundt select CPU_SH4AL_DSP 523ea0e1a9aSPaul Mundt select CPU_SHX2 524dc65a977SPaul Mundt select ARCH_SHMOBILE 525ea0e1a9aSPaul Mundt select ARCH_SPARSEMEM_ENABLE 526ea0e1a9aSPaul Mundt select SYS_SUPPORTS_NUMA 527f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 528f020c92dSPaul Mundt select ARCH_WANT_OPTIONAL_GPIOLIB 529ea0e1a9aSPaul Mundt 5309109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366 5319109a30eSMagnus Damm bool "Support SH7366 processor" 5329109a30eSMagnus Damm select CPU_SH4AL_DSP 5339109a30eSMagnus Damm select CPU_SHX2 534dc65a977SPaul Mundt select ARCH_SHMOBILE 5359109a30eSMagnus Damm select ARCH_SPARSEMEM_ENABLE 5369109a30eSMagnus Damm select SYS_SUPPORTS_NUMA 537f5ad881bSPaul Mundt select SYS_SUPPORTS_CMT 5389109a30eSMagnus Damm 5393cc000b5SPaul Mundtendchoice 5403cc000b5SPaul Mundt 5413cc000b5SPaul Mundtendif 5423cc000b5SPaul Mundt 5433cc000b5SPaul Mundtif SUPERH64 5443cc000b5SPaul Mundt 5453cc000b5SPaul Mundtchoice 5463cc000b5SPaul Mundt prompt "Processor sub-type selection" 5473cc000b5SPaul Mundt 548ea0e1a9aSPaul Mundt# SH-5 Processor Support 549ea0e1a9aSPaul Mundt 550ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101 551ea0e1a9aSPaul Mundt bool "Support SH5-101 processor" 552ea0e1a9aSPaul Mundt select CPU_SH5 553ea0e1a9aSPaul Mundt 554ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103 555ea0e1a9aSPaul Mundt bool "Support SH5-103 processor" 5568ef97dd7SPaul Mundt select CPU_SH5 557ea0e1a9aSPaul Mundt 558ea0e1a9aSPaul Mundtendchoice 559ea0e1a9aSPaul Mundt 5603cc000b5SPaul Mundtendif 5613cc000b5SPaul Mundt 562ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig" 563939a24a6SPaul Mundt 564ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu" 565ea0e1a9aSPaul Mundt 566939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig" 567ea0e1a9aSPaul Mundt 568ea0e1a9aSPaul Mundtmenu "Timer and clock configuration" 569ea0e1a9aSPaul Mundt 5709570ef20SMagnus Dammconfig SH_TIMER_TMU 5719570ef20SMagnus Damm bool "TMU timer driver" 572f19900b2SMagnus Damm depends on SYS_SUPPORTS_TMU 5739570ef20SMagnus Damm default y 5749570ef20SMagnus Damm help 5759570ef20SMagnus Damm This enables the build of the TMU timer driver. 5769570ef20SMagnus Damm 577f5ad881bSPaul Mundtconfig SH_TIMER_CMT 578f425752fSMagnus Damm bool "CMT timer driver" 579f425752fSMagnus Damm depends on SYS_SUPPORTS_CMT 580f425752fSMagnus Damm default y 581f425752fSMagnus Damm help 582f425752fSMagnus Damm This enables build of the CMT timer driver. 583f5ad881bSPaul Mundt 584d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2 585d5ed4c2eSMagnus Damm bool "MTU2 timer driver" 5863280c886SMagnus Damm depends on SYS_SUPPORTS_MTU2 587d5ed4c2eSMagnus Damm default y 588d5ed4c2eSMagnus Damm help 589d5ed4c2eSMagnus Damm This enables build of the MTU2 timer driver. 590d5ed4c2eSMagnus Damm 591ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ 592ea0e1a9aSPaul Mundt int "Peripheral clock frequency (in Hz)" 5938152a74bSPaul Mundt depends on SH_CLK_CPG_LEGACY 594ea0e1a9aSPaul Mundt default "31250000" if CPU_SUBTYPE_SH7619 5958152a74bSPaul Mundt default "33333333" if CPU_SUBTYPE_SH7770 || \ 5968152a74bSPaul Mundt CPU_SUBTYPE_SH7760 || \ 5978152a74bSPaul Mundt CPU_SUBTYPE_SH7705 || \ 5988152a74bSPaul Mundt CPU_SUBTYPE_SH7203 || \ 5998152a74bSPaul Mundt CPU_SUBTYPE_SH7206 || \ 6008152a74bSPaul Mundt CPU_SUBTYPE_SH7263 || \ 60143a1839cSPaul Mundt CPU_SUBTYPE_MXG 602ea0e1a9aSPaul Mundt default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 603ea0e1a9aSPaul Mundt default "66000000" if CPU_SUBTYPE_SH4_202 604ea0e1a9aSPaul Mundt default "50000000" 605ea0e1a9aSPaul Mundt help 606ea0e1a9aSPaul Mundt This option is used to specify the peripheral clock frequency. 607ea0e1a9aSPaul Mundt This is necessary for determining the reference clock value on 608ea0e1a9aSPaul Mundt platforms lacking an RTC. 609ea0e1a9aSPaul Mundt 61036aa1e32SPaul Mundtconfig SH_CLK_CPG 61136aa1e32SPaul Mundt def_bool y 61236aa1e32SPaul Mundt 613253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY 61436aa1e32SPaul Mundt depends on SH_CLK_CPG 61543a1839cSPaul Mundt def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \ 61651ce3068SPhil Edworthy !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \ 617bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \ 618bcb86e0aSPaul Mundt !CPU_SUBTYPE_SH7269 619253b0887SPaul Mundt 620ea0e1a9aSPaul Mundtendmenu 621ea0e1a9aSPaul Mundt 622ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling" 623ea0e1a9aSPaul Mundt 624ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig" 625ea0e1a9aSPaul Mundt 626ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ 627ea0e1a9aSPaul Mundt tristate "SuperH CPU Frequency driver" 628ea0e1a9aSPaul Mundt depends on CPU_FREQ 629ea0e1a9aSPaul Mundt select CPU_FREQ_TABLE 630ea0e1a9aSPaul Mundt help 6318a655053SPaul Mundt This adds the cpufreq driver for SuperH. Any CPU that supports 6328a655053SPaul Mundt clock rate rounding through the clock framework can use this 6338a655053SPaul Mundt driver. While it will make the kernel slightly larger, this is 6348a655053SPaul Mundt harmless for CPUs that don't support rate rounding. The driver 6358a655053SPaul Mundt will also generate a notice in the boot log before disabling 6368a655053SPaul Mundt itself if the CPU in question is not capable of rate rounding. 637ea0e1a9aSPaul Mundt 638ea0e1a9aSPaul Mundt For details, take a look at <file:Documentation/cpu-freq>. 639ea0e1a9aSPaul Mundt 640ea0e1a9aSPaul Mundt If unsure, say N. 641ea0e1a9aSPaul Mundt 642ea0e1a9aSPaul Mundtendmenu 643ea0e1a9aSPaul Mundt 644ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig" 645ea0e1a9aSPaul Mundt 646ea0e1a9aSPaul Mundtendmenu 647ea0e1a9aSPaul Mundt 648ea0e1a9aSPaul Mundtmenu "Kernel features" 649ea0e1a9aSPaul Mundt 650ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz 651ea0e1a9aSPaul Mundt 652ea0e1a9aSPaul Mundtconfig KEXEC 653ea0e1a9aSPaul Mundt bool "kexec system call (EXPERIMENTAL)" 654f36b59d1SNobuhiro Iwamatsu depends on SUPERH32 && EXPERIMENTAL && MMU 655ea0e1a9aSPaul Mundt help 656ea0e1a9aSPaul Mundt kexec is a system call that implements the ability to shutdown your 657ea0e1a9aSPaul Mundt current kernel, and to start another kernel. It is like a reboot 658ea0e1a9aSPaul Mundt but it is independent of the system firmware. And like a reboot 659ea0e1a9aSPaul Mundt you can start any kernel with it, not just Linux. 660ea0e1a9aSPaul Mundt 661ea0e1a9aSPaul Mundt The name comes from the similarity to the exec system call. 662ea0e1a9aSPaul Mundt 663ea0e1a9aSPaul Mundt It is an ongoing process to be certain the hardware in a machine 664ea0e1a9aSPaul Mundt is properly shutdown, so do not be surprised if this code does not 665ea0e1a9aSPaul Mundt initially work for you. It may help to enable device hotplugging 666ea0e1a9aSPaul Mundt support. As of this writing the exact hardware interface is 667ea0e1a9aSPaul Mundt strongly in flux, so no good recommendation can be made. 668ea0e1a9aSPaul Mundt 669ea0e1a9aSPaul Mundtconfig CRASH_DUMP 670ea0e1a9aSPaul Mundt bool "kernel crash dumps (EXPERIMENTAL)" 671d523e1aeSPaul Mundt depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP 672ea0e1a9aSPaul Mundt help 673ea0e1a9aSPaul Mundt Generate crash dump after being started by kexec. 674ea0e1a9aSPaul Mundt This should be normally only set in special crash dump kernels 675ea0e1a9aSPaul Mundt which are loaded in the main kernel with kexec-tools into 676ea0e1a9aSPaul Mundt a specially reserved region and then later executed after 677ea0e1a9aSPaul Mundt a crash by kdump/kexec. The crash dump kernel must be compiled 678ea0e1a9aSPaul Mundt to a memory address not used by the main kernel using 679e66ac3f2SSimon Horman PHYSICAL_START. 680ea0e1a9aSPaul Mundt 681ea0e1a9aSPaul Mundt For more details see Documentation/kdump/kdump.txt 682ea0e1a9aSPaul Mundt 683b7cf6ddcSMagnus Dammconfig KEXEC_JUMP 684b7cf6ddcSMagnus Damm bool "kexec jump (EXPERIMENTAL)" 685b7cf6ddcSMagnus Damm depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL 686b7cf6ddcSMagnus Damm help 687b7cf6ddcSMagnus Damm Jump between original kernel and kexeced kernel and invoke 688b7cf6ddcSMagnus Damm code via KEXEC 689b7cf6ddcSMagnus Damm 690e66ac3f2SSimon Hormanconfig PHYSICAL_START 691e66ac3f2SSimon Horman hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) 692e66ac3f2SSimon Horman default MEMORY_START 693e66ac3f2SSimon Horman ---help--- 694e66ac3f2SSimon Horman This gives the physical address where the kernel is loaded 695e66ac3f2SSimon Horman and is ordinarily the same as MEMORY_START. 696e66ac3f2SSimon Horman 697e66ac3f2SSimon Horman Different values are primarily used in the case of kexec on panic 698e66ac3f2SSimon Horman where the fail safe kernel needs to run at a different address 699e66ac3f2SSimon Horman than the panic-ed kernel. 700e66ac3f2SSimon Horman 701c4637d47SPaul Mundtconfig SECCOMP 702c4637d47SPaul Mundt bool "Enable seccomp to safely compute untrusted bytecode" 703c4637d47SPaul Mundt depends on PROC_FS 704c4637d47SPaul Mundt help 705c4637d47SPaul Mundt This kernel feature is useful for number crunching applications 706c4637d47SPaul Mundt that may need to compute untrusted bytecode during their 707c4637d47SPaul Mundt execution. By using pipes or other transports made available to 708c4637d47SPaul Mundt the process as file descriptors supporting the read/write 709c4637d47SPaul Mundt syscalls, it's possible to isolate those applications in 710c4637d47SPaul Mundt their own address space using seccomp. Once seccomp is 711c4637d47SPaul Mundt enabled via prctl, it cannot be disabled and the task is only 712c4637d47SPaul Mundt allowed to execute a few safe syscalls defined by each seccomp 713c4637d47SPaul Mundt mode. 714c4637d47SPaul Mundt 715c4637d47SPaul Mundt If unsure, say N. 716c4637d47SPaul Mundt 7175d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR 7185d920bb9SFilippo Arcidiacono bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 7195d920bb9SFilippo Arcidiacono depends on SUPERH32 && EXPERIMENTAL 7205d920bb9SFilippo Arcidiacono help 7215d920bb9SFilippo Arcidiacono This option turns on the -fstack-protector GCC feature. This 7225d920bb9SFilippo Arcidiacono feature puts, at the beginning of functions, a canary value on 7235d920bb9SFilippo Arcidiacono the stack just before the return address, and validates 7245d920bb9SFilippo Arcidiacono the value just before actually returning. Stack based buffer 7255d920bb9SFilippo Arcidiacono overflows (that need to overwrite this return address) now also 7265d920bb9SFilippo Arcidiacono overwrite the canary, which gets detected and the attack is then 7275d920bb9SFilippo Arcidiacono neutralized via a kernel panic. 7285d920bb9SFilippo Arcidiacono 7295d920bb9SFilippo Arcidiacono This feature requires gcc version 4.2 or above. 7305d920bb9SFilippo Arcidiacono 731ea0e1a9aSPaul Mundtconfig SMP 732ea0e1a9aSPaul Mundt bool "Symmetric multi-processing support" 733ea0e1a9aSPaul Mundt depends on SYS_SUPPORTS_SMP 734490f5de5SJens Axboe select USE_GENERIC_SMP_HELPERS 735ea0e1a9aSPaul Mundt ---help--- 736ea0e1a9aSPaul Mundt This enables support for systems with more than one CPU. If you have 737ea0e1a9aSPaul Mundt a system with only one CPU, like most personal computers, say N. If 738ea0e1a9aSPaul Mundt you have a system with more than one CPU, say Y. 739ea0e1a9aSPaul Mundt 740ea0e1a9aSPaul Mundt If you say N here, the kernel will run on single and multiprocessor 741ea0e1a9aSPaul Mundt machines, but will use only one CPU of a multiprocessor machine. If 742ea0e1a9aSPaul Mundt you say Y here, the kernel will run on many, but not all, 743ea0e1a9aSPaul Mundt singleprocessor machines. On a singleprocessor machine, the kernel 744ea0e1a9aSPaul Mundt will run faster if you say N here. 745ea0e1a9aSPaul Mundt 746ea0e1a9aSPaul Mundt People using multiprocessor machines who say Y here should also say 747ea0e1a9aSPaul Mundt Y to "Enhanced Real Time Clock Support", below. 748ea0e1a9aSPaul Mundt 74903502faaSAdrian Bunk See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 75003502faaSAdrian Bunk available at <http://www.tldp.org/docs.html#howto>. 751ea0e1a9aSPaul Mundt 752ea0e1a9aSPaul Mundt If you don't know what to do here, say N. 753ea0e1a9aSPaul Mundt 754ea0e1a9aSPaul Mundtconfig NR_CPUS 755ea0e1a9aSPaul Mundt int "Maximum number of CPUs (2-32)" 756ea0e1a9aSPaul Mundt range 2 32 757ea0e1a9aSPaul Mundt depends on SMP 7582eb2a436SPaul Mundt default "4" if CPU_SUBTYPE_SHX3 759ea0e1a9aSPaul Mundt default "2" 760ea0e1a9aSPaul Mundt help 761ea0e1a9aSPaul Mundt This allows you to specify the maximum number of CPUs which this 762ea0e1a9aSPaul Mundt kernel will support. The maximum supported value is 32 and the 763ea0e1a9aSPaul Mundt minimum value which makes sense is 2. 764ea0e1a9aSPaul Mundt 765ea0e1a9aSPaul Mundt This is purely to save memory - each supported CPU adds 766ea0e1a9aSPaul Mundt approximately eight kilobytes to the kernel image. 767ea0e1a9aSPaul Mundt 768763142d1SPaul Mundtconfig HOTPLUG_CPU 769763142d1SPaul Mundt bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 770763142d1SPaul Mundt depends on SMP && HOTPLUG && EXPERIMENTAL 771763142d1SPaul Mundt help 772763142d1SPaul Mundt Say Y here to experiment with turning CPUs off and on. CPUs 773763142d1SPaul Mundt can be controlled through /sys/devices/system/cpu. 774763142d1SPaul Mundt 775ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt" 776ea0e1a9aSPaul Mundt 777ea0e1a9aSPaul Mundtconfig GUSA 778ea0e1a9aSPaul Mundt def_bool y 7791efe4ce3SStuart Menefy depends on !SMP && SUPERH32 780ea0e1a9aSPaul Mundt help 781ea0e1a9aSPaul Mundt This enables support for gUSA (general UserSpace Atomicity). 782ea0e1a9aSPaul Mundt This is the default implementation for both UP and non-ll/sc 783ea0e1a9aSPaul Mundt CPUs, and is used by the libc, amongst others. 784ea0e1a9aSPaul Mundt 785ea0e1a9aSPaul Mundt For additional information, design information can be found 786ea0e1a9aSPaul Mundt in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>. 787ea0e1a9aSPaul Mundt 788ea0e1a9aSPaul Mundt This should only be disabled for special cases where alternate 789ea0e1a9aSPaul Mundt atomicity implementations exist. 790ea0e1a9aSPaul Mundt 7911efe4ce3SStuart Menefyconfig GUSA_RB 7921efe4ce3SStuart Menefy bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" 7931efe4ce3SStuart Menefy depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) 7941efe4ce3SStuart Menefy help 7951efe4ce3SStuart Menefy Enabling this option will allow the kernel to implement some 796692105b8SMatt LaPlante atomic operations using a software implementation of load-locked/ 7971efe4ce3SStuart Menefy store-conditional (LLSC). On machines which do not have hardware 7981efe4ce3SStuart Menefy LLSC, this should be more efficient than the other alternative of 799692105b8SMatt LaPlante disabling interrupts around the atomic sequence. 8001efe4ce3SStuart Menefy 80186c8c047SMatt Flemingconfig HW_PERF_EVENTS 80286c8c047SMatt Fleming bool "Enable hardware performance counter support for perf events" 80386c8c047SMatt Fleming depends on PERF_EVENTS && CPU_HAS_PMU 80486c8c047SMatt Fleming default y 80586c8c047SMatt Fleming help 80686c8c047SMatt Fleming Enable hardware performance counter support for perf events. If 80786c8c047SMatt Fleming disabled, perf events will use software events only. 80886c8c047SMatt Fleming 80943b8774dSPaul Mundtsource "drivers/sh/Kconfig" 81043b8774dSPaul Mundt 811ea0e1a9aSPaul Mundtendmenu 812ea0e1a9aSPaul Mundt 813ea0e1a9aSPaul Mundtmenu "Boot options" 814ea0e1a9aSPaul Mundt 815ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET 816b412a49aSPaul Mundt hex 817b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ 818b412a49aSPaul Mundt SH_7751_SOLUTION_ENGINE 819b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB || SH_SH03 820ea0e1a9aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 821ea0e1a9aSPaul Mundt default "0x00001000" 822ea0e1a9aSPaul Mundt help 823ea0e1a9aSPaul Mundt This sets the default offset of zero page. 824ea0e1a9aSPaul Mundt 825ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET 826b412a49aSPaul Mundt hex 827b412a49aSPaul Mundt default "0x00210000" if SH_SHMIN 828a2e76c80SPaul Mundt default "0x00400000" if SH_CAYMAN 829b412a49aSPaul Mundt default "0x00810000" if SH_7780_SOLUTION_ENGINE 830b412a49aSPaul Mundt default "0x009e0000" if SH_TITAN 831b412a49aSPaul Mundt default "0x01800000" if SH_SDK7780 832b412a49aSPaul Mundt default "0x02000000" if SH_EDOSK7760 833ea0e1a9aSPaul Mundt default "0x00800000" 834ea0e1a9aSPaul Mundt help 835ea0e1a9aSPaul Mundt This option allows you to set the link address offset of the zImage. 836ea0e1a9aSPaul Mundt This can be useful if you are on a board which has a small amount of 837ea0e1a9aSPaul Mundt memory. 838ea0e1a9aSPaul Mundt 839b412a49aSPaul Mundtconfig ENTRY_OFFSET 840b412a49aSPaul Mundt hex 841b412a49aSPaul Mundt default "0x00001000" if PAGE_SIZE_4KB 842b412a49aSPaul Mundt default "0x00002000" if PAGE_SIZE_8KB 843b412a49aSPaul Mundt default "0x00004000" if PAGE_SIZE_16KB 844b412a49aSPaul Mundt default "0x00010000" if PAGE_SIZE_64KB 845b412a49aSPaul Mundt default "0x00000000" 846b412a49aSPaul Mundt 8474705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF 8484705b2e8SMagnus Damm bool "Include MMCIF loader in romImage (EXPERIMENTAL)" 8494705b2e8SMagnus Damm depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL 8504705b2e8SMagnus Damm help 8514705b2e8SMagnus Damm Say Y here to include experimental MMCIF loading code in 8524705b2e8SMagnus Damm romImage. With this enabled it is possible to write the romImage 8534705b2e8SMagnus Damm kernel image to an MMC card and boot the kernel straight from 8544705b2e8SMagnus Damm the reset vector. At reset the processor Mask ROM will load the 8554705b2e8SMagnus Damm first part of the romImage which in turn loads the rest the kernel 8564705b2e8SMagnus Damm image to RAM using the MMCIF hardware block. 8574705b2e8SMagnus Damm 858d724a9c9SPawel Mollchoice 859d724a9c9SPawel Moll prompt "Kernel command line" 860d724a9c9SPawel Moll optional 861d724a9c9SPawel Moll default CMDLINE_OVERWRITE 862d724a9c9SPawel Moll help 863d724a9c9SPawel Moll Setting this option allows the kernel command line arguments 864d724a9c9SPawel Moll to be set. 865d724a9c9SPawel Moll 866d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE 867d724a9c9SPawel Moll bool "Overwrite bootloader kernel arguments" 868d724a9c9SPawel Moll help 869d724a9c9SPawel Moll Given string will overwrite any arguments passed in by 870d724a9c9SPawel Moll a bootloader. 871d724a9c9SPawel Moll 872d724a9c9SPawel Mollconfig CMDLINE_EXTEND 873d724a9c9SPawel Moll bool "Extend bootloader kernel arguments" 874d724a9c9SPawel Moll help 875d724a9c9SPawel Moll Given string will be concatenated with arguments passed in 876d724a9c9SPawel Moll by a bootloader. 877d724a9c9SPawel Moll 878d724a9c9SPawel Mollendchoice 879ea0e1a9aSPaul Mundt 880ea0e1a9aSPaul Mundtconfig CMDLINE 881d724a9c9SPawel Moll string "Kernel command line arguments string" 882d724a9c9SPawel Moll depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND 883ea0e1a9aSPaul Mundt default "console=ttySC1,115200" 884ea0e1a9aSPaul Mundt 885ea0e1a9aSPaul Mundtendmenu 886ea0e1a9aSPaul Mundt 887ea0e1a9aSPaul Mundtmenu "Bus options" 888ea0e1a9aSPaul Mundt 889ea0e1a9aSPaul Mundtconfig SUPERHYWAY 890ea0e1a9aSPaul Mundt tristate "SuperHyway Bus support" 891ea0e1a9aSPaul Mundt depends on CPU_SUBTYPE_SH4_202 892ea0e1a9aSPaul Mundt 893ea0e1a9aSPaul Mundtconfig MAPLE 894ea0e1a9aSPaul Mundt bool "Maple Bus support" 895ea0e1a9aSPaul Mundt depends on SH_DREAMCAST 896ea0e1a9aSPaul Mundt help 897ea0e1a9aSPaul Mundt The Maple Bus is SEGA's serial communication bus for peripherals 898ea0e1a9aSPaul Mundt on the Dreamcast. Without this bus support you won't be able to 899ea0e1a9aSPaul Mundt get your Dreamcast keyboard etc to work, so most users 900ea0e1a9aSPaul Mundt probably want to say 'Y' here, unless you are only using the 901ea0e1a9aSPaul Mundt Dreamcast with a serial line terminal or a remote network 902ea0e1a9aSPaul Mundt connection. 903ea0e1a9aSPaul Mundt 9047693465dSPaul Mundtconfig PCI 9057693465dSPaul Mundt bool "PCI support" 9067693465dSPaul Mundt depends on SYS_SUPPORTS_PCI 907320e68daSPaul Mundt select PCI_DOMAINS 90843db595eSMichael S. Tsirkin select GENERIC_PCI_IOMAP 9091e05b62aSMichael S. Tsirkin select NO_GENERIC_PCI_IOPORT_MAP 9107693465dSPaul Mundt help 9117693465dSPaul Mundt Find out whether you have a PCI motherboard. PCI is the name of a 9127693465dSPaul Mundt bus system, i.e. the way the CPU talks to the other stuff inside 9137693465dSPaul Mundt your box. If you have PCI, say Y, otherwise N. 914ea0e1a9aSPaul Mundt 915320e68daSPaul Mundtconfig PCI_DOMAINS 916320e68daSPaul Mundt bool 917320e68daSPaul Mundt 918e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig" 919e16038abSPaul Mundt 920ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig" 921ea0e1a9aSPaul Mundt 922ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig" 923ea0e1a9aSPaul Mundt 924ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig" 925ea0e1a9aSPaul Mundt 926ea0e1a9aSPaul Mundtendmenu 927ea0e1a9aSPaul Mundt 928ea0e1a9aSPaul Mundtmenu "Executable file formats" 929ea0e1a9aSPaul Mundt 930ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt" 931ea0e1a9aSPaul Mundt 932ea0e1a9aSPaul Mundtendmenu 933ea0e1a9aSPaul Mundt 934ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)" 935af998a9aSMagnus Dammdepends on EXPERIMENTAL 936f4cb5700SJohannes Berg 937c6f17cb2SMagnus Dammsource "kernel/power/Kconfig" 938c6f17cb2SMagnus Damm 939c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig" 940ea0e1a9aSPaul Mundt 941ea0e1a9aSPaul Mundtendmenu 942ea0e1a9aSPaul Mundt 943ea0e1a9aSPaul Mundtsource "net/Kconfig" 944ea0e1a9aSPaul Mundt 945ea0e1a9aSPaul Mundtsource "drivers/Kconfig" 946ea0e1a9aSPaul Mundt 947ea0e1a9aSPaul Mundtsource "fs/Kconfig" 948ea0e1a9aSPaul Mundt 949ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug" 950ea0e1a9aSPaul Mundt 951ea0e1a9aSPaul Mundtsource "security/Kconfig" 952ea0e1a9aSPaul Mundt 953ea0e1a9aSPaul Mundtsource "crypto/Kconfig" 954ea0e1a9aSPaul Mundt 955ea0e1a9aSPaul Mundtsource "lib/Kconfig" 956