| # SPDX-License-Identifier: GPL-2.0 | |
| # | |
| # For a description of the syntax of this configuration file, | |
| # see Documentation/kbuild/kconfig-language.rst. | |
| # | |
| config OPENRISC | |
| def_bool y | |
| select ARCH_32BIT_OFF_T | |
| select ARCH_HAS_DMA_SET_UNCACHED | |
| select ARCH_HAS_DMA_CLEAR_UNCACHED | |
| select ARCH_HAS_SYNC_DMA_FOR_DEVICE | |
| select COMMON_CLK | |
| select OF | |
| select OF_EARLY_FLATTREE | |
| select IRQ_DOMAIN | |
| select GPIOLIB | |
| select HAVE_ARCH_TRACEHOOK | |
| select SPARSE_IRQ | |
| select GENERIC_IRQ_CHIP | |
| select GENERIC_IRQ_PROBE | |
| select GENERIC_IRQ_SHOW | |
| select GENERIC_PCI_IOMAP | |
| select GENERIC_CPU_DEVICES | |
| select HAVE_PCI | |
| select HAVE_UID16 | |
| select GENERIC_ATOMIC64 | |
| select GENERIC_CLOCKEVENTS_BROADCAST | |
| select GENERIC_SMP_IDLE_THREAD | |
| select MODULES_USE_ELF_RELA | |
| select HAVE_DEBUG_STACKOVERFLOW | |
| select OR1K_PIC | |
| select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1 | |
| select ARCH_USE_QUEUED_RWLOCKS | |
| select OMPIC if SMP | |
| select PCI_DOMAINS_GENERIC if PCI | |
| select PCI_MSI if PCI | |
| select ARCH_WANT_FRAME_POINTERS | |
| select GENERIC_IRQ_MULTI_HANDLER | |
| select MMU_GATHER_NO_RANGE if MMU | |
| select TRACE_IRQFLAGS_SUPPORT | |
| config CPU_BIG_ENDIAN | |
| def_bool y | |
| config MMU | |
| def_bool y | |
| config GENERIC_HWEIGHT | |
| def_bool y | |
| config NO_IOPORT_MAP | |
| def_bool y | |
| # For now, use generic checksum functions | |
| #These can be reimplemented in assembly later if so inclined | |
| config GENERIC_CSUM | |
| def_bool y | |
| config STACKTRACE_SUPPORT | |
| def_bool y | |
| config LOCKDEP_SUPPORT | |
| def_bool y | |
| menu "Processor type and features" | |
| choice | |
| prompt "Subarchitecture" | |
| default OR1K_1200 | |
| config OR1K_1200 | |
| bool "OR1200" | |
| help | |
| Generic OpenRISC 1200 architecture | |
| endchoice | |
| config DCACHE_WRITETHROUGH | |
| bool "Have write through data caches" | |
| default n | |
| help | |
| Select this if your implementation features write through data caches. | |
| Selecting 'N' here will allow the kernel to force flushing of data | |
| caches at relevant times. Most OpenRISC implementations support write- | |
| through data caches. | |
| If unsure say N here | |
| config OPENRISC_BUILTIN_DTB | |
| string "Builtin DTB" | |
| default "" | |
| menu "Class II Instructions" | |
| config OPENRISC_HAVE_INST_FF1 | |
| bool "Have instruction l.ff1" | |
| default y | |
| help | |
| Select this if your implementation has the Class II instruction l.ff1 | |
| config OPENRISC_HAVE_INST_FL1 | |
| bool "Have instruction l.fl1" | |
| default y | |
| help | |
| Select this if your implementation has the Class II instruction l.fl1 | |
| config OPENRISC_HAVE_INST_MUL | |
| bool "Have instruction l.mul for hardware multiply" | |
| default y | |
| help | |
| Select this if your implementation has a hardware multiply instruction | |
| config OPENRISC_HAVE_INST_DIV | |
| bool "Have instruction l.div for hardware divide" | |
| default y | |
| help | |
| Select this if your implementation has a hardware divide instruction | |
| config OPENRISC_HAVE_INST_CMOV | |
| bool "Have instruction l.cmov for conditional move" | |
| default n | |
| help | |
| This config enables gcc to generate l.cmov instructions when compiling | |
| the kernel which in general will improve performance and reduce the | |
| binary size. | |
| Select this if your implementation has support for the Class II | |
| l.cmov conistional move instruction. | |
| Say N if you are unsure. | |
| config OPENRISC_HAVE_INST_ROR | |
| bool "Have instruction l.ror for rotate right" | |
| default n | |
| help | |
| This config enables gcc to generate l.ror instructions when compiling | |
| the kernel which in general will improve performance and reduce the | |
| binary size. | |
| Select this if your implementation has support for the Class II | |
| l.ror rotate right instruction. | |
| Say N if you are unsure. | |
| config OPENRISC_HAVE_INST_RORI | |
| bool "Have instruction l.rori for rotate right with immediate" | |
| default n | |
| help | |
| This config enables gcc to generate l.rori instructions when compiling | |
| the kernel which in general will improve performance and reduce the | |
| binary size. | |
| Select this if your implementation has support for the Class II | |
| l.rori rotate right with immediate instruction. | |
| Say N if you are unsure. | |
| config OPENRISC_HAVE_INST_SEXT | |
| bool "Have instructions l.ext* for sign extension" | |
| default n | |
| help | |
| This config enables gcc to generate l.ext* instructions when compiling | |
| the kernel which in general will improve performance and reduce the | |
| binary size. | |
| Select this if your implementation has support for the Class II | |
| l.exths, l.extbs, l.exthz and l.extbz size extend instructions. | |
| Say N if you are unsure. | |
| endmenu | |
| config NR_CPUS | |
| int "Maximum number of CPUs (2-32)" | |
| range 2 32 | |
| depends on SMP | |
| default "2" | |
| config SMP | |
| bool "Symmetric Multi-Processing support" | |
| help | |
| This enables support for systems with more than one CPU. If you have | |
| a system with only one CPU, say N. If you have a system with more | |
| than one CPU, say Y. | |
| If you don't know what to do here, say N. | |
| source "kernel/Kconfig.hz" | |
| config OPENRISC_NO_SPR_SR_DSX | |
| bool "use SPR_SR_DSX software emulation" if OR1K_1200 | |
| default y | |
| help | |
| SPR_SR_DSX bit is status register bit indicating whether | |
| the last exception has happened in delay slot. | |
| OpenRISC architecture makes it optional to have it implemented | |
| in hardware and the OR1200 does not have it. | |
| Say N here if you know that your OpenRISC processor has | |
| SPR_SR_DSX bit implemented. Say Y if you are unsure. | |
| config OPENRISC_HAVE_SHADOW_GPRS | |
| bool "Support for shadow gpr files" if !SMP | |
| default y if SMP | |
| help | |
| Say Y here if your OpenRISC processor features shadowed | |
| register files. They will in such case be used as a | |
| scratch reg storage on exception entry. | |
| On SMP systems, this feature is mandatory. | |
| On a unicore system it's safe to say N here if you are unsure. | |
| config CMDLINE | |
| string "Default kernel command string" | |
| default "" | |
| help | |
| On some architectures there is currently no way for the boot loader | |
| to pass arguments to the kernel. For these architectures, you should | |
| supply some command-line options at build time by entering them | |
| here. | |
| menu "Debugging options" | |
| config JUMP_UPON_UNHANDLED_EXCEPTION | |
| bool "Try to die gracefully" | |
| default y | |
| help | |
| Now this puts kernel into infinite loop after first oops. Till | |
| your kernel crashes this doesn't have any influence. | |
| Say Y if you are unsure. | |
| config OPENRISC_ESR_EXCEPTION_BUG_CHECK | |
| bool "Check for possible ESR exception bug" | |
| default n | |
| help | |
| This option enables some checks that might expose some problems | |
| in kernel. | |
| Say N if you are unsure. | |
| endmenu | |
| endmenu |