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 BUG 19 select BUILDTIME_EXTABLE_SORT 20 select HAVE_PERF_EVENTS 21 select HAVE_KERNEL_BZIP2 22 select HAVE_KERNEL_GZIP 23 select HAVE_KERNEL_LZ4 24 select HAVE_KERNEL_LZMA 25 select HAVE_KERNEL_LZO 26 select HAVE_KERNEL_XZ 27 select GENERIC_ATOMIC64 if !64BIT 28 select GENERIC_IRQ_PROBE 29 select GENERIC_PCI_IOMAP 30 select ARCH_HAVE_NMI_SAFE_CMPXCHG 31 select GENERIC_SMP_IDLE_THREAD 32 select GENERIC_CPU_DEVICES 33 select GENERIC_STRNCPY_FROM_USER 34 select SYSCTL_ARCH_UNALIGN_ALLOW 35 select SYSCTL_EXCEPTION_TRACE 36 select HAVE_MOD_ARCH_SPECIFIC 37 select VIRT_TO_BUS 38 select MODULES_USE_ELF_RELA 39 select CLONE_BACKWARDS 40 select TTY # Needed for pdc_cons.c 41 select HAVE_DEBUG_STACKOVERFLOW 42 select HAVE_ARCH_AUDITSYSCALL 43 select HAVE_ARCH_HASH 44 select HAVE_ARCH_SECCOMP_FILTER 45 select HAVE_ARCH_TRACEHOOK 46 select HAVE_REGS_AND_STACK_ACCESS_API 47 select GENERIC_SCHED_CLOCK 48 select HAVE_UNSTABLE_SCHED_CLOCK if SMP 49 select GENERIC_CLOCKEVENTS 50 select ARCH_NO_COHERENT_DMA_MMAP 51 select CPU_NO_EFFICIENT_FFS 52 select NEED_DMA_MAP_STATE 53 select NEED_SG_DMA_LENGTH 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 ISA_DMA_API 115 bool 116 117config ARCH_MAY_HAVE_PC_FDC 118 bool 119 depends on BROKEN 120 default y 121 122config PGTABLE_LEVELS 123 int 124 default 3 if 64BIT && PARISC_PAGE_SIZE_4KB 125 default 2 126 127config SYS_SUPPORTS_HUGETLBFS 128 def_bool y if PA20 129 130 131menu "Processor type and features" 132 133choice 134 prompt "Processor type" 135 default PA7000 136 137config PA7000 138 bool "PA7000/PA7100" 139 ---help--- 140 This is the processor type of your CPU. This information is 141 used for optimizing purposes. In order to compile a kernel 142 that can run on all 32-bit PA CPUs (albeit not optimally fast), 143 you can specify "PA7000" here. 144 145 Specifying "PA8000" here will allow you to select a 64-bit kernel 146 which is required on some machines. 147 148config PA7100LC 149 bool "PA7100LC" 150 help 151 Select this option for the PCX-L processor, as used in the 152 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, 153 D200, D210, D300, D310 and E-class 154 155config PA7200 156 bool "PA7200" 157 help 158 Select this option for the PCX-T' processor, as used in the 159 C100, C110, J100, J110, J210XC, D250, D260, D350, D360, 160 K100, K200, K210, K220, K400, K410 and K420 161 162config PA7300LC 163 bool "PA7300LC" 164 help 165 Select this option for the PCX-L2 processor, as used in the 166 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, 167 D220, D230, D320 and D330. 168 169config PA8X00 170 bool "PA8000 and up" 171 help 172 Select this option for PCX-U to PCX-W2 processors. 173 174endchoice 175 176# Define implied options from the CPU selection here 177 178config PA20 179 def_bool y 180 depends on PA8X00 181 182config PA11 183 def_bool y 184 depends on PA7000 || PA7100LC || PA7200 || PA7300LC 185 select ARCH_HAS_SYNC_DMA_FOR_CPU 186 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 187 select DMA_DIRECT_OPS 188 select DMA_NONCOHERENT_CACHE_SYNC 189 190config PREFETCH 191 def_bool y 192 depends on PA8X00 || PA7200 193 194config MLONGCALLS 195 bool "Enable the -mlong-calls compiler option for big kernels" 196 default y 197 depends on PA8X00 198 help 199 If you configure the kernel to include many drivers built-in instead 200 as modules, the kernel executable may become too big, so that the 201 linker will not be able to resolve some long branches and fails to link 202 your vmlinux kernel. In that case enabling this option will help you 203 to overcome this limit by using the -mlong-calls compiler option. 204 205 Usually you want to say N here, unless you e.g. want to build 206 a kernel which includes all necessary drivers built-in and which can 207 be used for TFTP booting without the need to have an initrd ramdisk. 208 209 Enabling this option will probably slow down your kernel. 210 211config 64BIT 212 bool "64-bit kernel" 213 depends on PA8X00 214 help 215 Enable this if you want to support 64bit kernel on PA-RISC platform. 216 217 At the moment, only people willing to use more than 2GB of RAM, 218 or having a 64bit-only capable PA-RISC machine should say Y here. 219 220 Since there is no 64bit userland on PA-RISC, there is no point to 221 enable this option otherwise. The 64bit kernel is significantly bigger 222 and slower than the 32bit one. 223 224choice 225 prompt "Kernel page size" 226 default PARISC_PAGE_SIZE_4KB 227 228config PARISC_PAGE_SIZE_4KB 229 bool "4KB" 230 help 231 This lets you select the page size of the kernel. For best 232 performance, a page size of 16KB is recommended. For best 233 compatibility with 32bit applications, a page size of 4KB should be 234 selected (the vast majority of 32bit binaries work perfectly fine 235 with a larger page size). 236 237 4KB For best 32bit compatibility 238 16KB For best performance 239 64KB For best performance, might give more overhead. 240 241 If you don't know what to do, choose 4KB. 242 243config PARISC_PAGE_SIZE_16KB 244 bool "16KB" 245 depends on PA8X00 && BROKEN 246 247config PARISC_PAGE_SIZE_64KB 248 bool "64KB" 249 depends on PA8X00 && BROKEN 250 251endchoice 252 253config PARISC_SELF_EXTRACT 254 bool "Build kernel as self-extracting executable" 255 default y 256 help 257 Say Y if you want to build the parisc kernel as a kind of 258 self-extracting executable. 259 260 If you say N here, the kernel will be compressed with gzip 261 which can be loaded by the palo bootloader directly too. 262 263 If you don't know what to do here, say Y. 264 265config SMP 266 bool "Symmetric multi-processing support" 267 ---help--- 268 This enables support for systems with more than one CPU. If you have 269 a system with only one CPU, say N. If you have a system with more 270 than one CPU, say Y. 271 272 If you say N here, the kernel will run on uni- and multiprocessor 273 machines, but will use only one CPU of a multiprocessor machine. 274 On a uniprocessor machine, the kernel will run faster if you say N. 275 276 See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO 277 available at <http://www.tldp.org/docs.html#howto>. 278 279 If you don't know what to do here, say N. 280 281config PARISC_CPU_TOPOLOGY 282 bool "Support cpu topology definition" 283 depends on SMP 284 default y 285 help 286 Support PARISC cpu topology definition. 287 288config SCHED_MC 289 bool "Multi-core scheduler support" 290 depends on PARISC_CPU_TOPOLOGY && PA8X00 291 help 292 Multi-core scheduler support improves the CPU scheduler's decision 293 making when dealing with multi-core CPU chips at a cost of slightly 294 increased overhead in some places. If unsure say N here. 295 296config IRQSTACKS 297 bool "Use separate kernel stacks when processing interrupts" 298 default y 299 help 300 If you say Y here the kernel will use separate kernel stacks 301 for handling hard and soft interrupts. This can help avoid 302 overflowing the process kernel stacks. 303 304config HOTPLUG_CPU 305 bool 306 default y if SMP 307 308config ARCH_SELECT_MEMORY_MODEL 309 def_bool y 310 depends on 64BIT 311 312config ARCH_DISCONTIGMEM_ENABLE 313 def_bool y 314 depends on 64BIT 315 316config ARCH_FLATMEM_ENABLE 317 def_bool y 318 319config ARCH_DISCONTIGMEM_DEFAULT 320 def_bool y 321 depends on ARCH_DISCONTIGMEM_ENABLE 322 323config NODES_SHIFT 324 int 325 default "3" 326 depends on NEED_MULTIPLE_NODES 327 328source "kernel/Kconfig.hz" 329 330config COMPAT 331 def_bool y 332 depends on 64BIT 333 select COMPAT_BINFMT_ELF if BINFMT_ELF 334 335config SYSVIPC_COMPAT 336 def_bool y 337 depends on COMPAT && SYSVIPC 338 339config AUDIT_ARCH 340 def_bool y 341 342config NR_CPUS 343 int "Maximum number of CPUs (2-32)" 344 range 2 32 345 depends on SMP 346 default "4" 347 348endmenu 349 350 351source "drivers/parisc/Kconfig" 352 353config SECCOMP 354 def_bool y 355 prompt "Enable seccomp to safely compute untrusted bytecode" 356 ---help--- 357 This kernel feature is useful for number crunching applications 358 that may need to compute untrusted bytecode during their 359 execution. By using pipes or other transports made available to 360 the process as file descriptors supporting the read/write 361 syscalls, it's possible to isolate those applications in 362 their own address space using seccomp. Once seccomp is 363 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled 364 and the task is only allowed to execute a few safe syscalls 365 defined by each seccomp mode. 366 367 If unsure, say Y. Only embedded should say N here. 368