Kconfig 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # For a description of the syntax of this configuration file,
  4. # see Documentation/kbuild/kconfig-language.txt.
  5. #
  6. config OPENRISC
  7. def_bool y
  8. select OF
  9. select OF_EARLY_FLATTREE
  10. select IRQ_DOMAIN
  11. select HANDLE_DOMAIN_IRQ
  12. select HAVE_MEMBLOCK
  13. select GPIOLIB
  14. select HAVE_ARCH_TRACEHOOK
  15. select SPARSE_IRQ
  16. select GENERIC_IRQ_CHIP
  17. select GENERIC_IRQ_PROBE
  18. select GENERIC_IRQ_SHOW
  19. select GENERIC_IOMAP
  20. select GENERIC_CPU_DEVICES
  21. select HAVE_UID16
  22. select GENERIC_ATOMIC64
  23. select GENERIC_CLOCKEVENTS
  24. select GENERIC_CLOCKEVENTS_BROADCAST
  25. select GENERIC_STRNCPY_FROM_USER
  26. select GENERIC_STRNLEN_USER
  27. select GENERIC_SMP_IDLE_THREAD
  28. select MODULES_USE_ELF_RELA
  29. select MULTI_IRQ_HANDLER
  30. select HAVE_DEBUG_STACKOVERFLOW
  31. select OR1K_PIC
  32. select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
  33. select NO_BOOTMEM
  34. select ARCH_USE_QUEUED_SPINLOCKS
  35. select ARCH_USE_QUEUED_RWLOCKS
  36. select OMPIC if SMP
  37. select ARCH_WANT_FRAME_POINTERS
  38. config CPU_BIG_ENDIAN
  39. def_bool y
  40. config MMU
  41. def_bool y
  42. config RWSEM_GENERIC_SPINLOCK
  43. def_bool y
  44. config RWSEM_XCHGADD_ALGORITHM
  45. def_bool n
  46. config GENERIC_HWEIGHT
  47. def_bool y
  48. config NO_IOPORT_MAP
  49. def_bool y
  50. config TRACE_IRQFLAGS_SUPPORT
  51. def_bool y
  52. # For now, use generic checksum functions
  53. #These can be reimplemented in assembly later if so inclined
  54. config GENERIC_CSUM
  55. def_bool y
  56. config STACKTRACE_SUPPORT
  57. def_bool y
  58. config LOCKDEP_SUPPORT
  59. def_bool y
  60. config MULTI_IRQ_HANDLER
  61. def_bool y
  62. source "init/Kconfig"
  63. source "kernel/Kconfig.freezer"
  64. menu "Processor type and features"
  65. choice
  66. prompt "Subarchitecture"
  67. default OR1K_1200
  68. config OR1K_1200
  69. bool "OR1200"
  70. help
  71. Generic OpenRISC 1200 architecture
  72. endchoice
  73. config DCACHE_WRITETHROUGH
  74. bool "Have write through data caches"
  75. default n
  76. help
  77. Select this if your implementation features write through data caches.
  78. Selecting 'N' here will allow the kernel to force flushing of data
  79. caches at relevant times. Most OpenRISC implementations support write-
  80. through data caches.
  81. If unsure say N here
  82. config OPENRISC_BUILTIN_DTB
  83. string "Builtin DTB"
  84. default ""
  85. menu "Class II Instructions"
  86. config OPENRISC_HAVE_INST_FF1
  87. bool "Have instruction l.ff1"
  88. default y
  89. help
  90. Select this if your implementation has the Class II instruction l.ff1
  91. config OPENRISC_HAVE_INST_FL1
  92. bool "Have instruction l.fl1"
  93. default y
  94. help
  95. Select this if your implementation has the Class II instruction l.fl1
  96. config OPENRISC_HAVE_INST_MUL
  97. bool "Have instruction l.mul for hardware multiply"
  98. default y
  99. help
  100. Select this if your implementation has a hardware multiply instruction
  101. config OPENRISC_HAVE_INST_DIV
  102. bool "Have instruction l.div for hardware divide"
  103. default y
  104. help
  105. Select this if your implementation has a hardware divide instruction
  106. endmenu
  107. config NR_CPUS
  108. int "Maximum number of CPUs (2-32)"
  109. range 2 32
  110. depends on SMP
  111. default "2"
  112. config SMP
  113. bool "Symmetric Multi-Processing support"
  114. help
  115. This enables support for systems with more than one CPU. If you have
  116. a system with only one CPU, say N. If you have a system with more
  117. than one CPU, say Y.
  118. If you don't know what to do here, say N.
  119. source kernel/Kconfig.hz
  120. source kernel/Kconfig.preempt
  121. source "mm/Kconfig"
  122. config OPENRISC_NO_SPR_SR_DSX
  123. bool "use SPR_SR_DSX software emulation" if OR1K_1200
  124. default y
  125. help
  126. SPR_SR_DSX bit is status register bit indicating whether
  127. the last exception has happened in delay slot.
  128. OpenRISC architecture makes it optional to have it implemented
  129. in hardware and the OR1200 does not have it.
  130. Say N here if you know that your OpenRISC processor has
  131. SPR_SR_DSX bit implemented. Say Y if you are unsure.
  132. config OPENRISC_HAVE_SHADOW_GPRS
  133. bool "Support for shadow gpr files" if !SMP
  134. default y if SMP
  135. help
  136. Say Y here if your OpenRISC processor features shadowed
  137. register files. They will in such case be used as a
  138. scratch reg storage on exception entry.
  139. On SMP systems, this feature is mandatory.
  140. On a unicore system it's safe to say N here if you are unsure.
  141. config CMDLINE
  142. string "Default kernel command string"
  143. default ""
  144. help
  145. On some architectures there is currently no way for the boot loader
  146. to pass arguments to the kernel. For these architectures, you should
  147. supply some command-line options at build time by entering them
  148. here.
  149. menu "Debugging options"
  150. config JUMP_UPON_UNHANDLED_EXCEPTION
  151. bool "Try to die gracefully"
  152. default y
  153. help
  154. Now this puts kernel into infinite loop after first oops. Till
  155. your kernel crashes this doesn't have any influence.
  156. Say Y if you are unsure.
  157. config OPENRISC_ESR_EXCEPTION_BUG_CHECK
  158. bool "Check for possible ESR exception bug"
  159. default n
  160. help
  161. This option enables some checks that might expose some problems
  162. in kernel.
  163. Say N if you are unsure.
  164. endmenu
  165. endmenu
  166. menu "Executable file formats"
  167. source "fs/Kconfig.binfmt"
  168. endmenu
  169. source "net/Kconfig"
  170. source "drivers/Kconfig"
  171. source "fs/Kconfig"
  172. source "security/Kconfig"
  173. source "crypto/Kconfig"
  174. source "lib/Kconfig"
  175. menu "Kernel hacking"
  176. source "lib/Kconfig.debug"
  177. endmenu