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_SUPPORTS_MEMORY_FAILURE 15 select RTC_CLASS 16 select RTC_DRV_GENERIC 17 select INIT_ALL_POSSIBLE 18 select HAVE_MEMBLOCK 19 select NO_BOOTMEM 20 select BUG 21 select BUILDTIME_EXTABLE_SORT 22 select HAVE_PERF_EVENTS 23 select HAVE_KERNEL_BZIP2 24 select HAVE_KERNEL_GZIP 25 select HAVE_KERNEL_LZ4 26 select HAVE_KERNEL_LZMA 27 select HAVE_KERNEL_LZO 28 select HAVE_KERNEL_XZ 29 select GENERIC_ATOMIC64 if !64BIT 30 select GENERIC_IRQ_PROBE 31 select GENERIC_PCI_IOMAP 32 select ARCH_HAVE_NMI_SAFE_CMPXCHG 33 select GENERIC_SMP_IDLE_THREAD 34 select GENERIC_CPU_DEVICES 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 HAVE_REGS_AND_STACK_ACCESS_API 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 select NEED_DMA_MAP_STATE 55 select NEED_SG_DMA_LENGTH 56 57 help 58 The PA-RISC microprocessor is designed by Hewlett-Packard and used 59 in many of their workstations & servers (HP9000 700 and 800 series, 60 and later HP3000 series). The PA-RISC Linux project home page is 61 at <http://www.parisc-linux.org/>. 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 ISA_DMA_API 117 bool 118 119config ARCH_MAY_HAVE_PC_FDC 120 bool 121 depends on BROKEN 122 default y 123 124config PGTABLE_LEVELS 125 int 126 default 3 if 64BIT && PARISC_PAGE_SIZE_4KB 127 default 2 128 129config SYS_SUPPORTS_HUGETLBFS 130 def_bool y if PA20 131 132source "init/Kconfig" 133 134source "kernel/Kconfig.freezer" 135 136 137menu "Processor type and features" 138 139choice 140 prompt "Processor type" 141 default PA7000 142 143config PA7000 144 bool "PA7000/PA7100" 145 ---help--- 146 This is the processor type of your CPU. This information is 147 used for optimizing purposes. In order to compile a kernel 148 that can run on all 32-bit PA CPUs (albeit not optimally fast), 149 you can specify "PA7000" here. 150 151 Specifying "PA8000" here will allow you to select a 64-bit kernel 152 which is required on some machines. 153 154config PA7100LC 155 bool "PA7100LC" 156 help 157 Select this option for the PCX-L processor, as used in the 158 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, 159 D200, D210, D300, D310 and E-class 160 161config PA7200 162 bool "PA7200" 163 help 164 Select this option for the PCX-T' processor, as used in the 165 C100, C110, J100, J110, J210XC, D250, D260, D350, D360, 166 K100, K200, K210, K220, K400, K410 and K420 167 168config PA7300LC 169 bool "PA7300LC" 170 help 171 Select this option for the PCX-L2 processor, as used in the 172 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, 173 D220, D230, D320 and D330. 174 175config PA8X00 176 bool "PA8000 and up" 177 help 178 Select this option for PCX-U to PCX-W2 processors. 179 180endchoice 181 182# Define implied options from the CPU selection here 183 184config PA20 185 def_bool y 186 depends on PA8X00 187 188config PA11 189 def_bool y 190 depends on PA7000 || PA7100LC || PA7200 || PA7300LC 191 select ARCH_HAS_SYNC_DMA_FOR_CPU 192 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 193 select DMA_NONCOHERENT_OPS 194 select DMA_NONCOHERENT_CACHE_SYNC 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 default y 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 && BROKEN 252 253config PARISC_PAGE_SIZE_64KB 254 bool "64KB" 255 depends on PA8X00 && BROKEN 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. 280 On a uniprocessor machine, the kernel will run faster if you say N. 281 282 See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO 283 available at <http://www.tldp.org/docs.html#howto>. 284 285 If you don't know what to do here, say N. 286 287config PARISC_CPU_TOPOLOGY 288 bool "Support cpu topology definition" 289 depends on SMP 290 default y 291 help 292 Support PARISC cpu topology definition. 293 294config SCHED_MC 295 bool "Multi-core scheduler support" 296 depends on PARISC_CPU_TOPOLOGY && PA8X00 297 help 298 Multi-core scheduler support improves the CPU scheduler's decision 299 making when dealing with multi-core CPU chips at a cost of slightly 300 increased overhead in some places. If unsure say N here. 301 302config IRQSTACKS 303 bool "Use separate kernel stacks when processing interrupts" 304 default y 305 help 306 If you say Y here the kernel will use separate kernel stacks 307 for handling hard and soft interrupts. This can help avoid 308 overflowing the process kernel stacks. 309 310config HOTPLUG_CPU 311 bool 312 default y if SMP 313 314config ARCH_SELECT_MEMORY_MODEL 315 def_bool y 316 depends on 64BIT 317 318config ARCH_DISCONTIGMEM_ENABLE 319 def_bool y 320 depends on 64BIT 321 322config ARCH_FLATMEM_ENABLE 323 def_bool y 324 325config ARCH_DISCONTIGMEM_DEFAULT 326 def_bool y 327 depends on ARCH_DISCONTIGMEM_ENABLE 328 329config NODES_SHIFT 330 int 331 default "3" 332 depends on NEED_MULTIPLE_NODES 333 334source "kernel/Kconfig.preempt" 335source "kernel/Kconfig.hz" 336source "mm/Kconfig" 337 338config COMPAT 339 def_bool y 340 depends on 64BIT 341 select COMPAT_BINFMT_ELF if BINFMT_ELF 342 343config SYSVIPC_COMPAT 344 def_bool y 345 depends on COMPAT && SYSVIPC 346 347config AUDIT_ARCH 348 def_bool y 349 350config NR_CPUS 351 int "Maximum number of CPUs (2-32)" 352 range 2 32 353 depends on SMP 354 default "4" 355 356endmenu 357 358 359source "drivers/parisc/Kconfig" 360 361 362menu "Executable file formats" 363 364source "fs/Kconfig.binfmt" 365 366endmenu 367 368source "net/Kconfig" 369 370source "drivers/Kconfig" 371 372source "fs/Kconfig" 373 374source "arch/parisc/Kconfig.debug" 375 376config SECCOMP 377 def_bool y 378 prompt "Enable seccomp to safely compute untrusted bytecode" 379 ---help--- 380 This kernel feature is useful for number crunching applications 381 that may need to compute untrusted bytecode during their 382 execution. By using pipes or other transports made available to 383 the process as file descriptors supporting the read/write 384 syscalls, it's possible to isolate those applications in 385 their own address space using seccomp. Once seccomp is 386 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled 387 and the task is only allowed to execute a few safe syscalls 388 defined by each seccomp mode. 389 390 If unsure, say Y. Only embedded should say N here. 391 392source "security/Kconfig" 393 394source "crypto/Kconfig" 395 396source "lib/Kconfig" 397