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 130a1355dbSHelge Deller select ARCH_HAS_STRICT_MODULE_RWX 14e35a2ce6SHelge Deller select ARCH_HAS_UBSAN_SANITIZE_ALL 15df24e178SHelge Deller select ARCH_HAS_PTE_SPECIAL 167c703e54SChristoph Hellwig select ARCH_NO_SG_CHAIN 17855f9a8eSAnshuman Khandual select ARCH_SUPPORTS_HUGETLBFS if PA20 1854ac8fcbSHelge Deller select ARCH_SUPPORTS_MEMORY_FAILURE 19aeb1e833SHelge Deller select ARCH_STACKWALK 202b41be48SHelge Deller select ARCH_HAS_DEBUG_VM_PGTABLE 21aeb1e833SHelge Deller select HAVE_RELIABLE_STACKTRACE 222f9237d4SChristoph Hellwig select DMA_OPS 239eb16864SKyle McMartin select RTC_CLASS 243afe6d04SGeert Uytterhoeven select RTC_DRV_GENERIC 2598a79d6aSRusty Russell select INIT_ALL_POSSIBLE 26f67d3c83SKyle McMartin select BUG 2710916706SShile Zhang select BUILDTIME_TABLE_SORT 28eb01d42aSChristoph Hellwig select HAVE_PCI 29cdd6c482SIngo Molnar select HAVE_PERF_EVENTS 30b6adc16eSHelge Deller select HAVE_KERNEL_BZIP2 31b6adc16eSHelge Deller select HAVE_KERNEL_GZIP 32b6adc16eSHelge Deller select HAVE_KERNEL_LZ4 33b6adc16eSHelge Deller select HAVE_KERNEL_LZMA 34b6adc16eSHelge Deller select HAVE_KERNEL_LZO 35b6adc16eSHelge Deller select HAVE_KERNEL_XZ 3664daa443SKyle McMartin select GENERIC_ATOMIC64 if !64BIT 3772e73af1SThomas Gleixner select GENERIC_IRQ_PROBE 38629a8581SMichael S. Tsirkin select GENERIC_PCI_IOMAP 39df013ffbSHuang Ying select ARCH_HAVE_NMI_SAFE_CMPXCHG 409a134723SThomas Gleixner select GENERIC_SMP_IDLE_THREAD 4162773112SHelge Deller select GENERIC_ARCH_TOPOLOGY if SMP 421955c4f8SHelge Deller select GENERIC_CPU_DEVICES if !SMP 4361c43943SHelge Deller select GENERIC_LIB_DEVMEM_IS_ALLOWED 44bf14e3b9SVineet Gupta select SYSCTL_ARCH_UNALIGN_ALLOW 45fef47e2aSHelge Deller select SYSCTL_EXCEPTION_TRACE 46786d35d4SDavid Howells select HAVE_MOD_ARCH_SPECIFIC 47786d35d4SDavid Howells select MODULES_USE_ELF_RELA 48415bfae9SAl Viro select CLONE_BACKWARDS 494f73bc4dSJoe Millenbach select TTY # Needed for pdc_cons.c 50fcbfe812SNiklas Schnelle select HAS_IOPORT if PCI || EISA 51d1a1dc0bSDave Hansen select HAVE_DEBUG_STACKOVERFLOW 527a017721SAKASHI Takahiro select HAVE_ARCH_AUDITSYSCALL 53773e1c5fSGeorge Spelvin select HAVE_ARCH_HASH 5462217bebSHelge Deller select HAVE_ARCH_JUMP_LABEL 5562217bebSHelge Deller select HAVE_ARCH_JUMP_LABEL_RELATIVE 56ec5c1150SHelge Deller select HAVE_ARCH_KFENCE 57910cd32eSHelge Deller select HAVE_ARCH_SECCOMP_FILTER 5864e2a42bSHelge Deller select HAVE_ARCH_TRACEHOOK 5975ebedf1SHelge Deller select HAVE_REGS_AND_STACK_ACCESS_API 6051e0efe1SThomas Gleixner select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU 6143b1f6abSHelge Deller select GENERIC_SCHED_CLOCK 6288b3aac6SHelge Deller select GENERIC_IRQ_MIGRATION if SMP 6343b1f6abSHelge Deller select HAVE_UNSTABLE_SCHED_CLOCK if SMP 64686092e7SArnd Bergmann select LEGACY_TIMER_TICK 65fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 662214c0e7SHelge Deller select THREAD_INFO_IN_TASK 67f616ab59SChristoph Hellwig select NEED_DMA_MAP_STATE 6886596f0aSChristoph Hellwig select NEED_SG_DMA_LENGTH 69eacbfce1SSven Schnelle select HAVE_ARCH_KGDB 708858ac8eSSven Schnelle select HAVE_KPROBES 71e0b59b7bSSven Schnelle select HAVE_KRETPROBES 726ca63662SSven Schnelle select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1) 736ca63662SSven Schnelle select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE 743d1dc719SSami Tolvanen select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE 7552a22e6cSSven Schnelle select HAVE_KPROBES_ON_FTRACE 7652a22e6cSSven Schnelle select HAVE_DYNAMIC_FTRACE_WITH_REGS 77cd1a41ceSThomas Gleixner select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS 784aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 79a257caccSChristophe Leroy select HAVE_FUNCTION_DESCRIPTORS if 64BIT 8072e73af1SThomas Gleixner 811da177e4SLinus Torvalds help 821da177e4SLinus Torvalds The PA-RISC microprocessor is designed by Hewlett-Packard and used 831da177e4SLinus Torvalds in many of their workstations & servers (HP9000 700 and 800 series, 841da177e4SLinus Torvalds and later HP3000 series). The PA-RISC Linux project home page is 8524289f56SHelge Deller at <https://parisc.wiki.kernel.org>. 861da177e4SLinus Torvalds 8774ad3d28SBabu Mogerconfig CPU_BIG_ENDIAN 8874ad3d28SBabu Moger def_bool y 8974ad3d28SBabu Moger 901da177e4SLinus Torvaldsconfig MMU 911da177e4SLinus Torvalds def_bool y 921da177e4SLinus Torvalds 931da177e4SLinus Torvaldsconfig STACK_GROWSUP 941da177e4SLinus Torvalds def_bool y 951da177e4SLinus Torvalds 9695c354feSNick Pigginconfig GENERIC_LOCKBREAK 9795c354feSNick Piggin bool 9895c354feSNick Piggin default y 9909613e83SThomas Gleixner depends on SMP && PREEMPTION 10095c354feSNick Piggin 101f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32 102f0d1b0b3SDavid Howells bool 103f0d1b0b3SDavid Howells default n 104f0d1b0b3SDavid Howells 105f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64 106f0d1b0b3SDavid Howells bool 107f0d1b0b3SDavid Howells default n 108f0d1b0b3SDavid Howells 1096891f8a1SHelge Dellerconfig GENERIC_BUG 1106891f8a1SHelge Deller bool 1116891f8a1SHelge Deller default y 1126891f8a1SHelge Deller depends on BUG 1136891f8a1SHelge Deller 11459e18a2eSAkinobu Mitaconfig GENERIC_HWEIGHT 11559e18a2eSAkinobu Mita bool 11659e18a2eSAkinobu Mita default y 11759e18a2eSAkinobu Mita 1181da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY 1191da177e4SLinus Torvalds bool 1201da177e4SLinus Torvalds default y 1211da177e4SLinus Torvalds 12206027bddSIngo Molnarconfig TIME_LOW_RES 12306027bddSIngo Molnar bool 12406027bddSIngo Molnar depends on SMP 12506027bddSIngo Molnar default y 12606027bddSIngo Molnar 1271da177e4SLinus Torvalds# unless you want to implement ACPI on PA-RISC ... ;-) 1281da177e4SLinus Torvaldsconfig PM 1291da177e4SLinus Torvalds bool 1301da177e4SLinus Torvalds 131548f1176SHelge Dellerconfig STACKTRACE_SUPPORT 132548f1176SHelge Deller def_bool y 133548f1176SHelge Deller 134adf8e96aSHelge Dellerconfig LOCKDEP_SUPPORT 135adf8e96aSHelge Deller bool 136adf8e96aSHelge Deller default y 137adf8e96aSHelge Deller 1385cae841bSAl Viroconfig ISA_DMA_API 1395cae841bSAl Viro bool 1405cae841bSAl Viro 141a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC 142a08b6b79Sviro@ZenIV.linux.org.uk bool 1438b631342SGrant Grundler depends on BROKEN 144a08b6b79Sviro@ZenIV.linux.org.uk default y 145a08b6b79Sviro@ZenIV.linux.org.uk 146f24ffde4SKirill A. Shutemovconfig PGTABLE_LEVELS 147f24ffde4SKirill A. Shutemov int 148f24ffde4SKirill A. Shutemov default 3 if 64BIT && PARISC_PAGE_SIZE_4KB 149f24ffde4SKirill A. Shutemov default 2 150f24ffde4SKirill A. Shutemov 1511da177e4SLinus Torvaldsmenu "Processor type and features" 1521da177e4SLinus Torvalds 1531da177e4SLinus Torvaldschoice 1541da177e4SLinus Torvalds prompt "Processor type" 1553dcfb729SHelge Deller default PA7000 if "$(ARCH)" = "parisc" 1561da177e4SLinus Torvalds 1571da177e4SLinus Torvaldsconfig PA7000 1583dcfb729SHelge Deller bool "PA7000/PA7100" if "$(ARCH)" = "parisc" 159a7f7f624SMasahiro Yamada help 1601da177e4SLinus Torvalds This is the processor type of your CPU. This information is 1611da177e4SLinus Torvalds used for optimizing purposes. In order to compile a kernel 1621da177e4SLinus Torvalds that can run on all 32-bit PA CPUs (albeit not optimally fast), 1631da177e4SLinus Torvalds you can specify "PA7000" here. 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvalds Specifying "PA8000" here will allow you to select a 64-bit kernel 1661da177e4SLinus Torvalds which is required on some machines. 1671da177e4SLinus Torvalds 1681da177e4SLinus Torvaldsconfig PA7100LC 1693dcfb729SHelge Deller bool "PA7100LC" if "$(ARCH)" = "parisc" 1701da177e4SLinus Torvalds help 1711da177e4SLinus Torvalds Select this option for the PCX-L processor, as used in the 1721da177e4SLinus Torvalds 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, 1731da177e4SLinus Torvalds D200, D210, D300, D310 and E-class 1741da177e4SLinus Torvalds 1751da177e4SLinus Torvaldsconfig PA7200 1763dcfb729SHelge Deller bool "PA7200" if "$(ARCH)" = "parisc" 1771da177e4SLinus Torvalds help 1781da177e4SLinus Torvalds Select this option for the PCX-T' processor, as used in the 1791da177e4SLinus Torvalds C100, C110, J100, J110, J210XC, D250, D260, D350, D360, 1801da177e4SLinus Torvalds K100, K200, K210, K220, K400, K410 and K420 1811da177e4SLinus Torvalds 1821da177e4SLinus Torvaldsconfig PA7300LC 1833dcfb729SHelge Deller bool "PA7300LC" if "$(ARCH)" = "parisc" 1841da177e4SLinus Torvalds help 1851da177e4SLinus Torvalds Select this option for the PCX-L2 processor, as used in the 1861da177e4SLinus Torvalds 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, 1871da177e4SLinus Torvalds D220, D230, D320 and D330. 1881da177e4SLinus Torvalds 1891da177e4SLinus Torvaldsconfig PA8X00 1901da177e4SLinus Torvalds bool "PA8000 and up" 1911da177e4SLinus Torvalds help 1921da177e4SLinus Torvalds Select this option for PCX-U to PCX-W2 processors. 1931da177e4SLinus Torvalds 1941da177e4SLinus Torvaldsendchoice 1951da177e4SLinus Torvalds 1961da177e4SLinus Torvalds# Define implied options from the CPU selection here 1971da177e4SLinus Torvalds 1981da177e4SLinus Torvaldsconfig PA20 1991da177e4SLinus Torvalds def_bool y 2001da177e4SLinus Torvalds depends on PA8X00 2011da177e4SLinus Torvalds 2021da177e4SLinus Torvaldsconfig PA11 2031da177e4SLinus Torvalds def_bool y 2041da177e4SLinus Torvalds depends on PA7000 || PA7100LC || PA7200 || PA7300LC 205c1f59375SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_CPU 206c1f59375SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_DEVICE 2071da177e4SLinus Torvalds 2081da177e4SLinus Torvaldsconfig PREFETCH 2091da177e4SLinus Torvalds def_bool y 21032104b29SKyle McMartin depends on PA8X00 || PA7200 2111da177e4SLinus Torvalds 212778e45d7SHelge Dellerconfig PARISC_HUGE_KERNEL 213778e45d7SHelge Deller def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST 214778e45d7SHelge Deller 215ec758f98SHelge Dellerconfig MLONGCALLS 216778e45d7SHelge Deller def_bool y if PARISC_HUGE_KERNEL 217778e45d7SHelge Deller bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL 218ec758f98SHelge Deller depends on PA8X00 219ec758f98SHelge Deller help 220ec758f98SHelge Deller If you configure the kernel to include many drivers built-in instead 221ec758f98SHelge Deller as modules, the kernel executable may become too big, so that the 222ec758f98SHelge Deller linker will not be able to resolve some long branches and fails to link 223ec758f98SHelge Deller your vmlinux kernel. In that case enabling this option will help you 224ec758f98SHelge Deller to overcome this limit by using the -mlong-calls compiler option. 225ec758f98SHelge Deller 226ec758f98SHelge Deller Usually you want to say N here, unless you e.g. want to build 227ec758f98SHelge Deller a kernel which includes all necessary drivers built-in and which can 228ec758f98SHelge Deller be used for TFTP booting without the need to have an initrd ramdisk. 229ec758f98SHelge Deller 230ec758f98SHelge Deller Enabling this option will probably slow down your kernel. 231ec758f98SHelge Deller 2321da177e4SLinus Torvaldsconfig 64BIT 233805ce861SHelge Deller def_bool y if "$(ARCH)" = "parisc64" 234805ce861SHelge Deller bool "64-bit kernel" if "$(ARCH)" = "parisc" 2351da177e4SLinus Torvalds depends on PA8X00 236805ce861SHelge Deller help 237805ce861SHelge Deller Enable this if you want to support 64bit kernel on PA-RISC platform. 238805ce861SHelge Deller 239805ce861SHelge Deller At the moment, only people willing to use more than 2GB of RAM, 240805ce861SHelge Deller or having a 64bit-only capable PA-RISC machine should say Y here. 241805ce861SHelge Deller 242805ce861SHelge Deller Since there is no 64bit userland on PA-RISC, there is no point to 243805ce861SHelge Deller enable this option otherwise. The 64bit kernel is significantly bigger 244805ce861SHelge Deller and slower than the 32bit one. 2451da177e4SLinus Torvalds 2462fd83038SHelge Dellerchoice 2472fd83038SHelge Deller prompt "Kernel page size" 2481c5f873dSPaul Bolle default PARISC_PAGE_SIZE_4KB 2492fd83038SHelge Deller 2502fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_4KB 2512fd83038SHelge Deller bool "4KB" 2522fd83038SHelge Deller help 2532fd83038SHelge Deller This lets you select the page size of the kernel. For best 2542fd83038SHelge Deller performance, a page size of 16KB is recommended. For best 2552fd83038SHelge Deller compatibility with 32bit applications, a page size of 4KB should be 2562fd83038SHelge Deller selected (the vast majority of 32bit binaries work perfectly fine 2572fd83038SHelge Deller with a larger page size). 2582fd83038SHelge Deller 2592fd83038SHelge Deller 4KB For best 32bit compatibility 2602fd83038SHelge Deller 16KB For best performance 2612fd83038SHelge Deller 64KB For best performance, might give more overhead. 2622fd83038SHelge Deller 2632fd83038SHelge Deller If you don't know what to do, choose 4KB. 2642fd83038SHelge Deller 2652fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_16KB 266daef22cfSKees Cook bool "16KB" 267ec5c1150SHelge Deller depends on PA8X00 && BROKEN && !KFENCE 2682fd83038SHelge Deller 2692fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_64KB 270daef22cfSKees Cook bool "64KB" 271ec5c1150SHelge Deller depends on PA8X00 && BROKEN && !KFENCE 2722fd83038SHelge Deller 2732fd83038SHelge Dellerendchoice 2742fd83038SHelge Deller 2751da177e4SLinus Torvaldsconfig SMP 2761da177e4SLinus Torvalds bool "Symmetric multi-processing support" 277a7f7f624SMasahiro Yamada help 2781da177e4SLinus Torvalds This enables support for systems with more than one CPU. If you have 2794a474157SRobert Graffham a system with only one CPU, say N. If you have a system with more 2804a474157SRobert Graffham than one CPU, say Y. 2811da177e4SLinus Torvalds 2824a474157SRobert Graffham If you say N here, the kernel will run on uni- and multiprocessor 2832a3f53d5SHelge Deller machines, but will use only one CPU of a multiprocessor machine. 2842a3f53d5SHelge Deller On a uniprocessor machine, the kernel will run faster if you say N. 2851da177e4SLinus Torvalds 2864f4cfa6cSMauro Carvalho Chehab See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO 287693a0654SAlexander A. Klimov available at <https://www.tldp.org/docs.html#howto>. 2881da177e4SLinus Torvalds 2891da177e4SLinus Torvalds If you don't know what to do here, say N. 2901da177e4SLinus Torvalds 291bf7b4c1bSHelge Dellerconfig SCHED_MC 292bf7b4c1bSHelge Deller bool "Multi-core scheduler support" 29362773112SHelge Deller depends on GENERIC_ARCH_TOPOLOGY && PA8X00 294bf7b4c1bSHelge Deller help 295bf7b4c1bSHelge Deller Multi-core scheduler support improves the CPU scheduler's decision 296bf7b4c1bSHelge Deller making when dealing with multi-core CPU chips at a cost of slightly 297bf7b4c1bSHelge Deller increased overhead in some places. If unsure say N here. 298bf7b4c1bSHelge Deller 299200c8804SHelge Dellerconfig IRQSTACKS 300200c8804SHelge Deller bool "Use separate kernel stacks when processing interrupts" 301416821d3SHelge Deller default y 302200c8804SHelge Deller help 303200c8804SHelge Deller If you say Y here the kernel will use separate kernel stacks 304200c8804SHelge Deller for handling hard and soft interrupts. This can help avoid 305200c8804SHelge Deller overflowing the process kernel stacks. 306200c8804SHelge Deller 3071da177e4SLinus Torvaldsconfig HOTPLUG_CPU 3081da177e4SLinus Torvalds bool 3091da177e4SLinus Torvalds default y if SMP 3101da177e4SLinus Torvalds 311a2ba82cdSKyle McMartinconfig ARCH_SELECT_MEMORY_MODEL 312a2ba82cdSKyle McMartin def_bool y 313a2ba82cdSKyle McMartin depends on 64BIT 314a2ba82cdSKyle McMartin 315dbdf0760SHelge Dellerconfig ARCH_SPARSEMEM_ENABLE 316a2ba82cdSKyle McMartin def_bool y 317a2ba82cdSKyle McMartin depends on 64BIT 318a2ba82cdSKyle McMartin 319a2ba82cdSKyle McMartinconfig ARCH_FLATMEM_ENABLE 320a2ba82cdSKyle McMartin def_bool y 321a2ba82cdSKyle McMartin 322dbdf0760SHelge Dellerconfig ARCH_SPARSEMEM_DEFAULT 323a2ba82cdSKyle McMartin def_bool y 324dbdf0760SHelge Deller depends on ARCH_SPARSEMEM_ENABLE 325c80d79d7SYasunori Goto 3268b631342SGrant Grundlersource "kernel/Kconfig.hz" 3273f22ab27SDave Hansen 3281da177e4SLinus Torvaldsconfig COMPAT 3291da177e4SLinus Torvalds def_bool y 3301da177e4SLinus Torvalds depends on 64BIT 3311da177e4SLinus Torvalds 332527973c8SHelge Dellerconfig AUDIT_ARCH 333527973c8SHelge Deller def_bool y 334527973c8SHelge Deller 3351da177e4SLinus Torvaldsconfig NR_CPUS 3361da177e4SLinus Torvalds int "Maximum number of CPUs (2-32)" 3371da177e4SLinus Torvalds range 2 32 3381da177e4SLinus Torvalds depends on SMP 339c9cc4542SHelge Deller default "8" if 64BIT 34068d247adSHelge Deller default "16" 3411da177e4SLinus Torvalds 3421da177e4SLinus Torvaldsendmenu 3431da177e4SLinus Torvalds 344*b9bf5cb1SEric DeVolderconfig ARCH_SUPPORTS_KEXEC 345*b9bf5cb1SEric DeVolder def_bool y 346*b9bf5cb1SEric DeVolder 347*b9bf5cb1SEric DeVolderconfig ARCH_SUPPORTS_KEXEC_FILE 348*b9bf5cb1SEric DeVolder def_bool y 349*b9bf5cb1SEric DeVolder 350*b9bf5cb1SEric DeVolderconfig ARCH_SELECTS_KEXEC_FILE 351*b9bf5cb1SEric DeVolder def_bool y 352*b9bf5cb1SEric DeVolder depends on KEXEC_FILE 353*b9bf5cb1SEric DeVolder select KEXEC_ELF 354*b9bf5cb1SEric DeVolder 3551da177e4SLinus Torvaldssource "drivers/parisc/Kconfig" 356