| .. | .. |
|---|
| 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. |
|---|