18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# For a description of the syntax of this configuration file, 48c2ecf20Sopenharmony_ci# see Documentation/kbuild/kconfig-language.rst. 58c2ecf20Sopenharmony_ci# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciconfig OPENRISC 88c2ecf20Sopenharmony_ci def_bool y 98c2ecf20Sopenharmony_ci select ARCH_32BIT_OFF_T 108c2ecf20Sopenharmony_ci select ARCH_HAS_DMA_SET_UNCACHED 118c2ecf20Sopenharmony_ci select ARCH_HAS_DMA_CLEAR_UNCACHED 128c2ecf20Sopenharmony_ci select ARCH_HAS_SYNC_DMA_FOR_DEVICE 138c2ecf20Sopenharmony_ci select OF 148c2ecf20Sopenharmony_ci select OF_EARLY_FLATTREE 158c2ecf20Sopenharmony_ci select IRQ_DOMAIN 168c2ecf20Sopenharmony_ci select HANDLE_DOMAIN_IRQ 178c2ecf20Sopenharmony_ci select GPIOLIB 188c2ecf20Sopenharmony_ci select HAVE_ARCH_TRACEHOOK 198c2ecf20Sopenharmony_ci select SPARSE_IRQ 208c2ecf20Sopenharmony_ci select GENERIC_IRQ_CHIP 218c2ecf20Sopenharmony_ci select GENERIC_IRQ_PROBE 228c2ecf20Sopenharmony_ci select GENERIC_IRQ_SHOW 238c2ecf20Sopenharmony_ci select GENERIC_IOMAP 248c2ecf20Sopenharmony_ci select GENERIC_CPU_DEVICES 258c2ecf20Sopenharmony_ci select HAVE_UID16 268c2ecf20Sopenharmony_ci select GENERIC_ATOMIC64 278c2ecf20Sopenharmony_ci select GENERIC_CLOCKEVENTS 288c2ecf20Sopenharmony_ci select GENERIC_CLOCKEVENTS_BROADCAST 298c2ecf20Sopenharmony_ci select GENERIC_STRNCPY_FROM_USER 308c2ecf20Sopenharmony_ci select GENERIC_STRNLEN_USER 318c2ecf20Sopenharmony_ci select GENERIC_SMP_IDLE_THREAD 328c2ecf20Sopenharmony_ci select MODULES_USE_ELF_RELA 338c2ecf20Sopenharmony_ci select HAVE_DEBUG_STACKOVERFLOW 348c2ecf20Sopenharmony_ci select OR1K_PIC 358c2ecf20Sopenharmony_ci select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1 368c2ecf20Sopenharmony_ci select ARCH_USE_QUEUED_SPINLOCKS 378c2ecf20Sopenharmony_ci select ARCH_USE_QUEUED_RWLOCKS 388c2ecf20Sopenharmony_ci select OMPIC if SMP 398c2ecf20Sopenharmony_ci select ARCH_WANT_FRAME_POINTERS 408c2ecf20Sopenharmony_ci select GENERIC_IRQ_MULTI_HANDLER 418c2ecf20Sopenharmony_ci select MMU_GATHER_NO_RANGE if MMU 428c2ecf20Sopenharmony_ci select SET_FS 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciconfig CPU_BIG_ENDIAN 458c2ecf20Sopenharmony_ci def_bool y 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig MMU 488c2ecf20Sopenharmony_ci def_bool y 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT 518c2ecf20Sopenharmony_ci def_bool y 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciconfig NO_IOPORT_MAP 548c2ecf20Sopenharmony_ci def_bool y 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig TRACE_IRQFLAGS_SUPPORT 578c2ecf20Sopenharmony_ci def_bool y 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci# For now, use generic checksum functions 608c2ecf20Sopenharmony_ci#These can be reimplemented in assembly later if so inclined 618c2ecf20Sopenharmony_ciconfig GENERIC_CSUM 628c2ecf20Sopenharmony_ci def_bool y 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT 658c2ecf20Sopenharmony_ci def_bool y 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciconfig LOCKDEP_SUPPORT 688c2ecf20Sopenharmony_ci def_bool y 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_cimenu "Processor type and features" 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_cichoice 738c2ecf20Sopenharmony_ci prompt "Subarchitecture" 748c2ecf20Sopenharmony_ci default OR1K_1200 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciconfig OR1K_1200 778c2ecf20Sopenharmony_ci bool "OR1200" 788c2ecf20Sopenharmony_ci help 798c2ecf20Sopenharmony_ci Generic OpenRISC 1200 architecture 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciendchoice 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ciconfig DCACHE_WRITETHROUGH 848c2ecf20Sopenharmony_ci bool "Have write through data caches" 858c2ecf20Sopenharmony_ci default n 868c2ecf20Sopenharmony_ci help 878c2ecf20Sopenharmony_ci Select this if your implementation features write through data caches. 888c2ecf20Sopenharmony_ci Selecting 'N' here will allow the kernel to force flushing of data 898c2ecf20Sopenharmony_ci caches at relevant times. Most OpenRISC implementations support write- 908c2ecf20Sopenharmony_ci through data caches. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci If unsure say N here 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ciconfig OPENRISC_BUILTIN_DTB 958c2ecf20Sopenharmony_ci string "Builtin DTB" 968c2ecf20Sopenharmony_ci default "" 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_cimenu "Class II Instructions" 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ciconfig OPENRISC_HAVE_INST_FF1 1018c2ecf20Sopenharmony_ci bool "Have instruction l.ff1" 1028c2ecf20Sopenharmony_ci default y 1038c2ecf20Sopenharmony_ci help 1048c2ecf20Sopenharmony_ci Select this if your implementation has the Class II instruction l.ff1 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ciconfig OPENRISC_HAVE_INST_FL1 1078c2ecf20Sopenharmony_ci bool "Have instruction l.fl1" 1088c2ecf20Sopenharmony_ci default y 1098c2ecf20Sopenharmony_ci help 1108c2ecf20Sopenharmony_ci Select this if your implementation has the Class II instruction l.fl1 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ciconfig OPENRISC_HAVE_INST_MUL 1138c2ecf20Sopenharmony_ci bool "Have instruction l.mul for hardware multiply" 1148c2ecf20Sopenharmony_ci default y 1158c2ecf20Sopenharmony_ci help 1168c2ecf20Sopenharmony_ci Select this if your implementation has a hardware multiply instruction 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ciconfig OPENRISC_HAVE_INST_DIV 1198c2ecf20Sopenharmony_ci bool "Have instruction l.div for hardware divide" 1208c2ecf20Sopenharmony_ci default y 1218c2ecf20Sopenharmony_ci help 1228c2ecf20Sopenharmony_ci Select this if your implementation has a hardware divide instruction 1238c2ecf20Sopenharmony_ciendmenu 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ciconfig NR_CPUS 1268c2ecf20Sopenharmony_ci int "Maximum number of CPUs (2-32)" 1278c2ecf20Sopenharmony_ci range 2 32 1288c2ecf20Sopenharmony_ci depends on SMP 1298c2ecf20Sopenharmony_ci default "2" 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ciconfig SMP 1328c2ecf20Sopenharmony_ci bool "Symmetric Multi-Processing support" 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci This enables support for systems with more than one CPU. If you have 1358c2ecf20Sopenharmony_ci a system with only one CPU, say N. If you have a system with more 1368c2ecf20Sopenharmony_ci than one CPU, say Y. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci If you don't know what to do here, say N. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_cisource "kernel/Kconfig.hz" 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ciconfig OPENRISC_NO_SPR_SR_DSX 1438c2ecf20Sopenharmony_ci bool "use SPR_SR_DSX software emulation" if OR1K_1200 1448c2ecf20Sopenharmony_ci default y 1458c2ecf20Sopenharmony_ci help 1468c2ecf20Sopenharmony_ci SPR_SR_DSX bit is status register bit indicating whether 1478c2ecf20Sopenharmony_ci the last exception has happened in delay slot. 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci OpenRISC architecture makes it optional to have it implemented 1508c2ecf20Sopenharmony_ci in hardware and the OR1200 does not have it. 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci Say N here if you know that your OpenRISC processor has 1538c2ecf20Sopenharmony_ci SPR_SR_DSX bit implemented. Say Y if you are unsure. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciconfig OPENRISC_HAVE_SHADOW_GPRS 1568c2ecf20Sopenharmony_ci bool "Support for shadow gpr files" if !SMP 1578c2ecf20Sopenharmony_ci default y if SMP 1588c2ecf20Sopenharmony_ci help 1598c2ecf20Sopenharmony_ci Say Y here if your OpenRISC processor features shadowed 1608c2ecf20Sopenharmony_ci register files. They will in such case be used as a 1618c2ecf20Sopenharmony_ci scratch reg storage on exception entry. 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci On SMP systems, this feature is mandatory. 1648c2ecf20Sopenharmony_ci On a unicore system it's safe to say N here if you are unsure. 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ciconfig CMDLINE 1678c2ecf20Sopenharmony_ci string "Default kernel command string" 1688c2ecf20Sopenharmony_ci default "" 1698c2ecf20Sopenharmony_ci help 1708c2ecf20Sopenharmony_ci On some architectures there is currently no way for the boot loader 1718c2ecf20Sopenharmony_ci to pass arguments to the kernel. For these architectures, you should 1728c2ecf20Sopenharmony_ci supply some command-line options at build time by entering them 1738c2ecf20Sopenharmony_ci here. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_cimenu "Debugging options" 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ciconfig JUMP_UPON_UNHANDLED_EXCEPTION 1788c2ecf20Sopenharmony_ci bool "Try to die gracefully" 1798c2ecf20Sopenharmony_ci default y 1808c2ecf20Sopenharmony_ci help 1818c2ecf20Sopenharmony_ci Now this puts kernel into infinite loop after first oops. Till 1828c2ecf20Sopenharmony_ci your kernel crashes this doesn't have any influence. 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci Say Y if you are unsure. 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ciconfig OPENRISC_ESR_EXCEPTION_BUG_CHECK 1878c2ecf20Sopenharmony_ci bool "Check for possible ESR exception bug" 1888c2ecf20Sopenharmony_ci default n 1898c2ecf20Sopenharmony_ci help 1908c2ecf20Sopenharmony_ci This option enables some checks that might expose some problems 1918c2ecf20Sopenharmony_ci in kernel. 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci Say N if you are unsure. 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ciendmenu 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ciendmenu 198