1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvaldsconfig PARISC 31da177e4SLinus Torvalds def_bool y 412700c17SArnd Bergmann select ALTERNATE_USER_ADDRESS_SPACE 5942fa985SYury Norov select ARCH_32BIT_OFF_T if !64BIT 64a24fb2fSMark Salter select ARCH_MIGHT_HAVE_PC_PARPORT 7366dd4eaSHelge Deller select HAVE_FUNCTION_TRACER 8366dd4eaSHelge Deller select HAVE_FUNCTION_GRAPH_TRACER 9fc79168aSHelge Deller select HAVE_SYSCALL_TRACEPOINTS 104530c49eSHelge Deller select ARCH_WANT_FRAME_POINTERS 1118d98a79SHelge Deller select ARCH_HAS_ELF_RANDOMIZE 12ad21fc4fSLaura Abbott select ARCH_HAS_STRICT_KERNEL_RWX 13e35a2ce6SHelge Deller select ARCH_HAS_UBSAN_SANITIZE_ALL 14df24e178SHelge Deller select ARCH_HAS_PTE_SPECIAL 157c703e54SChristoph Hellwig select ARCH_NO_SG_CHAIN 16855f9a8eSAnshuman Khandual select ARCH_SUPPORTS_HUGETLBFS if PA20 1754ac8fcbSHelge Deller select ARCH_SUPPORTS_MEMORY_FAILURE 18aeb1e833SHelge Deller select ARCH_STACKWALK 192b41be48SHelge Deller select ARCH_HAS_DEBUG_VM_PGTABLE 20aeb1e833SHelge Deller select HAVE_RELIABLE_STACKTRACE 212f9237d4SChristoph Hellwig select DMA_OPS 229eb16864SKyle McMartin select RTC_CLASS 233afe6d04SGeert Uytterhoeven select RTC_DRV_GENERIC 2498a79d6aSRusty Russell select INIT_ALL_POSSIBLE 25f67d3c83SKyle McMartin select BUG 2610916706SShile Zhang select BUILDTIME_TABLE_SORT 27eb01d42aSChristoph Hellwig select HAVE_PCI 28cdd6c482SIngo Molnar select HAVE_PERF_EVENTS 29b6adc16eSHelge Deller select HAVE_KERNEL_BZIP2 30b6adc16eSHelge Deller select HAVE_KERNEL_GZIP 31b6adc16eSHelge Deller select HAVE_KERNEL_LZ4 32b6adc16eSHelge Deller select HAVE_KERNEL_LZMA 33b6adc16eSHelge Deller select HAVE_KERNEL_LZO 34b6adc16eSHelge Deller select HAVE_KERNEL_XZ 3564daa443SKyle McMartin select GENERIC_ATOMIC64 if !64BIT 3672e73af1SThomas Gleixner select GENERIC_IRQ_PROBE 37629a8581SMichael S. Tsirkin select GENERIC_PCI_IOMAP 38df013ffbSHuang Ying select ARCH_HAVE_NMI_SAFE_CMPXCHG 399a134723SThomas Gleixner select GENERIC_SMP_IDLE_THREAD 40*62773112SHelge Deller select GENERIC_ARCH_TOPOLOGY if SMP 4161c43943SHelge Deller select GENERIC_LIB_DEVMEM_IS_ALLOWED 42bf14e3b9SVineet Gupta select SYSCTL_ARCH_UNALIGN_ALLOW 43fef47e2aSHelge Deller select SYSCTL_EXCEPTION_TRACE 44786d35d4SDavid Howells select HAVE_MOD_ARCH_SPECIFIC 454febd95aSStephen Rothwell select VIRT_TO_BUS 46786d35d4SDavid Howells select MODULES_USE_ELF_RELA 47415bfae9SAl Viro select CLONE_BACKWARDS 484f73bc4dSJoe Millenbach select TTY # Needed for pdc_cons.c 49d1a1dc0bSDave Hansen select HAVE_DEBUG_STACKOVERFLOW 507a017721SAKASHI Takahiro select HAVE_ARCH_AUDITSYSCALL 51773e1c5fSGeorge Spelvin select HAVE_ARCH_HASH 5262217bebSHelge Deller select HAVE_ARCH_JUMP_LABEL 5362217bebSHelge Deller select HAVE_ARCH_JUMP_LABEL_RELATIVE 54ec5c1150SHelge Deller select HAVE_ARCH_KFENCE 55910cd32eSHelge Deller select HAVE_ARCH_SECCOMP_FILTER 5664e2a42bSHelge Deller select HAVE_ARCH_TRACEHOOK 5775ebedf1SHelge Deller select HAVE_REGS_AND_STACK_ACCESS_API 5843b1f6abSHelge Deller select GENERIC_SCHED_CLOCK 5943b1f6abSHelge Deller select HAVE_UNSTABLE_SCHED_CLOCK if SMP 60686092e7SArnd Bergmann select LEGACY_TIMER_TICK 61fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 622214c0e7SHelge Deller select THREAD_INFO_IN_TASK 63f616ab59SChristoph Hellwig select NEED_DMA_MAP_STATE 6486596f0aSChristoph Hellwig select NEED_SG_DMA_LENGTH 65eacbfce1SSven Schnelle select HAVE_ARCH_KGDB 668858ac8eSSven Schnelle select HAVE_KPROBES 67e0b59b7bSSven Schnelle select HAVE_KRETPROBES 686ca63662SSven Schnelle select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1) 696ca63662SSven Schnelle select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE 703d1dc719SSami Tolvanen select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE 7152a22e6cSSven Schnelle select HAVE_KPROBES_ON_FTRACE 7252a22e6cSSven Schnelle select HAVE_DYNAMIC_FTRACE_WITH_REGS 73cd1a41ceSThomas Gleixner select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS 744aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 75a257caccSChristophe Leroy select HAVE_FUNCTION_DESCRIPTORS if 64BIT 7672e73af1SThomas Gleixner 771da177e4SLinus Torvalds help 781da177e4SLinus Torvalds The PA-RISC microprocessor is designed by Hewlett-Packard and used 791da177e4SLinus Torvalds in many of their workstations & servers (HP9000 700 and 800 series, 801da177e4SLinus Torvalds and later HP3000 series). The PA-RISC Linux project home page is 8124289f56SHelge Deller at <https://parisc.wiki.kernel.org>. 821da177e4SLinus Torvalds 8374ad3d28SBabu Mogerconfig CPU_BIG_ENDIAN 8474ad3d28SBabu Moger def_bool y 8574ad3d28SBabu Moger 861da177e4SLinus Torvaldsconfig MMU 871da177e4SLinus Torvalds def_bool y 881da177e4SLinus Torvalds 891da177e4SLinus Torvaldsconfig STACK_GROWSUP 901da177e4SLinus Torvalds def_bool y 911da177e4SLinus Torvalds 9295c354feSNick Pigginconfig GENERIC_LOCKBREAK 9395c354feSNick Piggin bool 9495c354feSNick Piggin default y 9509613e83SThomas Gleixner depends on SMP && PREEMPTION 9695c354feSNick Piggin 97f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32 98f0d1b0b3SDavid Howells bool 99f0d1b0b3SDavid Howells default n 100f0d1b0b3SDavid Howells 101f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64 102f0d1b0b3SDavid Howells bool 103f0d1b0b3SDavid Howells default n 104f0d1b0b3SDavid Howells 1056891f8a1SHelge Dellerconfig GENERIC_BUG 1066891f8a1SHelge Deller bool 1076891f8a1SHelge Deller default y 1086891f8a1SHelge Deller depends on BUG 1096891f8a1SHelge Deller 11059e18a2eSAkinobu Mitaconfig GENERIC_HWEIGHT 11159e18a2eSAkinobu Mita bool 11259e18a2eSAkinobu Mita default y 11359e18a2eSAkinobu Mita 1141da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY 1151da177e4SLinus Torvalds bool 1161da177e4SLinus Torvalds default y 1171da177e4SLinus Torvalds 11806027bddSIngo Molnarconfig TIME_LOW_RES 11906027bddSIngo Molnar bool 12006027bddSIngo Molnar depends on SMP 12106027bddSIngo Molnar default y 12206027bddSIngo Molnar 1231da177e4SLinus Torvalds# unless you want to implement ACPI on PA-RISC ... ;-) 1241da177e4SLinus Torvaldsconfig PM 1251da177e4SLinus Torvalds bool 1261da177e4SLinus Torvalds 127548f1176SHelge Dellerconfig STACKTRACE_SUPPORT 128548f1176SHelge Deller def_bool y 129548f1176SHelge Deller 1305cae841bSAl Viroconfig ISA_DMA_API 1315cae841bSAl Viro bool 1325cae841bSAl Viro 133a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC 134a08b6b79Sviro@ZenIV.linux.org.uk bool 1358b631342SGrant Grundler depends on BROKEN 136a08b6b79Sviro@ZenIV.linux.org.uk default y 137a08b6b79Sviro@ZenIV.linux.org.uk 138f24ffde4SKirill A. Shutemovconfig PGTABLE_LEVELS 139f24ffde4SKirill A. Shutemov int 140f24ffde4SKirill A. Shutemov default 3 if 64BIT && PARISC_PAGE_SIZE_4KB 141f24ffde4SKirill A. Shutemov default 2 142f24ffde4SKirill A. Shutemov 1431da177e4SLinus Torvaldsmenu "Processor type and features" 1441da177e4SLinus Torvalds 1451da177e4SLinus Torvaldschoice 1461da177e4SLinus Torvalds prompt "Processor type" 1471da177e4SLinus Torvalds default PA7000 1481da177e4SLinus Torvalds 1491da177e4SLinus Torvaldsconfig PA7000 1501da177e4SLinus Torvalds bool "PA7000/PA7100" 151a7f7f624SMasahiro Yamada help 1521da177e4SLinus Torvalds This is the processor type of your CPU. This information is 1531da177e4SLinus Torvalds used for optimizing purposes. In order to compile a kernel 1541da177e4SLinus Torvalds that can run on all 32-bit PA CPUs (albeit not optimally fast), 1551da177e4SLinus Torvalds you can specify "PA7000" here. 1561da177e4SLinus Torvalds 1571da177e4SLinus Torvalds Specifying "PA8000" here will allow you to select a 64-bit kernel 1581da177e4SLinus Torvalds which is required on some machines. 1591da177e4SLinus Torvalds 1601da177e4SLinus Torvaldsconfig PA7100LC 1611da177e4SLinus Torvalds bool "PA7100LC" 1621da177e4SLinus Torvalds help 1631da177e4SLinus Torvalds Select this option for the PCX-L processor, as used in the 1641da177e4SLinus Torvalds 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, 1651da177e4SLinus Torvalds D200, D210, D300, D310 and E-class 1661da177e4SLinus Torvalds 1671da177e4SLinus Torvaldsconfig PA7200 1681da177e4SLinus Torvalds bool "PA7200" 1691da177e4SLinus Torvalds help 1701da177e4SLinus Torvalds Select this option for the PCX-T' processor, as used in the 1711da177e4SLinus Torvalds C100, C110, J100, J110, J210XC, D250, D260, D350, D360, 1721da177e4SLinus Torvalds K100, K200, K210, K220, K400, K410 and K420 1731da177e4SLinus Torvalds 1741da177e4SLinus Torvaldsconfig PA7300LC 1751da177e4SLinus Torvalds bool "PA7300LC" 1761da177e4SLinus Torvalds help 1771da177e4SLinus Torvalds Select this option for the PCX-L2 processor, as used in the 1781da177e4SLinus Torvalds 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, 1791da177e4SLinus Torvalds D220, D230, D320 and D330. 1801da177e4SLinus Torvalds 1811da177e4SLinus Torvaldsconfig PA8X00 1821da177e4SLinus Torvalds bool "PA8000 and up" 1831da177e4SLinus Torvalds help 1841da177e4SLinus Torvalds Select this option for PCX-U to PCX-W2 processors. 1851da177e4SLinus Torvalds 1861da177e4SLinus Torvaldsendchoice 1871da177e4SLinus Torvalds 1881da177e4SLinus Torvalds# Define implied options from the CPU selection here 1891da177e4SLinus Torvalds 1901da177e4SLinus Torvaldsconfig PA20 1911da177e4SLinus Torvalds def_bool y 1921da177e4SLinus Torvalds depends on PA8X00 1931da177e4SLinus Torvalds 1941da177e4SLinus Torvaldsconfig PA11 1951da177e4SLinus Torvalds def_bool y 1961da177e4SLinus Torvalds depends on PA7000 || PA7100LC || PA7200 || PA7300LC 197c1f59375SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_CPU 198c1f59375SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_DEVICE 1991da177e4SLinus Torvalds 2001da177e4SLinus Torvaldsconfig PREFETCH 2011da177e4SLinus Torvalds def_bool y 20232104b29SKyle McMartin depends on PA8X00 || PA7200 2031da177e4SLinus Torvalds 204778e45d7SHelge Dellerconfig PARISC_HUGE_KERNEL 205778e45d7SHelge Deller def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST 206778e45d7SHelge Deller 207ec758f98SHelge Dellerconfig MLONGCALLS 208778e45d7SHelge Deller def_bool y if PARISC_HUGE_KERNEL 209778e45d7SHelge Deller bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL 210ec758f98SHelge Deller depends on PA8X00 211ec758f98SHelge Deller help 212ec758f98SHelge Deller If you configure the kernel to include many drivers built-in instead 213ec758f98SHelge Deller as modules, the kernel executable may become too big, so that the 214ec758f98SHelge Deller linker will not be able to resolve some long branches and fails to link 215ec758f98SHelge Deller your vmlinux kernel. In that case enabling this option will help you 216ec758f98SHelge Deller to overcome this limit by using the -mlong-calls compiler option. 217ec758f98SHelge Deller 218ec758f98SHelge Deller Usually you want to say N here, unless you e.g. want to build 219ec758f98SHelge Deller a kernel which includes all necessary drivers built-in and which can 220ec758f98SHelge Deller be used for TFTP booting without the need to have an initrd ramdisk. 221ec758f98SHelge Deller 222ec758f98SHelge Deller Enabling this option will probably slow down your kernel. 223ec758f98SHelge Deller 2241da177e4SLinus Torvaldsconfig 64BIT 2251da177e4SLinus Torvalds bool "64-bit kernel" 2261da177e4SLinus Torvalds depends on PA8X00 2271da177e4SLinus Torvalds help 2281da177e4SLinus Torvalds Enable this if you want to support 64bit kernel on PA-RISC platform. 2291da177e4SLinus Torvalds 2301da177e4SLinus Torvalds At the moment, only people willing to use more than 2GB of RAM, 2311da177e4SLinus Torvalds or having a 64bit-only capable PA-RISC machine should say Y here. 2321da177e4SLinus Torvalds 2331da177e4SLinus Torvalds Since there is no 64bit userland on PA-RISC, there is no point to 2341da177e4SLinus Torvalds enable this option otherwise. The 64bit kernel is significantly bigger 2351da177e4SLinus Torvalds and slower than the 32bit one. 2361da177e4SLinus Torvalds 2372fd83038SHelge Dellerchoice 2382fd83038SHelge Deller prompt "Kernel page size" 2391c5f873dSPaul Bolle default PARISC_PAGE_SIZE_4KB 2402fd83038SHelge Deller 2412fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_4KB 2422fd83038SHelge Deller bool "4KB" 2432fd83038SHelge Deller help 2442fd83038SHelge Deller This lets you select the page size of the kernel. For best 2452fd83038SHelge Deller performance, a page size of 16KB is recommended. For best 2462fd83038SHelge Deller compatibility with 32bit applications, a page size of 4KB should be 2472fd83038SHelge Deller selected (the vast majority of 32bit binaries work perfectly fine 2482fd83038SHelge Deller with a larger page size). 2492fd83038SHelge Deller 2502fd83038SHelge Deller 4KB For best 32bit compatibility 2512fd83038SHelge Deller 16KB For best performance 2522fd83038SHelge Deller 64KB For best performance, might give more overhead. 2532fd83038SHelge Deller 2542fd83038SHelge Deller If you don't know what to do, choose 4KB. 2552fd83038SHelge Deller 2562fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_16KB 257daef22cfSKees Cook bool "16KB" 258ec5c1150SHelge Deller depends on PA8X00 && BROKEN && !KFENCE 2592fd83038SHelge Deller 2602fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_64KB 261daef22cfSKees Cook bool "64KB" 262ec5c1150SHelge Deller depends on PA8X00 && BROKEN && !KFENCE 2632fd83038SHelge Deller 2642fd83038SHelge Dellerendchoice 2652fd83038SHelge Deller 2661da177e4SLinus Torvaldsconfig SMP 2671da177e4SLinus Torvalds bool "Symmetric multi-processing support" 268a7f7f624SMasahiro Yamada help 2691da177e4SLinus Torvalds This enables support for systems with more than one CPU. If you have 2704a474157SRobert Graffham a system with only one CPU, say N. If you have a system with more 2714a474157SRobert Graffham than one CPU, say Y. 2721da177e4SLinus Torvalds 2734a474157SRobert Graffham If you say N here, the kernel will run on uni- and multiprocessor 2742a3f53d5SHelge Deller machines, but will use only one CPU of a multiprocessor machine. 2752a3f53d5SHelge Deller On a uniprocessor machine, the kernel will run faster if you say N. 2761da177e4SLinus Torvalds 2774f4cfa6cSMauro Carvalho Chehab See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO 278693a0654SAlexander A. Klimov available at <https://www.tldp.org/docs.html#howto>. 2791da177e4SLinus Torvalds 2801da177e4SLinus Torvalds If you don't know what to do here, say N. 2811da177e4SLinus Torvalds 282bf7b4c1bSHelge Dellerconfig SCHED_MC 283bf7b4c1bSHelge Deller bool "Multi-core scheduler support" 284*62773112SHelge Deller depends on GENERIC_ARCH_TOPOLOGY && PA8X00 285bf7b4c1bSHelge Deller help 286bf7b4c1bSHelge Deller Multi-core scheduler support improves the CPU scheduler's decision 287bf7b4c1bSHelge Deller making when dealing with multi-core CPU chips at a cost of slightly 288bf7b4c1bSHelge Deller increased overhead in some places. If unsure say N here. 289bf7b4c1bSHelge Deller 290200c8804SHelge Dellerconfig IRQSTACKS 291200c8804SHelge Deller bool "Use separate kernel stacks when processing interrupts" 292416821d3SHelge Deller default y 293200c8804SHelge Deller help 294200c8804SHelge Deller If you say Y here the kernel will use separate kernel stacks 295200c8804SHelge Deller for handling hard and soft interrupts. This can help avoid 296200c8804SHelge Deller overflowing the process kernel stacks. 297200c8804SHelge Deller 298b7795074SHelge Dellerconfig TLB_PTLOCK 299b7795074SHelge Deller bool "Use page table locks in TLB fault handler" 300b7795074SHelge Deller depends on SMP 301b7795074SHelge Deller default n 302b7795074SHelge Deller help 303b7795074SHelge Deller Select this option to enable page table locking in the TLB 304b7795074SHelge Deller fault handler. This ensures that page table entries are 305b7795074SHelge Deller updated consistently on SMP machines at the expense of some 306b7795074SHelge Deller loss in performance. 307b7795074SHelge Deller 3081da177e4SLinus Torvaldsconfig HOTPLUG_CPU 3091da177e4SLinus Torvalds bool 3101da177e4SLinus Torvalds default y if SMP 3111da177e4SLinus Torvalds 312a2ba82cdSKyle McMartinconfig ARCH_SELECT_MEMORY_MODEL 313a2ba82cdSKyle McMartin def_bool y 314a2ba82cdSKyle McMartin depends on 64BIT 315a2ba82cdSKyle McMartin 316dbdf0760SHelge Dellerconfig ARCH_SPARSEMEM_ENABLE 317a2ba82cdSKyle McMartin def_bool y 318a2ba82cdSKyle McMartin depends on 64BIT 319a2ba82cdSKyle McMartin 320a2ba82cdSKyle McMartinconfig ARCH_FLATMEM_ENABLE 321a2ba82cdSKyle McMartin def_bool y 322a2ba82cdSKyle McMartin 323dbdf0760SHelge Dellerconfig ARCH_SPARSEMEM_DEFAULT 324a2ba82cdSKyle McMartin def_bool y 325dbdf0760SHelge Deller depends on ARCH_SPARSEMEM_ENABLE 326c80d79d7SYasunori Goto 3278b631342SGrant Grundlersource "kernel/Kconfig.hz" 3283f22ab27SDave Hansen 3291da177e4SLinus Torvaldsconfig COMPAT 3301da177e4SLinus Torvalds def_bool y 3311da177e4SLinus Torvalds depends on 64BIT 3321da177e4SLinus Torvalds 333bf581e15SHelge Dellerconfig SYSVIPC_COMPAT 334bf581e15SHelge Deller def_bool y 335bf581e15SHelge Deller depends on COMPAT && SYSVIPC 336bf581e15SHelge Deller 337527973c8SHelge Dellerconfig AUDIT_ARCH 338527973c8SHelge Deller def_bool y 339527973c8SHelge Deller 3401da177e4SLinus Torvaldsconfig NR_CPUS 3411da177e4SLinus Torvalds int "Maximum number of CPUs (2-32)" 3421da177e4SLinus Torvalds range 2 32 3431da177e4SLinus Torvalds depends on SMP 34468d247adSHelge Deller default "4" if 64BIT 34568d247adSHelge Deller default "16" 3461da177e4SLinus Torvalds 347fc697dc0SSven Schnelleconfig KEXEC 348fc697dc0SSven Schnelle bool "Kexec system call" 349fc697dc0SSven Schnelle select KEXEC_CORE 350fc697dc0SSven Schnelle help 351fc697dc0SSven Schnelle kexec is a system call that implements the ability to shutdown your 352fc697dc0SSven Schnelle current kernel, and to start another kernel. It is like a reboot 353fc697dc0SSven Schnelle but it is independent of the system firmware. And like a reboot 354fc697dc0SSven Schnelle you can start any kernel with it, not just Linux. 355fc697dc0SSven Schnelle 356fc697dc0SSven Schnelle It is an ongoing process to be certain the hardware in a machine 357fc697dc0SSven Schnelle shutdown, so do not be surprised if this code does not 358fc697dc0SSven Schnelle initially work for you. 359fc697dc0SSven Schnelle 3601191cf49SSven Schnelleconfig KEXEC_FILE 3611191cf49SSven Schnelle bool "kexec file based system call" 3621191cf49SSven Schnelle select KEXEC_CORE 3631191cf49SSven Schnelle select KEXEC_ELF 3641191cf49SSven Schnelle help 3651191cf49SSven Schnelle This enables the kexec_file_load() System call. This is 3661191cf49SSven Schnelle file based and takes file descriptors as system call argument 3671191cf49SSven Schnelle for kernel and initramfs as opposed to list of segments as 3681191cf49SSven Schnelle accepted by previous system call. 3691191cf49SSven Schnelle 3701da177e4SLinus Torvaldsendmenu 3711da177e4SLinus Torvalds 3721da177e4SLinus Torvaldssource "drivers/parisc/Kconfig" 373