123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- # 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
|