1# SPDX-License-Identifier: GPL-2.0 2config 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_WANTS_UBSAN_NO_NULL 15 select ARCH_SUPPORTS_MEMORY_FAILURE 16 select RTC_CLASS 17 select RTC_DRV_GENERIC 18 select INIT_ALL_POSSIBLE 19 select HAVE_MEMBLOCK 20 select NO_BOOTMEM 21 select BUG 22 select BUILDTIME_EXTABLE_SORT 23 select HAVE_PERF_EVENTS 24 select HAVE_KERNEL_BZIP2 25 select HAVE_KERNEL_GZIP 26 select HAVE_KERNEL_LZ4 27 select HAVE_KERNEL_LZMA 28 select HAVE_KERNEL_LZO 29 select HAVE_KERNEL_XZ 30 select GENERIC_ATOMIC64 if !64BIT 31 select GENERIC_IRQ_PROBE 32 select GENERIC_PCI_IOMAP 33 select ARCH_HAVE_NMI_SAFE_CMPXCHG 34 select GENERIC_SMP_IDLE_THREAD 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 GENERIC_SCHED_CLOCK 49 select HAVE_UNSTABLE_SCHED_CLOCK if SMP 50 select GENERIC_CLOCKEVENTS 51 select ARCH_NO_COHERENT_DMA_MMAP 52 select CPU_NO_EFFICIENT_FFS 53 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 60config CPU_BIG_ENDIAN 61 def_bool y 62 63config CPU_BIG_ENDIAN 64 def_bool y 65 66config MMU 67 def_bool y 68 69config STACK_GROWSUP 70 def_bool y 71 72config GENERIC_LOCKBREAK 73 bool 74 default y 75 depends on SMP && PREEMPT 76 77config RWSEM_GENERIC_SPINLOCK 78 def_bool y 79 80config RWSEM_XCHGADD_ALGORITHM 81 bool 82 83config ARCH_HAS_ILOG2_U32 84 bool 85 default n 86 87config ARCH_HAS_ILOG2_U64 88 bool 89 default n 90 91config GENERIC_BUG 92 bool 93 default y 94 depends on BUG 95 96config GENERIC_HWEIGHT 97 bool 98 default y 99 100config GENERIC_CALIBRATE_DELAY 101 bool 102 default y 103 104config TIME_LOW_RES 105 bool 106 depends on SMP 107 default y 108 109# unless you want to implement ACPI on PA-RISC ... ;-) 110config PM 111 bool 112 113config STACKTRACE_SUPPORT 114 def_bool y 115 116config NEED_DMA_MAP_STATE 117 def_bool y 118 119config NEED_SG_DMA_LENGTH 120 def_bool y 121 122config ISA_DMA_API 123 bool 124 125config ARCH_MAY_HAVE_PC_FDC 126 bool 127 depends on BROKEN 128 default y 129 130config PGTABLE_LEVELS 131 int 132 default 3 if 64BIT && PARISC_PAGE_SIZE_4KB 133 default 2 134 135config SYS_SUPPORTS_HUGETLBFS 136 def_bool y if PA20 137 138source "init/Kconfig" 139 140source "kernel/Kconfig.freezer" 141 142 143menu "Processor type and features" 144 145choice 146 prompt "Processor type" 147 default PA7000 148 149config PA7000 150 bool "PA7000/PA7100" 151 ---help--- 152 This is the processor type of your CPU. This information is 153 used for optimizing purposes. In order to compile a kernel 154 that can run on all 32-bit PA CPUs (albeit not optimally fast), 155 you can specify "PA7000" here. 156 157 Specifying "PA8000" here will allow you to select a 64-bit kernel 158 which is required on some machines. 159 160config PA7100LC 161 bool "PA7100LC" 162 help 163 Select this option for the PCX-L processor, as used in the 164 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, 165 D200, D210, D300, D310 and E-class 166 167config PA7200 168 bool "PA7200" 169 help 170 Select this option for the PCX-T' processor, as used in the 171 C100, C110, J100, J110, J210XC, D250, D260, D350, D360, 172 K100, K200, K210, K220, K400, K410 and K420 173 174config PA7300LC 175 bool "PA7300LC" 176 help 177 Select this option for the PCX-L2 processor, as used in the 178 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, 179 D220, D230, D320 and D330. 180 181config PA8X00 182 bool "PA8000 and up" 183 help 184 Select this option for PCX-U to PCX-W2 processors. 185 186endchoice 187 188# Define implied options from the CPU selection here 189 190config PA20 191 def_bool y 192 depends on PA8X00 193 194config PA11 195 def_bool y 196 depends on PA7000 || PA7100LC || PA7200 || PA7300LC 197 198config PREFETCH 199 def_bool y 200 depends on PA8X00 || PA7200 201 202config MLONGCALLS 203 bool "Enable the -mlong-calls compiler option for big kernels" 204 default y 205 depends on PA8X00 206 help 207 If you configure the kernel to include many drivers built-in instead 208 as modules, the kernel executable may become too big, so that the 209 linker will not be able to resolve some long branches and fails to link 210 your vmlinux kernel. In that case enabling this option will help you 211 to overcome this limit by using the -mlong-calls compiler option. 212 213 Usually you want to say N here, unless you e.g. want to build 214 a kernel which includes all necessary drivers built-in and which can 215 be used for TFTP booting without the need to have an initrd ramdisk. 216 217 Enabling this option will probably slow down your kernel. 218 219config 64BIT 220 bool "64-bit kernel" 221 depends on PA8X00 222 help 223 Enable this if you want to support 64bit kernel on PA-RISC platform. 224 225 At the moment, only people willing to use more than 2GB of RAM, 226 or having a 64bit-only capable PA-RISC machine should say Y here. 227 228 Since there is no 64bit userland on PA-RISC, there is no point to 229 enable this option otherwise. The 64bit kernel is significantly bigger 230 and slower than the 32bit one. 231 232choice 233 prompt "Kernel page size" 234 default PARISC_PAGE_SIZE_4KB 235 236config PARISC_PAGE_SIZE_4KB 237 bool "4KB" 238 help 239 This lets you select the page size of the kernel. For best 240 performance, a page size of 16KB is recommended. For best 241 compatibility with 32bit applications, a page size of 4KB should be 242 selected (the vast majority of 32bit binaries work perfectly fine 243 with a larger page size). 244 245 4KB For best 32bit compatibility 246 16KB For best performance 247 64KB For best performance, might give more overhead. 248 249 If you don't know what to do, choose 4KB. 250 251config PARISC_PAGE_SIZE_16KB 252 bool "16KB" 253 depends on PA8X00 254 255config PARISC_PAGE_SIZE_64KB 256 bool "64KB" 257 depends on PA8X00 258 259endchoice 260 261config PARISC_SELF_EXTRACT 262 bool "Build kernel as self-extracting executable" 263 default y 264 help 265 Say Y if you want to build the parisc kernel as a kind of 266 self-extracting executable. 267 268 If you say N here, the kernel will be compressed with gzip 269 which can be loaded by the palo bootloader directly too. 270 271 If you don't know what to do here, say Y. 272 273config SMP 274 bool "Symmetric multi-processing support" 275 ---help--- 276 This enables support for systems with more than one CPU. If you have 277 a system with only one CPU, say N. If you have a system with more 278 than one CPU, say Y. 279 280 If you say N here, the kernel will run on uni- and multiprocessor 281 machines, but will use only one CPU of a multiprocessor machine. If 282 you say Y here, the kernel will run on many, but not all, 283 uniprocessor machines. On a uniprocessor machine, the kernel 284 will run faster if you say N here. 285 286 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 287 available at <http://www.tldp.org/docs.html#howto>. 288 289 If you don't know what to do here, say N. 290 291config IRQSTACKS 292 bool "Use separate kernel stacks when processing interrupts" 293 default y 294 help 295 If you say Y here the kernel will use separate kernel stacks 296 for handling hard and soft interrupts. This can help avoid 297 overflowing the process kernel stacks. 298 299config HOTPLUG_CPU 300 bool 301 default y if SMP 302 303config ARCH_SELECT_MEMORY_MODEL 304 def_bool y 305 depends on 64BIT 306 307config ARCH_DISCONTIGMEM_ENABLE 308 def_bool y 309 depends on 64BIT 310 311config ARCH_FLATMEM_ENABLE 312 def_bool y 313 314config ARCH_DISCONTIGMEM_DEFAULT 315 def_bool y 316 depends on ARCH_DISCONTIGMEM_ENABLE 317 318config NODES_SHIFT 319 int 320 default "3" 321 depends on NEED_MULTIPLE_NODES 322 323source "kernel/Kconfig.preempt" 324source "kernel/Kconfig.hz" 325source "mm/Kconfig" 326 327config COMPAT 328 def_bool y 329 depends on 64BIT 330 331config SYSVIPC_COMPAT 332 def_bool y 333 depends on COMPAT && SYSVIPC 334 335config AUDIT_ARCH 336 def_bool y 337 338config NR_CPUS 339 int "Maximum number of CPUs (2-32)" 340 range 2 32 341 depends on SMP 342 default "32" 343 344endmenu 345 346 347source "drivers/parisc/Kconfig" 348 349 350menu "Executable file formats" 351 352source "fs/Kconfig.binfmt" 353 354endmenu 355 356source "net/Kconfig" 357 358source "drivers/Kconfig" 359 360source "fs/Kconfig" 361 362source "arch/parisc/Kconfig.debug" 363 364config SECCOMP 365 def_bool y 366 prompt "Enable seccomp to safely compute untrusted bytecode" 367 ---help--- 368 This kernel feature is useful for number crunching applications 369 that may need to compute untrusted bytecode during their 370 execution. By using pipes or other transports made available to 371 the process as file descriptors supporting the read/write 372 syscalls, it's possible to isolate those applications in 373 their own address space using seccomp. Once seccomp is 374 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled 375 and the task is only allowed to execute a few safe syscalls 376 defined by each seccomp mode. 377 378 If unsure, say Y. Only embedded should say N here. 379 380source "security/Kconfig" 381 382source "crypto/Kconfig" 383 384source "lib/Kconfig" 385