Kconfig 9.0 KB

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