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