| .. | .. | 
|---|
| 1 | 1 |  # SPDX-License-Identifier: GPL-2.0 | 
|---|
| 2 | 2 |  config PARISC | 
|---|
| 3 | 3 |  	def_bool y | 
|---|
 | 4 | +	select ARCH_32BIT_OFF_T if !64BIT  | 
|---|
| 4 | 5 |  	select ARCH_MIGHT_HAVE_PC_PARPORT | 
|---|
| 5 | 6 |  	select HAVE_IDE | 
|---|
| 6 | 7 |  	select HAVE_OPROFILE | 
|---|
| .. | .. | 
|---|
| 10 | 11 |  	select ARCH_WANT_FRAME_POINTERS | 
|---|
| 11 | 12 |  	select ARCH_HAS_ELF_RANDOMIZE | 
|---|
| 12 | 13 |  	select ARCH_HAS_STRICT_KERNEL_RWX | 
|---|
 | 14 | +	select ARCH_HAS_STRICT_MODULE_RWX  | 
|---|
| 13 | 15 |  	select ARCH_HAS_UBSAN_SANITIZE_ALL | 
|---|
 | 16 | +	select ARCH_NO_SG_CHAIN  | 
|---|
| 14 | 17 |  	select ARCH_SUPPORTS_MEMORY_FAILURE | 
|---|
 | 18 | +	select DMA_OPS  | 
|---|
| 15 | 19 |  	select RTC_CLASS | 
|---|
| 16 | 20 |  	select RTC_DRV_GENERIC | 
|---|
| 17 | 21 |  	select INIT_ALL_POSSIBLE | 
|---|
| 18 |  | -	select HAVE_MEMBLOCK  | 
|---|
| 19 |  | -	select NO_BOOTMEM  | 
|---|
| 20 | 22 |  	select BUG | 
|---|
| 21 |  | -	select BUILDTIME_EXTABLE_SORT  | 
|---|
 | 23 | +	select BUILDTIME_TABLE_SORT  | 
|---|
 | 24 | +	select HAVE_PCI  | 
|---|
| 22 | 25 |  	select HAVE_PERF_EVENTS | 
|---|
| 23 | 26 |  	select HAVE_KERNEL_BZIP2 | 
|---|
| 24 | 27 |  	select HAVE_KERNEL_GZIP | 
|---|
| .. | .. | 
|---|
| 35 | 38 |  	select GENERIC_STRNCPY_FROM_USER | 
|---|
| 36 | 39 |  	select SYSCTL_ARCH_UNALIGN_ALLOW | 
|---|
| 37 | 40 |  	select SYSCTL_EXCEPTION_TRACE | 
|---|
| 38 |  | -	select ARCH_DISCARD_MEMBLOCK  | 
|---|
| 39 | 41 |  	select HAVE_MOD_ARCH_SPECIFIC | 
|---|
| 40 | 42 |  	select VIRT_TO_BUS | 
|---|
| 41 | 43 |  	select MODULES_USE_ELF_RELA | 
|---|
| .. | .. | 
|---|
| 44 | 46 |  	select HAVE_DEBUG_STACKOVERFLOW | 
|---|
| 45 | 47 |  	select HAVE_ARCH_AUDITSYSCALL | 
|---|
| 46 | 48 |  	select HAVE_ARCH_HASH | 
|---|
 | 49 | +	select HAVE_ARCH_JUMP_LABEL  | 
|---|
 | 50 | +	select HAVE_ARCH_JUMP_LABEL_RELATIVE  | 
|---|
| 47 | 51 |  	select HAVE_ARCH_SECCOMP_FILTER | 
|---|
| 48 | 52 |  	select HAVE_ARCH_TRACEHOOK | 
|---|
| 49 | 53 |  	select HAVE_REGS_AND_STACK_ACCESS_API | 
|---|
| 50 | 54 |  	select GENERIC_SCHED_CLOCK | 
|---|
| 51 | 55 |  	select HAVE_UNSTABLE_SCHED_CLOCK if SMP | 
|---|
| 52 | 56 |  	select GENERIC_CLOCKEVENTS | 
|---|
| 53 |  | -	select ARCH_NO_COHERENT_DMA_MMAP  | 
|---|
| 54 | 57 |  	select CPU_NO_EFFICIENT_FFS | 
|---|
| 55 | 58 |  	select NEED_DMA_MAP_STATE | 
|---|
| 56 | 59 |  	select NEED_SG_DMA_LENGTH | 
|---|
 | 60 | +	select HAVE_ARCH_KGDB  | 
|---|
 | 61 | +	select HAVE_KPROBES  | 
|---|
 | 62 | +	select HAVE_KRETPROBES  | 
|---|
 | 63 | +	select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)  | 
|---|
 | 64 | +	select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE  | 
|---|
 | 65 | +	select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE  | 
|---|
 | 66 | +	select HAVE_KPROBES_ON_FTRACE  | 
|---|
 | 67 | +	select HAVE_DYNAMIC_FTRACE_WITH_REGS  | 
|---|
 | 68 | +	select SET_FS  | 
|---|
| 57 | 69 |   | 
|---|
| 58 | 70 |  	help | 
|---|
| 59 | 71 |  	  The PA-RISC microprocessor is designed by Hewlett-Packard and used | 
|---|
| 60 | 72 |  	  in many of their workstations & servers (HP9000 700 and 800 series, | 
|---|
| 61 | 73 |  	  and later HP3000 series).  The PA-RISC Linux project home page is | 
|---|
| 62 |  | -	  at <http://www.parisc-linux.org/>.  | 
|---|
 | 74 | +	  at <https://parisc.wiki.kernel.org>.  | 
|---|
| 63 | 75 |   | 
|---|
| 64 | 76 |  config CPU_BIG_ENDIAN | 
|---|
| 65 | 77 |  	def_bool y | 
|---|
| .. | .. | 
|---|
| 70 | 82 |  config STACK_GROWSUP | 
|---|
| 71 | 83 |  	def_bool y | 
|---|
| 72 | 84 |   | 
|---|
 | 85 | +config ARCH_DEFCONFIG  | 
|---|
 | 86 | +	string  | 
|---|
 | 87 | +	default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT  | 
|---|
 | 88 | +	default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT  | 
|---|
 | 89 | +  | 
|---|
| 73 | 90 |  config GENERIC_LOCKBREAK | 
|---|
| 74 | 91 |  	bool | 
|---|
| 75 | 92 |  	default y | 
|---|
| 76 |  | -	depends on SMP && PREEMPT  | 
|---|
| 77 |  | -  | 
|---|
| 78 |  | -config RWSEM_GENERIC_SPINLOCK  | 
|---|
| 79 |  | -	def_bool y  | 
|---|
| 80 |  | -  | 
|---|
| 81 |  | -config RWSEM_XCHGADD_ALGORITHM  | 
|---|
| 82 |  | -	bool  | 
|---|
 | 93 | +	depends on SMP && PREEMPTION  | 
|---|
| 83 | 94 |   | 
|---|
| 84 | 95 |  config ARCH_HAS_ILOG2_U32 | 
|---|
| 85 | 96 |  	bool | 
|---|
| .. | .. | 
|---|
| 139 | 150 |   | 
|---|
| 140 | 151 |  config PA7000 | 
|---|
| 141 | 152 |  	bool "PA7000/PA7100" | 
|---|
| 142 |  | -	---help---  | 
|---|
 | 153 | +	help  | 
|---|
| 143 | 154 |  	  This is the processor type of your CPU.  This information is | 
|---|
| 144 | 155 |  	  used for optimizing purposes.  In order to compile a kernel | 
|---|
| 145 | 156 |  	  that can run on all 32-bit PA CPUs (albeit not optimally fast), | 
|---|
| .. | .. | 
|---|
| 187 | 198 |  	depends on PA7000 || PA7100LC || PA7200 || PA7300LC | 
|---|
| 188 | 199 |  	select ARCH_HAS_SYNC_DMA_FOR_CPU | 
|---|
| 189 | 200 |  	select ARCH_HAS_SYNC_DMA_FOR_DEVICE | 
|---|
| 190 |  | -	select DMA_NONCOHERENT_OPS  | 
|---|
| 191 |  | -	select DMA_NONCOHERENT_CACHE_SYNC  | 
|---|
| 192 | 201 |   | 
|---|
| 193 | 202 |  config PREFETCH | 
|---|
| 194 | 203 |  	def_bool y | 
|---|
| 195 | 204 |  	depends on PA8X00 || PA7200 | 
|---|
| 196 | 205 |   | 
|---|
 | 206 | +config PARISC_HUGE_KERNEL  | 
|---|
 | 207 | +	def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST  | 
|---|
 | 208 | +  | 
|---|
| 197 | 209 |  config MLONGCALLS | 
|---|
| 198 |  | -	bool "Enable the -mlong-calls compiler option for big kernels"  | 
|---|
| 199 |  | -	default y  | 
|---|
 | 210 | +	def_bool y if PARISC_HUGE_KERNEL  | 
|---|
 | 211 | +	bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL  | 
|---|
| 200 | 212 |  	depends on PA8X00 | 
|---|
| 201 | 213 |  	help | 
|---|
| 202 | 214 |  	  If you configure the kernel to include many drivers built-in instead | 
|---|
| .. | .. | 
|---|
| 267 | 279 |   | 
|---|
| 268 | 280 |  config SMP | 
|---|
| 269 | 281 |  	bool "Symmetric multi-processing support" | 
|---|
| 270 |  | -	---help---  | 
|---|
 | 282 | +	help  | 
|---|
| 271 | 283 |  	  This enables support for systems with more than one CPU. If you have | 
|---|
| 272 | 284 |  	  a system with only one CPU, say N. If you have a system with more | 
|---|
| 273 | 285 |  	  than one CPU, say Y. | 
|---|
| .. | .. | 
|---|
| 276 | 288 |  	  machines, but will use only one CPU of a multiprocessor machine. | 
|---|
| 277 | 289 |  	  On a uniprocessor machine, the kernel will run faster if you say N. | 
|---|
| 278 | 290 |   | 
|---|
| 279 |  | -	  See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO  | 
|---|
| 280 |  | -	  available at <http://www.tldp.org/docs.html#howto>.  | 
|---|
 | 291 | +	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO  | 
|---|
 | 292 | +	  available at <https://www.tldp.org/docs.html#howto>.  | 
|---|
| 281 | 293 |   | 
|---|
| 282 | 294 |  	  If you don't know what to do here, say N. | 
|---|
| 283 | 295 |   | 
|---|
| .. | .. | 
|---|
| 303 | 315 |  	  If you say Y here the kernel will use separate kernel stacks | 
|---|
| 304 | 316 |  	  for handling hard and soft interrupts.  This can help avoid | 
|---|
| 305 | 317 |  	  overflowing the process kernel stacks. | 
|---|
 | 318 | +  | 
|---|
 | 319 | +config TLB_PTLOCK  | 
|---|
 | 320 | +	bool "Use page table locks in TLB fault handler"  | 
|---|
 | 321 | +	depends on SMP  | 
|---|
 | 322 | +	default n  | 
|---|
 | 323 | +	help  | 
|---|
 | 324 | +	  Select this option to enable page table locking in the TLB  | 
|---|
 | 325 | +	  fault handler. This ensures that page table entries are  | 
|---|
 | 326 | +	  updated consistently on SMP machines at the expense of some  | 
|---|
 | 327 | +	  loss in performance.  | 
|---|
| 306 | 328 |   | 
|---|
| 307 | 329 |  config HOTPLUG_CPU | 
|---|
| 308 | 330 |  	bool | 
|---|
| .. | .. | 
|---|
| 343 | 365 |  	depends on SMP | 
|---|
| 344 | 366 |  	default "4" | 
|---|
| 345 | 367 |   | 
|---|
 | 368 | +config KEXEC  | 
|---|
 | 369 | +	bool "Kexec system call"  | 
|---|
 | 370 | +	select KEXEC_CORE  | 
|---|
 | 371 | +	help  | 
|---|
 | 372 | +	  kexec is a system call that implements the ability to shutdown your  | 
|---|
 | 373 | +	  current kernel, and to start another kernel.  It is like a reboot  | 
|---|
 | 374 | +	  but it is independent of the system firmware.   And like a reboot  | 
|---|
 | 375 | +	  you can start any kernel with it, not just Linux.  | 
|---|
 | 376 | +  | 
|---|
 | 377 | +	  It is an ongoing process to be certain the hardware in a machine  | 
|---|
 | 378 | +	  shutdown, so do not be surprised if this code does not  | 
|---|
 | 379 | +	  initially work for you.  | 
|---|
 | 380 | +  | 
|---|
 | 381 | +config KEXEC_FILE  | 
|---|
 | 382 | +	bool "kexec file based system call"  | 
|---|
 | 383 | +	select KEXEC_CORE  | 
|---|
 | 384 | +	select KEXEC_ELF  | 
|---|
 | 385 | +	help  | 
|---|
 | 386 | +	  This enables the kexec_file_load() System call. This is  | 
|---|
 | 387 | +	  file based and takes file descriptors as system call argument  | 
|---|
 | 388 | +	  for kernel and initramfs as opposed to list of segments as  | 
|---|
 | 389 | +	  accepted by previous system call.  | 
|---|
 | 390 | +  | 
|---|
| 346 | 391 |  endmenu | 
|---|
| 347 | 392 |   | 
|---|
 | 393 | +source "drivers/firmware/Kconfig"  | 
|---|
| 348 | 394 |   | 
|---|
| 349 | 395 |  source "drivers/parisc/Kconfig" | 
|---|
| 350 |  | -  | 
|---|
| 351 |  | -config SECCOMP  | 
|---|
| 352 |  | -	def_bool y  | 
|---|
| 353 |  | -	prompt "Enable seccomp to safely compute untrusted bytecode"  | 
|---|
| 354 |  | -	---help---  | 
|---|
| 355 |  | -	  This kernel feature is useful for number crunching applications  | 
|---|
| 356 |  | -	  that may need to compute untrusted bytecode during their  | 
|---|
| 357 |  | -	  execution. By using pipes or other transports made available to  | 
|---|
| 358 |  | -	  the process as file descriptors supporting the read/write  | 
|---|
| 359 |  | -	  syscalls, it's possible to isolate those applications in  | 
|---|
| 360 |  | -	  their own address space using seccomp. Once seccomp is  | 
|---|
| 361 |  | -	  enabled via prctl(PR_SET_SECCOMP), it cannot be disabled  | 
|---|
| 362 |  | -	  and the task is only allowed to execute a few safe syscalls  | 
|---|
| 363 |  | -	  defined by each seccomp mode.  | 
|---|
| 364 |  | -  | 
|---|
| 365 |  | -	  If unsure, say Y. Only embedded should say N here.  | 
|---|