1# SPDX-License-Identifier: GPL-2.0 2config PARISC 3 def_bool y 4 select ARCH_32BIT_OFF_T if !64BIT 5 select ARCH_MIGHT_HAVE_PC_PARPORT 6 select HAVE_IDE 7 select HAVE_OPROFILE 8 select HAVE_FUNCTION_TRACER 9 select HAVE_FUNCTION_GRAPH_TRACER 10 select HAVE_SYSCALL_TRACEPOINTS 11 select ARCH_WANT_FRAME_POINTERS 12 select ARCH_HAS_ELF_RANDOMIZE 13 select ARCH_HAS_STRICT_KERNEL_RWX 14 select ARCH_HAS_UBSAN_SANITIZE_ALL 15 select ARCH_NO_SG_CHAIN 16 select ARCH_SUPPORTS_MEMORY_FAILURE 17 select RTC_CLASS 18 select RTC_DRV_GENERIC 19 select INIT_ALL_POSSIBLE 20 select BUG 21 select BUILDTIME_EXTABLE_SORT 22 select HAVE_PCI 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 HAVE_REGS_AND_STACK_ACCESS_API 50 select GENERIC_SCHED_CLOCK 51 select HAVE_UNSTABLE_SCHED_CLOCK if SMP 52 select GENERIC_CLOCKEVENTS 53 select ARCH_NO_COHERENT_DMA_MMAP 54 select CPU_NO_EFFICIENT_FFS 55 select NEED_DMA_MAP_STATE 56 select NEED_SG_DMA_LENGTH 57 select HAVE_ARCH_KGDB 58 select HAVE_KPROBES 59 select HAVE_KRETPROBES 60 61 help 62 The PA-RISC microprocessor is designed by Hewlett-Packard and used 63 in many of their workstations & servers (HP9000 700 and 800 series, 64 and later HP3000 series). The PA-RISC Linux project home page is 65 at <http://www.parisc-linux.org/>. 66 67config CPU_BIG_ENDIAN 68 def_bool y 69 70config MMU 71 def_bool y 72 73config STACK_GROWSUP 74 def_bool y 75 76config GENERIC_LOCKBREAK 77 bool 78 default y 79 depends on SMP && PREEMPT 80 81config RWSEM_GENERIC_SPINLOCK 82 def_bool y 83 84config RWSEM_XCHGADD_ALGORITHM 85 bool 86 87config ARCH_HAS_ILOG2_U32 88 bool 89 default n 90 91config ARCH_HAS_ILOG2_U64 92 bool 93 default n 94 95config GENERIC_BUG 96 bool 97 default y 98 depends on BUG 99 100config GENERIC_HWEIGHT 101 bool 102 default y 103 104config GENERIC_CALIBRATE_DELAY 105 bool 106 default y 107 108config TIME_LOW_RES 109 bool 110 depends on SMP 111 default y 112 113# unless you want to implement ACPI on PA-RISC ... ;-) 114config PM 115 bool 116 117config STACKTRACE_SUPPORT 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 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_CACHE_SYNC 194 195config PREFETCH 196 def_bool y 197 depends on PA8X00 || PA7200 198 199config MLONGCALLS 200 bool "Enable the -mlong-calls compiler option for big kernels" 201 default y 202 depends on PA8X00 203 help 204 If you configure the kernel to include many drivers built-in instead 205 as modules, the kernel executable may become too big, so that the 206 linker will not be able to resolve some long branches and fails to link 207 your vmlinux kernel. In that case enabling this option will help you 208 to overcome this limit by using the -mlong-calls compiler option. 209 210 Usually you want to say N here, unless you e.g. want to build 211 a kernel which includes all necessary drivers built-in and which can 212 be used for TFTP booting without the need to have an initrd ramdisk. 213 214 Enabling this option will probably slow down your kernel. 215 216config 64BIT 217 bool "64-bit kernel" 218 depends on PA8X00 219 help 220 Enable this if you want to support 64bit kernel on PA-RISC platform. 221 222 At the moment, only people willing to use more than 2GB of RAM, 223 or having a 64bit-only capable PA-RISC machine should say Y here. 224 225 Since there is no 64bit userland on PA-RISC, there is no point to 226 enable this option otherwise. The 64bit kernel is significantly bigger 227 and slower than the 32bit one. 228 229choice 230 prompt "Kernel page size" 231 default PARISC_PAGE_SIZE_4KB 232 233config PARISC_PAGE_SIZE_4KB 234 bool "4KB" 235 help 236 This lets you select the page size of the kernel. For best 237 performance, a page size of 16KB is recommended. For best 238 compatibility with 32bit applications, a page size of 4KB should be 239 selected (the vast majority of 32bit binaries work perfectly fine 240 with a larger page size). 241 242 4KB For best 32bit compatibility 243 16KB For best performance 244 64KB For best performance, might give more overhead. 245 246 If you don't know what to do, choose 4KB. 247 248config PARISC_PAGE_SIZE_16KB 249 bool "16KB" 250 depends on PA8X00 && BROKEN 251 252config PARISC_PAGE_SIZE_64KB 253 bool "64KB" 254 depends on PA8X00 && BROKEN 255 256endchoice 257 258config PARISC_SELF_EXTRACT 259 bool "Build kernel as self-extracting executable" 260 default y 261 help 262 Say Y if you want to build the parisc kernel as a kind of 263 self-extracting executable. 264 265 If you say N here, the kernel will be compressed with gzip 266 which can be loaded by the palo bootloader directly too. 267 268 If you don't know what to do here, say Y. 269 270config SMP 271 bool "Symmetric multi-processing support" 272 ---help--- 273 This enables support for systems with more than one CPU. If you have 274 a system with only one CPU, say N. If you have a system with more 275 than one CPU, say Y. 276 277 If you say N here, the kernel will run on uni- and multiprocessor 278 machines, but will use only one CPU of a multiprocessor machine. 279 On a uniprocessor machine, the kernel will run faster if you say N. 280 281 See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO 282 available at <http://www.tldp.org/docs.html#howto>. 283 284 If you don't know what to do here, say N. 285 286config PARISC_CPU_TOPOLOGY 287 bool "Support cpu topology definition" 288 depends on SMP 289 default y 290 help 291 Support PARISC cpu topology definition. 292 293config SCHED_MC 294 bool "Multi-core scheduler support" 295 depends on PARISC_CPU_TOPOLOGY && PA8X00 296 help 297 Multi-core scheduler support improves the CPU scheduler's decision 298 making when dealing with multi-core CPU chips at a cost of slightly 299 increased overhead in some places. If unsure say N here. 300 301config IRQSTACKS 302 bool "Use separate kernel stacks when processing interrupts" 303 default y 304 help 305 If you say Y here the kernel will use separate kernel stacks 306 for handling hard and soft interrupts. This can help avoid 307 overflowing the process kernel stacks. 308 309config HOTPLUG_CPU 310 bool 311 default y if SMP 312 313config ARCH_SELECT_MEMORY_MODEL 314 def_bool y 315 depends on 64BIT 316 317config ARCH_DISCONTIGMEM_ENABLE 318 def_bool y 319 depends on 64BIT 320 321config ARCH_FLATMEM_ENABLE 322 def_bool y 323 324config ARCH_DISCONTIGMEM_DEFAULT 325 def_bool y 326 depends on ARCH_DISCONTIGMEM_ENABLE 327 328config NODES_SHIFT 329 int 330 default "3" 331 depends on NEED_MULTIPLE_NODES 332 333source "kernel/Kconfig.hz" 334 335config COMPAT 336 def_bool y 337 depends on 64BIT 338 select COMPAT_BINFMT_ELF if BINFMT_ELF 339 340config SYSVIPC_COMPAT 341 def_bool y 342 depends on COMPAT && SYSVIPC 343 344config AUDIT_ARCH 345 def_bool y 346 347config NR_CPUS 348 int "Maximum number of CPUs (2-32)" 349 range 2 32 350 depends on SMP 351 default "4" 352 353endmenu 354 355 356source "drivers/parisc/Kconfig" 357 358config SECCOMP 359 def_bool y 360 prompt "Enable seccomp to safely compute untrusted bytecode" 361 ---help--- 362 This kernel feature is useful for number crunching applications 363 that may need to compute untrusted bytecode during their 364 execution. By using pipes or other transports made available to 365 the process as file descriptors supporting the read/write 366 syscalls, it's possible to isolate those applications in 367 their own address space using seccomp. Once seccomp is 368 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled 369 and the task is only allowed to execute a few safe syscalls 370 defined by each seccomp mode. 371 372 If unsure, say Y. Only embedded should say N here. 373