Kconfig 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. config SYMBOL_PREFIX
  2. string
  3. default "_"
  4. config METAG
  5. def_bool y
  6. select EMBEDDED
  7. select GENERIC_ATOMIC64
  8. select GENERIC_CLOCKEVENTS
  9. select GENERIC_IRQ_SHOW
  10. select GENERIC_SMP_IDLE_THREAD
  11. select HAVE_64BIT_ALIGNED_ACCESS
  12. select HAVE_ARCH_TRACEHOOK
  13. select HAVE_C_RECORDMCOUNT
  14. select HAVE_DEBUG_KMEMLEAK
  15. select HAVE_DYNAMIC_FTRACE
  16. select HAVE_FTRACE_MCOUNT_RECORD
  17. select HAVE_FUNCTION_TRACER
  18. select HAVE_FUNCTION_TRACE_MCOUNT_TEST
  19. select HAVE_GENERIC_HARDIRQS
  20. select HAVE_KERNEL_BZIP2
  21. select HAVE_KERNEL_GZIP
  22. select HAVE_KERNEL_LZO
  23. select HAVE_KERNEL_XZ
  24. select HAVE_MEMBLOCK
  25. select HAVE_MEMBLOCK_NODE_MAP
  26. select HAVE_MOD_ARCH_SPECIFIC
  27. select HAVE_OPROFILE
  28. select HAVE_PERF_EVENTS
  29. select HAVE_SYSCALL_TRACEPOINTS
  30. select IRQ_DOMAIN
  31. select MODULES_USE_ELF_RELA
  32. select OF
  33. select OF_EARLY_FLATTREE
  34. select SPARSE_IRQ
  35. config STACKTRACE_SUPPORT
  36. def_bool y
  37. config LOCKDEP_SUPPORT
  38. def_bool y
  39. config HAVE_LATENCYTOP_SUPPORT
  40. def_bool y
  41. config RWSEM_GENERIC_SPINLOCK
  42. def_bool y
  43. config RWSEM_XCHGADD_ALGORITHM
  44. bool
  45. config GENERIC_HWEIGHT
  46. def_bool y
  47. config GENERIC_CALIBRATE_DELAY
  48. def_bool y
  49. config GENERIC_GPIO
  50. def_bool n
  51. config NO_IOPORT
  52. def_bool y
  53. source "init/Kconfig"
  54. source "kernel/Kconfig.freezer"
  55. menu "Processor type and features"
  56. config MMU
  57. def_bool y
  58. config STACK_GROWSUP
  59. def_bool y
  60. config HOTPLUG_CPU
  61. bool "Enable CPU hotplug support"
  62. depends on SMP
  63. help
  64. Say Y here to allow turning CPUs off and on. CPUs can be
  65. controlled through /sys/devices/system/cpu.
  66. Say N if you want to disable CPU hotplug.
  67. config HIGHMEM
  68. bool "High Memory Support"
  69. help
  70. The address space of Meta processors is only 4 Gigabytes large
  71. and it has to accommodate user address space, kernel address
  72. space as well as some memory mapped IO. That means that, if you
  73. have a large amount of physical memory and/or IO, not all of the
  74. memory can be "permanently mapped" by the kernel. The physical
  75. memory that is not permanently mapped is called "high memory".
  76. Depending on the selected kernel/user memory split, minimum
  77. vmalloc space and actual amount of RAM, you may not need this
  78. option which should result in a slightly faster kernel.
  79. If unsure, say n.
  80. source "arch/metag/mm/Kconfig"
  81. source "arch/metag/Kconfig.soc"
  82. config METAG_META12
  83. bool
  84. help
  85. Select this from the SoC config symbol to indicate that it contains a
  86. Meta 1.2 core.
  87. config METAG_META21
  88. bool
  89. help
  90. Select this from the SoC config symbol to indicate that it contains a
  91. Meta 2.1 core.
  92. config SMP
  93. bool "Symmetric multi-processing support"
  94. depends on METAG_META21 && METAG_META21_MMU
  95. select USE_GENERIC_SMP_HELPERS
  96. help
  97. This enables support for systems with more than one thread running
  98. Linux. If you have a system with only one thread running Linux,
  99. say N. Otherwise, say Y.
  100. config NR_CPUS
  101. int "Maximum number of CPUs (2-4)" if SMP
  102. range 2 4 if SMP
  103. default "1" if !SMP
  104. default "4" if SMP
  105. config METAG_SMP_WRITE_REORDERING
  106. bool
  107. help
  108. This attempts to prevent cache-memory incoherence due to external
  109. reordering of writes from different hardware threads when SMP is
  110. enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an
  111. attempt to catch some of the cases, and also before writes to shared
  112. memory in LOCK1 protected atomics and spinlocks.
  113. This will not completely prevent cache incoherency on affected cores.
  114. config METAG_LNKGET_AROUND_CACHE
  115. bool
  116. depends on METAG_META21
  117. help
  118. This indicates that the LNKGET/LNKSET instructions go around the
  119. cache, which requires some extra cache flushes when the memory needs
  120. to be accessed by normal GET/SET instructions too.
  121. choice
  122. prompt "Atomicity primitive"
  123. default METAG_ATOMICITY_LNKGET
  124. help
  125. This option selects the mechanism for performing atomic operations.
  126. config METAG_ATOMICITY_IRQSOFF
  127. depends on !SMP
  128. bool "irqsoff"
  129. help
  130. This option disables interrupts to achieve atomicity. This mechanism
  131. is not SMP-safe.
  132. config METAG_ATOMICITY_LNKGET
  133. depends on METAG_META21
  134. bool "lnkget/lnkset"
  135. help
  136. This option uses the LNKGET and LNKSET instructions to achieve
  137. atomicity. LNKGET/LNKSET are load-link/store-conditional instructions.
  138. Choose this option if your system requires low latency.
  139. config METAG_ATOMICITY_LOCK1
  140. depends on SMP
  141. bool "lock1"
  142. help
  143. This option uses the LOCK1 instruction for atomicity. This is mainly
  144. provided as a debugging aid if the lnkget/lnkset atomicity primitive
  145. isn't working properly.
  146. endchoice
  147. config METAG_FPU
  148. bool "FPU Support"
  149. depends on METAG_META21
  150. default y
  151. help
  152. This option allows processes to use FPU hardware available with this
  153. CPU. If this option is not enabled FPU registers will not be saved
  154. and restored on context-switch.
  155. If you plan on running programs which are compiled to use hard floats
  156. say Y here.
  157. config METAG_DSP
  158. bool "DSP Support"
  159. help
  160. This option allows processes to use DSP hardware available
  161. with this CPU. If this option is not enabled DSP registers
  162. will not be saved and restored on context-switch.
  163. If you plan on running DSP programs say Y here.
  164. config METAG_PERFCOUNTER_IRQS
  165. bool "PerfCounters interrupt support"
  166. depends on METAG_META21
  167. help
  168. This option enables using interrupts to collect information from
  169. Performance Counters. This option is supported in new META21
  170. (starting from HTP265).
  171. When disabled, Performance Counters information will be collected
  172. based on Timer Interrupt.
  173. config HW_PERF_EVENTS
  174. def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS
  175. config METAG_DA
  176. bool "DA support"
  177. help
  178. Say Y if you plan to use a DA debug adapter with Linux. The presence
  179. of the DA will be detected automatically at boot, so it is safe to say
  180. Y to this option even when booting without a DA.
  181. This enables support for services provided by DA JTAG debug adapters,
  182. such as:
  183. - communication over DA channels (such as the console driver).
  184. - use of the DA filesystem.
  185. menu "Boot options"
  186. config METAG_BUILTIN_DTB
  187. bool "Embed DTB in kernel image"
  188. default y
  189. help
  190. Embeds a device tree binary in the kernel image.
  191. config METAG_BUILTIN_DTB_NAME
  192. string "Built in DTB"
  193. depends on METAG_BUILTIN_DTB
  194. help
  195. Set the name of the DTB to embed (leave blank to pick one
  196. automatically based on kernel configuration).
  197. config CMDLINE_BOOL
  198. bool "Default bootloader kernel arguments"
  199. config CMDLINE
  200. string "Kernel command line"
  201. depends on CMDLINE_BOOL
  202. help
  203. On some architectures there is currently no way for the boot loader
  204. to pass arguments to the kernel. For these architectures, you should
  205. supply some command-line options at build time by entering them
  206. here.
  207. config CMDLINE_FORCE
  208. bool "Force default kernel command string"
  209. depends on CMDLINE_BOOL
  210. help
  211. Set this to have arguments from the default kernel command string
  212. override those passed by the boot loader.
  213. endmenu
  214. source "kernel/Kconfig.preempt"
  215. source kernel/Kconfig.hz
  216. endmenu
  217. menu "Power management options"
  218. source kernel/power/Kconfig
  219. endmenu
  220. menu "Executable file formats"
  221. source "fs/Kconfig.binfmt"
  222. endmenu
  223. source "net/Kconfig"
  224. source "drivers/Kconfig"
  225. source "fs/Kconfig"
  226. source "arch/metag/Kconfig.debug"
  227. source "security/Kconfig"
  228. source "crypto/Kconfig"
  229. source "lib/Kconfig"