Kconfig 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. # SPDX-License-Identifier: GPL-2.0
  2. config PARISC
  3. def_bool y
  4. select ARCH_MIGHT_HAVE_PC_PARPORT
  5. select HAVE_IDE
  6. select HAVE_OPROFILE
  7. select HAVE_FUNCTION_TRACER
  8. select HAVE_FUNCTION_GRAPH_TRACER
  9. select HAVE_SYSCALL_TRACEPOINTS
  10. select ARCH_WANT_FRAME_POINTERS
  11. select ARCH_HAS_ELF_RANDOMIZE
  12. select ARCH_HAS_STRICT_KERNEL_RWX
  13. select ARCH_HAS_UBSAN_SANITIZE_ALL
  14. select ARCH_SUPPORTS_MEMORY_FAILURE
  15. select RTC_CLASS
  16. select RTC_DRV_GENERIC
  17. select INIT_ALL_POSSIBLE
  18. select HAVE_MEMBLOCK
  19. select NO_BOOTMEM
  20. select BUG
  21. select BUILDTIME_EXTABLE_SORT
  22. select HAVE_PERF_EVENTS
  23. select HAVE_KERNEL_BZIP2
  24. select HAVE_KERNEL_GZIP
  25. select HAVE_KERNEL_LZ4
  26. select HAVE_KERNEL_LZMA
  27. select HAVE_KERNEL_LZO
  28. select HAVE_KERNEL_XZ
  29. select GENERIC_ATOMIC64 if !64BIT
  30. select GENERIC_IRQ_PROBE
  31. select GENERIC_PCI_IOMAP
  32. select ARCH_HAVE_NMI_SAFE_CMPXCHG
  33. select GENERIC_SMP_IDLE_THREAD
  34. select GENERIC_CPU_DEVICES
  35. select GENERIC_STRNCPY_FROM_USER
  36. select SYSCTL_ARCH_UNALIGN_ALLOW
  37. select SYSCTL_EXCEPTION_TRACE
  38. select HAVE_MOD_ARCH_SPECIFIC
  39. select VIRT_TO_BUS
  40. select MODULES_USE_ELF_RELA
  41. select CLONE_BACKWARDS
  42. select TTY # Needed for pdc_cons.c
  43. select HAVE_DEBUG_STACKOVERFLOW
  44. select HAVE_ARCH_AUDITSYSCALL
  45. select HAVE_ARCH_HASH
  46. select HAVE_ARCH_SECCOMP_FILTER
  47. select HAVE_ARCH_TRACEHOOK
  48. select HAVE_REGS_AND_STACK_ACCESS_API
  49. select GENERIC_SCHED_CLOCK
  50. select HAVE_UNSTABLE_SCHED_CLOCK if SMP
  51. select GENERIC_CLOCKEVENTS
  52. select ARCH_NO_COHERENT_DMA_MMAP
  53. select CPU_NO_EFFICIENT_FFS
  54. select NEED_DMA_MAP_STATE
  55. select NEED_SG_DMA_LENGTH
  56. help
  57. The PA-RISC microprocessor is designed by Hewlett-Packard and used
  58. in many of their workstations & servers (HP9000 700 and 800 series,
  59. and later HP3000 series). The PA-RISC Linux project home page is
  60. at <http://www.parisc-linux.org/>.
  61. config CPU_BIG_ENDIAN
  62. def_bool y
  63. config MMU
  64. def_bool y
  65. config STACK_GROWSUP
  66. def_bool y
  67. config GENERIC_LOCKBREAK
  68. bool
  69. default y
  70. depends on SMP && PREEMPT
  71. config RWSEM_GENERIC_SPINLOCK
  72. def_bool y
  73. config RWSEM_XCHGADD_ALGORITHM
  74. bool
  75. config ARCH_HAS_ILOG2_U32
  76. bool
  77. default n
  78. config ARCH_HAS_ILOG2_U64
  79. bool
  80. default n
  81. config GENERIC_BUG
  82. bool
  83. default y
  84. depends on BUG
  85. config GENERIC_HWEIGHT
  86. bool
  87. default y
  88. config GENERIC_CALIBRATE_DELAY
  89. bool
  90. default y
  91. config TIME_LOW_RES
  92. bool
  93. depends on SMP
  94. default y
  95. # unless you want to implement ACPI on PA-RISC ... ;-)
  96. config PM
  97. bool
  98. config STACKTRACE_SUPPORT
  99. def_bool y
  100. config ISA_DMA_API
  101. bool
  102. config ARCH_MAY_HAVE_PC_FDC
  103. bool
  104. depends on BROKEN
  105. default y
  106. config PGTABLE_LEVELS
  107. int
  108. default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
  109. default 2
  110. config SYS_SUPPORTS_HUGETLBFS
  111. def_bool y if PA20
  112. menu "Processor type and features"
  113. choice
  114. prompt "Processor type"
  115. default PA7000
  116. config PA7000
  117. bool "PA7000/PA7100"
  118. ---help---
  119. This is the processor type of your CPU. This information is
  120. used for optimizing purposes. In order to compile a kernel
  121. that can run on all 32-bit PA CPUs (albeit not optimally fast),
  122. you can specify "PA7000" here.
  123. Specifying "PA8000" here will allow you to select a 64-bit kernel
  124. which is required on some machines.
  125. config PA7100LC
  126. bool "PA7100LC"
  127. help
  128. Select this option for the PCX-L processor, as used in the
  129. 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
  130. D200, D210, D300, D310 and E-class
  131. config PA7200
  132. bool "PA7200"
  133. help
  134. Select this option for the PCX-T' processor, as used in the
  135. C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
  136. K100, K200, K210, K220, K400, K410 and K420
  137. config PA7300LC
  138. bool "PA7300LC"
  139. help
  140. Select this option for the PCX-L2 processor, as used in the
  141. 744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
  142. D220, D230, D320 and D330.
  143. config PA8X00
  144. bool "PA8000 and up"
  145. help
  146. Select this option for PCX-U to PCX-W2 processors.
  147. endchoice
  148. # Define implied options from the CPU selection here
  149. config PA20
  150. def_bool y
  151. depends on PA8X00
  152. config PA11
  153. def_bool y
  154. depends on PA7000 || PA7100LC || PA7200 || PA7300LC
  155. select ARCH_HAS_SYNC_DMA_FOR_CPU
  156. select ARCH_HAS_SYNC_DMA_FOR_DEVICE
  157. select DMA_NONCOHERENT_OPS
  158. select DMA_NONCOHERENT_CACHE_SYNC
  159. config PREFETCH
  160. def_bool y
  161. depends on PA8X00 || PA7200
  162. config MLONGCALLS
  163. bool "Enable the -mlong-calls compiler option for big kernels"
  164. default y
  165. depends on PA8X00
  166. help
  167. If you configure the kernel to include many drivers built-in instead
  168. as modules, the kernel executable may become too big, so that the
  169. linker will not be able to resolve some long branches and fails to link
  170. your vmlinux kernel. In that case enabling this option will help you
  171. to overcome this limit by using the -mlong-calls compiler option.
  172. Usually you want to say N here, unless you e.g. want to build
  173. a kernel which includes all necessary drivers built-in and which can
  174. be used for TFTP booting without the need to have an initrd ramdisk.
  175. Enabling this option will probably slow down your kernel.
  176. config 64BIT
  177. bool "64-bit kernel"
  178. depends on PA8X00
  179. help
  180. Enable this if you want to support 64bit kernel on PA-RISC platform.
  181. At the moment, only people willing to use more than 2GB of RAM,
  182. or having a 64bit-only capable PA-RISC machine should say Y here.
  183. Since there is no 64bit userland on PA-RISC, there is no point to
  184. enable this option otherwise. The 64bit kernel is significantly bigger
  185. and slower than the 32bit one.
  186. choice
  187. prompt "Kernel page size"
  188. default PARISC_PAGE_SIZE_4KB
  189. config PARISC_PAGE_SIZE_4KB
  190. bool "4KB"
  191. help
  192. This lets you select the page size of the kernel. For best
  193. performance, a page size of 16KB is recommended. For best
  194. compatibility with 32bit applications, a page size of 4KB should be
  195. selected (the vast majority of 32bit binaries work perfectly fine
  196. with a larger page size).
  197. 4KB For best 32bit compatibility
  198. 16KB For best performance
  199. 64KB For best performance, might give more overhead.
  200. If you don't know what to do, choose 4KB.
  201. config PARISC_PAGE_SIZE_16KB
  202. bool "16KB"
  203. depends on PA8X00 && BROKEN
  204. config PARISC_PAGE_SIZE_64KB
  205. bool "64KB"
  206. depends on PA8X00 && BROKEN
  207. endchoice
  208. config PARISC_SELF_EXTRACT
  209. bool "Build kernel as self-extracting executable"
  210. default y
  211. help
  212. Say Y if you want to build the parisc kernel as a kind of
  213. self-extracting executable.
  214. If you say N here, the kernel will be compressed with gzip
  215. which can be loaded by the palo bootloader directly too.
  216. If you don't know what to do here, say Y.
  217. config SMP
  218. bool "Symmetric multi-processing support"
  219. ---help---
  220. This enables support for systems with more than one CPU. If you have
  221. a system with only one CPU, say N. If you have a system with more
  222. than one CPU, say Y.
  223. If you say N here, the kernel will run on uni- and multiprocessor
  224. machines, but will use only one CPU of a multiprocessor machine.
  225. On a uniprocessor machine, the kernel will run faster if you say N.
  226. See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO
  227. available at <http://www.tldp.org/docs.html#howto>.
  228. If you don't know what to do here, say N.
  229. config PARISC_CPU_TOPOLOGY
  230. bool "Support cpu topology definition"
  231. depends on SMP
  232. default y
  233. help
  234. Support PARISC cpu topology definition.
  235. config SCHED_MC
  236. bool "Multi-core scheduler support"
  237. depends on PARISC_CPU_TOPOLOGY && PA8X00
  238. help
  239. Multi-core scheduler support improves the CPU scheduler's decision
  240. making when dealing with multi-core CPU chips at a cost of slightly
  241. increased overhead in some places. If unsure say N here.
  242. config IRQSTACKS
  243. bool "Use separate kernel stacks when processing interrupts"
  244. default y
  245. help
  246. If you say Y here the kernel will use separate kernel stacks
  247. for handling hard and soft interrupts. This can help avoid
  248. overflowing the process kernel stacks.
  249. config HOTPLUG_CPU
  250. bool
  251. default y if SMP
  252. config ARCH_SELECT_MEMORY_MODEL
  253. def_bool y
  254. depends on 64BIT
  255. config ARCH_DISCONTIGMEM_ENABLE
  256. def_bool y
  257. depends on 64BIT
  258. config ARCH_FLATMEM_ENABLE
  259. def_bool y
  260. config ARCH_DISCONTIGMEM_DEFAULT
  261. def_bool y
  262. depends on ARCH_DISCONTIGMEM_ENABLE
  263. config NODES_SHIFT
  264. int
  265. default "3"
  266. depends on NEED_MULTIPLE_NODES
  267. source "kernel/Kconfig.hz"
  268. config COMPAT
  269. def_bool y
  270. depends on 64BIT
  271. select COMPAT_BINFMT_ELF if BINFMT_ELF
  272. config SYSVIPC_COMPAT
  273. def_bool y
  274. depends on COMPAT && SYSVIPC
  275. config AUDIT_ARCH
  276. def_bool y
  277. config NR_CPUS
  278. int "Maximum number of CPUs (2-32)"
  279. range 2 32
  280. depends on SMP
  281. default "4"
  282. endmenu
  283. source "drivers/parisc/Kconfig"
  284. config SECCOMP
  285. def_bool y
  286. prompt "Enable seccomp to safely compute untrusted bytecode"
  287. ---help---
  288. This kernel feature is useful for number crunching applications
  289. that may need to compute untrusted bytecode during their
  290. execution. By using pipes or other transports made available to
  291. the process as file descriptors supporting the read/write
  292. syscalls, it's possible to isolate those applications in
  293. their own address space using seccomp. Once seccomp is
  294. enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
  295. and the task is only allowed to execute a few safe syscalls
  296. defined by each seccomp mode.
  297. If unsure, say Y. Only embedded should say N here.