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. 280 On a uniprocessor machine, the kernel will run faster if you say N. 281 282 See also <file:Documentation/nmi_watchdog.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 "32" 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