1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2f8c4a270SJonas Bonn# 3f8c4a270SJonas Bonn# For a description of the syntax of this configuration file, 4cd238effSMauro Carvalho Chehab# see Documentation/kbuild/kconfig-language.rst. 5f8c4a270SJonas Bonn# 6f8c4a270SJonas Bonn 7f8c4a270SJonas Bonnconfig OPENRISC 8f8c4a270SJonas Bonn def_bool y 9942fa985SYury Norov select ARCH_32BIT_OFF_T 10a4a4d11aSChristoph Hellwig select ARCH_HAS_DMA_SET_UNCACHED 11a4a4d11aSChristoph Hellwig select ARCH_HAS_DMA_CLEAR_UNCACHED 125600779eSChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_DEVICE 137f435e42SStafford Horne select COMMON_CLK 14f8c4a270SJonas Bonn select OF 15f8c4a270SJonas Bonn select OF_EARLY_FLATTREE 16b4c4c6eeSJonas Bonn select IRQ_DOMAIN 178636f344SLinus Walleij select GPIOLIB 18f8c4a270SJonas Bonn select HAVE_ARCH_TRACEHOOK 19c0fcaf55SJonas Bonn select SPARSE_IRQ 20f8c4a270SJonas Bonn select GENERIC_IRQ_CHIP 21f8c4a270SJonas Bonn select GENERIC_IRQ_PROBE 22f8c4a270SJonas Bonn select GENERIC_IRQ_SHOW 23f8c4a270SJonas Bonn select GENERIC_IOMAP 249f13a1fdSBen Hutchings select GENERIC_CPU_DEVICES 2504ea1e91SAndrew Morton select HAVE_UID16 260662d33aSRichard Weinberger select GENERIC_ATOMIC64 278e6d08e0SStefan Kristiansson select GENERIC_CLOCKEVENTS_BROADCAST 288e6d08e0SStefan Kristiansson select GENERIC_SMP_IDLE_THREAD 29786d35d4SDavid Howells select MODULES_USE_ELF_RELA 30d1a1dc0bSDave Hansen select HAVE_DEBUG_STACKOVERFLOW 314db8e6d2SStefan Kristiansson select OR1K_PIC 32fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1 33b5f82176SStafford Horne select ARCH_USE_QUEUED_SPINLOCKS 34b5f82176SStafford Horne select ARCH_USE_QUEUED_RWLOCKS 359b54470aSStafford Horne select OMPIC if SMP 36eecac38bSStafford Horne select ARCH_WANT_FRAME_POINTERS 37c5ca4560SPalmer Dabbelt select GENERIC_IRQ_MULTI_HANDLER 386137fed0SPeter Zijlstra select MMU_GATHER_NO_RANGE if MMU 394aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 40f8c4a270SJonas Bonn 414c97a0c8SBabu Mogerconfig CPU_BIG_ENDIAN 424c97a0c8SBabu Moger def_bool y 434c97a0c8SBabu Moger 44f8c4a270SJonas Bonnconfig MMU 45f8c4a270SJonas Bonn def_bool y 46f8c4a270SJonas Bonn 47f8c4a270SJonas Bonnconfig GENERIC_HWEIGHT 48f8c4a270SJonas Bonn def_bool y 49f8c4a270SJonas Bonn 50ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP 51f8c4a270SJonas Bonn def_bool y 52f8c4a270SJonas Bonn 53f8c4a270SJonas Bonn# For now, use generic checksum functions 54f8c4a270SJonas Bonn#These can be reimplemented in assembly later if so inclined 55f8c4a270SJonas Bonnconfig GENERIC_CSUM 56f8c4a270SJonas Bonn def_bool y 57f8c4a270SJonas Bonn 58eecac38bSStafford Horneconfig STACKTRACE_SUPPORT 59eecac38bSStafford Horne def_bool y 60eecac38bSStafford Horne 6178cdfb5cSStafford Horneconfig LOCKDEP_SUPPORT 6278cdfb5cSStafford Horne def_bool y 6378cdfb5cSStafford Horne 64f8c4a270SJonas Bonnmenu "Processor type and features" 65f8c4a270SJonas Bonn 66f8c4a270SJonas Bonnchoice 67f8c4a270SJonas Bonn prompt "Subarchitecture" 68f8c4a270SJonas Bonn default OR1K_1200 69f8c4a270SJonas Bonn 70f8c4a270SJonas Bonnconfig OR1K_1200 71f8c4a270SJonas Bonn bool "OR1200" 72f8c4a270SJonas Bonn help 73f8c4a270SJonas Bonn Generic OpenRISC 1200 architecture 74f8c4a270SJonas Bonn 75f8c4a270SJonas Bonnendchoice 76f8c4a270SJonas Bonn 774ee93d80SJan Henrik Weinstockconfig DCACHE_WRITETHROUGH 784ee93d80SJan Henrik Weinstock bool "Have write through data caches" 794ee93d80SJan Henrik Weinstock default n 804ee93d80SJan Henrik Weinstock help 814ee93d80SJan Henrik Weinstock Select this if your implementation features write through data caches. 824ee93d80SJan Henrik Weinstock Selecting 'N' here will allow the kernel to force flushing of data 834ee93d80SJan Henrik Weinstock caches at relevant times. Most OpenRISC implementations support write- 844ee93d80SJan Henrik Weinstock through data caches. 854ee93d80SJan Henrik Weinstock 864ee93d80SJan Henrik Weinstock If unsure say N here 874ee93d80SJan Henrik Weinstock 88f8c4a270SJonas Bonnconfig OPENRISC_BUILTIN_DTB 89f8c4a270SJonas Bonn string "Builtin DTB" 90f8c4a270SJonas Bonn default "" 91f8c4a270SJonas Bonn 92f8c4a270SJonas Bonnmenu "Class II Instructions" 93f8c4a270SJonas Bonn 94f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FF1 95f8c4a270SJonas Bonn bool "Have instruction l.ff1" 96f8c4a270SJonas Bonn default y 97f8c4a270SJonas Bonn help 98f8c4a270SJonas Bonn Select this if your implementation has the Class II instruction l.ff1 99f8c4a270SJonas Bonn 100f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FL1 101f8c4a270SJonas Bonn bool "Have instruction l.fl1" 102f8c4a270SJonas Bonn default y 103f8c4a270SJonas Bonn help 104f8c4a270SJonas Bonn Select this if your implementation has the Class II instruction l.fl1 105f8c4a270SJonas Bonn 106f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_MUL 107f8c4a270SJonas Bonn bool "Have instruction l.mul for hardware multiply" 108f8c4a270SJonas Bonn default y 109f8c4a270SJonas Bonn help 110f8c4a270SJonas Bonn Select this if your implementation has a hardware multiply instruction 111f8c4a270SJonas Bonn 112f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_DIV 113f8c4a270SJonas Bonn bool "Have instruction l.div for hardware divide" 114f8c4a270SJonas Bonn default y 115f8c4a270SJonas Bonn help 116f8c4a270SJonas Bonn Select this if your implementation has a hardware divide instruction 117*87e387acSStafford Horne 118*87e387acSStafford Horneconfig OPENRISC_HAVE_INST_CMOV 119*87e387acSStafford Horne bool "Have instruction l.cmov for conditional move" 120*87e387acSStafford Horne default n 121*87e387acSStafford Horne help 122*87e387acSStafford Horne This config enables gcc to generate l.cmov instructions when compiling 123*87e387acSStafford Horne the kernel which in general will improve performance and reduce the 124*87e387acSStafford Horne binary size. 125*87e387acSStafford Horne 126*87e387acSStafford Horne Select this if your implementation has support for the Class II 127*87e387acSStafford Horne l.cmov conistional move instruction. 128*87e387acSStafford Horne 129*87e387acSStafford Horne Say N if you are unsure. 130*87e387acSStafford Horne 131*87e387acSStafford Horneconfig OPENRISC_HAVE_INST_ROR 132*87e387acSStafford Horne bool "Have instruction l.ror for rotate right" 133*87e387acSStafford Horne default n 134*87e387acSStafford Horne help 135*87e387acSStafford Horne This config enables gcc to generate l.ror instructions when compiling 136*87e387acSStafford Horne the kernel which in general will improve performance and reduce the 137*87e387acSStafford Horne binary size. 138*87e387acSStafford Horne 139*87e387acSStafford Horne Select this if your implementation has support for the Class II 140*87e387acSStafford Horne l.ror rotate right instruction. 141*87e387acSStafford Horne 142*87e387acSStafford Horne Say N if you are unsure. 143*87e387acSStafford Horne 144*87e387acSStafford Horneconfig OPENRISC_HAVE_INST_RORI 145*87e387acSStafford Horne bool "Have instruction l.rori for rotate right with immediate" 146*87e387acSStafford Horne default n 147*87e387acSStafford Horne help 148*87e387acSStafford Horne This config enables gcc to generate l.rori instructions when compiling 149*87e387acSStafford Horne the kernel which in general will improve performance and reduce the 150*87e387acSStafford Horne binary size. 151*87e387acSStafford Horne 152*87e387acSStafford Horne Select this if your implementation has support for the Class II 153*87e387acSStafford Horne l.rori rotate right with immediate instruction. 154*87e387acSStafford Horne 155*87e387acSStafford Horne Say N if you are unsure. 156*87e387acSStafford Horne 157*87e387acSStafford Horneconfig OPENRISC_HAVE_INST_SEXT 158*87e387acSStafford Horne bool "Have instructions l.ext* for sign extension" 159*87e387acSStafford Horne default n 160*87e387acSStafford Horne help 161*87e387acSStafford Horne This config enables gcc to generate l.ext* instructions when compiling 162*87e387acSStafford Horne the kernel which in general will improve performance and reduce the 163*87e387acSStafford Horne binary size. 164*87e387acSStafford Horne 165*87e387acSStafford Horne Select this if your implementation has support for the Class II 166*87e387acSStafford Horne l.exths, l.extbs, l.exthz and l.extbz size extend instructions. 167*87e387acSStafford Horne 168*87e387acSStafford Horne Say N if you are unsure. 169*87e387acSStafford Horne 170f8c4a270SJonas Bonnendmenu 171f8c4a270SJonas Bonn 17234bbdcdcSStafford Horneconfig NR_CPUS 1738e6d08e0SStefan Kristiansson int "Maximum number of CPUs (2-32)" 1748e6d08e0SStefan Kristiansson range 2 32 1758e6d08e0SStefan Kristiansson depends on SMP 1768e6d08e0SStefan Kristiansson default "2" 1778e6d08e0SStefan Kristiansson 1788e6d08e0SStefan Kristianssonconfig SMP 1798e6d08e0SStefan Kristiansson bool "Symmetric Multi-Processing support" 1808e6d08e0SStefan Kristiansson help 1818e6d08e0SStefan Kristiansson This enables support for systems with more than one CPU. If you have 1828e6d08e0SStefan Kristiansson a system with only one CPU, say N. If you have a system with more 1838e6d08e0SStefan Kristiansson than one CPU, say Y. 1848e6d08e0SStefan Kristiansson 1858e6d08e0SStefan Kristiansson If you don't know what to do here, say N. 186f8c4a270SJonas Bonn 1878636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz" 188f8c4a270SJonas Bonn 189f8c4a270SJonas Bonnconfig OPENRISC_NO_SPR_SR_DSX 190f8c4a270SJonas Bonn bool "use SPR_SR_DSX software emulation" if OR1K_1200 191f8c4a270SJonas Bonn default y 192f8c4a270SJonas Bonn help 193f8c4a270SJonas Bonn SPR_SR_DSX bit is status register bit indicating whether 194f8c4a270SJonas Bonn the last exception has happened in delay slot. 195f8c4a270SJonas Bonn 196f8c4a270SJonas Bonn OpenRISC architecture makes it optional to have it implemented 197f8c4a270SJonas Bonn in hardware and the OR1200 does not have it. 198f8c4a270SJonas Bonn 199f8c4a270SJonas Bonn Say N here if you know that your OpenRISC processor has 200f8c4a270SJonas Bonn SPR_SR_DSX bit implemented. Say Y if you are unsure. 201f8c4a270SJonas Bonn 20291993c8cSStefan Kristianssonconfig OPENRISC_HAVE_SHADOW_GPRS 20391993c8cSStefan Kristiansson bool "Support for shadow gpr files" if !SMP 20491993c8cSStefan Kristiansson default y if SMP 20591993c8cSStefan Kristiansson help 20691993c8cSStefan Kristiansson Say Y here if your OpenRISC processor features shadowed 20791993c8cSStefan Kristiansson register files. They will in such case be used as a 20891993c8cSStefan Kristiansson scratch reg storage on exception entry. 20991993c8cSStefan Kristiansson 21091993c8cSStefan Kristiansson On SMP systems, this feature is mandatory. 21191993c8cSStefan Kristiansson On a unicore system it's safe to say N here if you are unsure. 21291993c8cSStefan Kristiansson 213f8c4a270SJonas Bonnconfig CMDLINE 214f8c4a270SJonas Bonn string "Default kernel command string" 215f8c4a270SJonas Bonn default "" 216f8c4a270SJonas Bonn help 217f8c4a270SJonas Bonn On some architectures there is currently no way for the boot loader 218f8c4a270SJonas Bonn to pass arguments to the kernel. For these architectures, you should 219f8c4a270SJonas Bonn supply some command-line options at build time by entering them 220f8c4a270SJonas Bonn here. 221f8c4a270SJonas Bonn 222f8c4a270SJonas Bonnmenu "Debugging options" 223f8c4a270SJonas Bonn 224f8c4a270SJonas Bonnconfig JUMP_UPON_UNHANDLED_EXCEPTION 225f8c4a270SJonas Bonn bool "Try to die gracefully" 226f8c4a270SJonas Bonn default y 227f8c4a270SJonas Bonn help 228f8c4a270SJonas Bonn Now this puts kernel into infinite loop after first oops. Till 229f8c4a270SJonas Bonn your kernel crashes this doesn't have any influence. 230f8c4a270SJonas Bonn 231f8c4a270SJonas Bonn Say Y if you are unsure. 232f8c4a270SJonas Bonn 233f8c4a270SJonas Bonnconfig OPENRISC_ESR_EXCEPTION_BUG_CHECK 234f8c4a270SJonas Bonn bool "Check for possible ESR exception bug" 235f8c4a270SJonas Bonn default n 236f8c4a270SJonas Bonn help 237f8c4a270SJonas Bonn This option enables some checks that might expose some problems 238f8c4a270SJonas Bonn in kernel. 239f8c4a270SJonas Bonn 240f8c4a270SJonas Bonn Say N if you are unsure. 241f8c4a270SJonas Bonn 242f8c4a270SJonas Bonnendmenu 243f8c4a270SJonas Bonn 244f8c4a270SJonas Bonnendmenu 245