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 13*0a1355dbSHelge 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 474febd95aSStephen Rothwell select VIRT_TO_BUS 48786d35d4SDavid Howells select MODULES_USE_ELF_RELA 49415bfae9SAl Viro select CLONE_BACKWARDS 504f73bc4dSJoe Millenbach select TTY # Needed for pdc_cons.c 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 6043b1f6abSHelge Deller select GENERIC_SCHED_CLOCK 6188b3aac6SHelge Deller select GENERIC_IRQ_MIGRATION if SMP 6243b1f6abSHelge Deller select HAVE_UNSTABLE_SCHED_CLOCK if SMP 63686092e7SArnd Bergmann select LEGACY_TIMER_TICK 64fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 652214c0e7SHelge Deller select THREAD_INFO_IN_TASK 66f616ab59SChristoph Hellwig select NEED_DMA_MAP_STATE 6786596f0aSChristoph Hellwig select NEED_SG_DMA_LENGTH 68eacbfce1SSven Schnelle select HAVE_ARCH_KGDB 698858ac8eSSven Schnelle select HAVE_KPROBES 70e0b59b7bSSven Schnelle select HAVE_KRETPROBES 716ca63662SSven Schnelle select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1) 726ca63662SSven Schnelle select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE 733d1dc719SSami Tolvanen select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE 7452a22e6cSSven Schnelle select HAVE_KPROBES_ON_FTRACE 7552a22e6cSSven Schnelle select HAVE_DYNAMIC_FTRACE_WITH_REGS 76cd1a41ceSThomas Gleixner select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS 774aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 78a257caccSChristophe Leroy select HAVE_FUNCTION_DESCRIPTORS if 64BIT 7972e73af1SThomas Gleixner 801da177e4SLinus Torvalds help 811da177e4SLinus Torvalds The PA-RISC microprocessor is designed by Hewlett-Packard and used 821da177e4SLinus Torvalds in many of their workstations & servers (HP9000 700 and 800 series, 831da177e4SLinus Torvalds and later HP3000 series). The PA-RISC Linux project home page is 8424289f56SHelge Deller at <https://parisc.wiki.kernel.org>. 851da177e4SLinus Torvalds 8674ad3d28SBabu Mogerconfig CPU_BIG_ENDIAN 8774ad3d28SBabu Moger def_bool y 8874ad3d28SBabu Moger 891da177e4SLinus Torvaldsconfig MMU 901da177e4SLinus Torvalds def_bool y 911da177e4SLinus Torvalds 921da177e4SLinus Torvaldsconfig STACK_GROWSUP 931da177e4SLinus Torvalds def_bool y 941da177e4SLinus Torvalds 9595c354feSNick Pigginconfig GENERIC_LOCKBREAK 9695c354feSNick Piggin bool 9795c354feSNick Piggin default y 9809613e83SThomas Gleixner depends on SMP && PREEMPTION 9995c354feSNick Piggin 100f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32 101f0d1b0b3SDavid Howells bool 102f0d1b0b3SDavid Howells default n 103f0d1b0b3SDavid Howells 104f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64 105f0d1b0b3SDavid Howells bool 106f0d1b0b3SDavid Howells default n 107f0d1b0b3SDavid Howells 1086891f8a1SHelge Dellerconfig GENERIC_BUG 1096891f8a1SHelge Deller bool 1106891f8a1SHelge Deller default y 1116891f8a1SHelge Deller depends on BUG 1126891f8a1SHelge Deller 11359e18a2eSAkinobu Mitaconfig GENERIC_HWEIGHT 11459e18a2eSAkinobu Mita bool 11559e18a2eSAkinobu Mita default y 11659e18a2eSAkinobu Mita 1171da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY 1181da177e4SLinus Torvalds bool 1191da177e4SLinus Torvalds default y 1201da177e4SLinus Torvalds 12106027bddSIngo Molnarconfig TIME_LOW_RES 12206027bddSIngo Molnar bool 12306027bddSIngo Molnar depends on SMP 12406027bddSIngo Molnar default y 12506027bddSIngo Molnar 1261da177e4SLinus Torvalds# unless you want to implement ACPI on PA-RISC ... ;-) 1271da177e4SLinus Torvaldsconfig PM 1281da177e4SLinus Torvalds bool 1291da177e4SLinus Torvalds 130548f1176SHelge Dellerconfig STACKTRACE_SUPPORT 131548f1176SHelge Deller def_bool y 132548f1176SHelge Deller 1335cae841bSAl Viroconfig ISA_DMA_API 1345cae841bSAl Viro bool 1355cae841bSAl Viro 136a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC 137a08b6b79Sviro@ZenIV.linux.org.uk bool 1388b631342SGrant Grundler depends on BROKEN 139a08b6b79Sviro@ZenIV.linux.org.uk default y 140a08b6b79Sviro@ZenIV.linux.org.uk 141f24ffde4SKirill A. Shutemovconfig PGTABLE_LEVELS 142f24ffde4SKirill A. Shutemov int 143f24ffde4SKirill A. Shutemov default 3 if 64BIT && PARISC_PAGE_SIZE_4KB 144f24ffde4SKirill A. Shutemov default 2 145f24ffde4SKirill A. Shutemov 1461da177e4SLinus Torvaldsmenu "Processor type and features" 1471da177e4SLinus Torvalds 1481da177e4SLinus Torvaldschoice 1491da177e4SLinus Torvalds prompt "Processor type" 1501da177e4SLinus Torvalds default PA7000 1511da177e4SLinus Torvalds 1521da177e4SLinus Torvaldsconfig PA7000 1531da177e4SLinus Torvalds bool "PA7000/PA7100" 154a7f7f624SMasahiro Yamada help 1551da177e4SLinus Torvalds This is the processor type of your CPU. This information is 1561da177e4SLinus Torvalds used for optimizing purposes. In order to compile a kernel 1571da177e4SLinus Torvalds that can run on all 32-bit PA CPUs (albeit not optimally fast), 1581da177e4SLinus Torvalds you can specify "PA7000" here. 1591da177e4SLinus Torvalds 1601da177e4SLinus Torvalds Specifying "PA8000" here will allow you to select a 64-bit kernel 1611da177e4SLinus Torvalds which is required on some machines. 1621da177e4SLinus Torvalds 1631da177e4SLinus Torvaldsconfig PA7100LC 1641da177e4SLinus Torvalds bool "PA7100LC" 1651da177e4SLinus Torvalds help 1661da177e4SLinus Torvalds Select this option for the PCX-L processor, as used in the 1671da177e4SLinus Torvalds 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, 1681da177e4SLinus Torvalds D200, D210, D300, D310 and E-class 1691da177e4SLinus Torvalds 1701da177e4SLinus Torvaldsconfig PA7200 1711da177e4SLinus Torvalds bool "PA7200" 1721da177e4SLinus Torvalds help 1731da177e4SLinus Torvalds Select this option for the PCX-T' processor, as used in the 1741da177e4SLinus Torvalds C100, C110, J100, J110, J210XC, D250, D260, D350, D360, 1751da177e4SLinus Torvalds K100, K200, K210, K220, K400, K410 and K420 1761da177e4SLinus Torvalds 1771da177e4SLinus Torvaldsconfig PA7300LC 1781da177e4SLinus Torvalds bool "PA7300LC" 1791da177e4SLinus Torvalds help 1801da177e4SLinus Torvalds Select this option for the PCX-L2 processor, as used in the 1811da177e4SLinus Torvalds 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, 1821da177e4SLinus Torvalds D220, D230, D320 and D330. 1831da177e4SLinus Torvalds 1841da177e4SLinus Torvaldsconfig PA8X00 1851da177e4SLinus Torvalds bool "PA8000 and up" 1861da177e4SLinus Torvalds help 1871da177e4SLinus Torvalds Select this option for PCX-U to PCX-W2 processors. 1881da177e4SLinus Torvalds 1891da177e4SLinus Torvaldsendchoice 1901da177e4SLinus Torvalds 1911da177e4SLinus Torvalds# Define implied options from the CPU selection here 1921da177e4SLinus Torvalds 1931da177e4SLinus Torvaldsconfig PA20 1941da177e4SLinus Torvalds def_bool y 1951da177e4SLinus Torvalds depends on PA8X00 1961da177e4SLinus Torvalds 1971da177e4SLinus Torvaldsconfig PA11 1981da177e4SLinus Torvalds def_bool y 1991da177e4SLinus Torvalds depends on PA7000 || PA7100LC || PA7200 || PA7300LC 200c1f59375SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_CPU 201c1f59375SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_DEVICE 2021da177e4SLinus Torvalds 2031da177e4SLinus Torvaldsconfig PREFETCH 2041da177e4SLinus Torvalds def_bool y 20532104b29SKyle McMartin depends on PA8X00 || PA7200 2061da177e4SLinus Torvalds 207778e45d7SHelge Dellerconfig PARISC_HUGE_KERNEL 208778e45d7SHelge Deller def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST 209778e45d7SHelge Deller 210ec758f98SHelge Dellerconfig MLONGCALLS 211778e45d7SHelge Deller def_bool y if PARISC_HUGE_KERNEL 212778e45d7SHelge Deller bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL 213ec758f98SHelge Deller depends on PA8X00 214ec758f98SHelge Deller help 215ec758f98SHelge Deller If you configure the kernel to include many drivers built-in instead 216ec758f98SHelge Deller as modules, the kernel executable may become too big, so that the 217ec758f98SHelge Deller linker will not be able to resolve some long branches and fails to link 218ec758f98SHelge Deller your vmlinux kernel. In that case enabling this option will help you 219ec758f98SHelge Deller to overcome this limit by using the -mlong-calls compiler option. 220ec758f98SHelge Deller 221ec758f98SHelge Deller Usually you want to say N here, unless you e.g. want to build 222ec758f98SHelge Deller a kernel which includes all necessary drivers built-in and which can 223ec758f98SHelge Deller be used for TFTP booting without the need to have an initrd ramdisk. 224ec758f98SHelge Deller 225ec758f98SHelge Deller Enabling this option will probably slow down your kernel. 226ec758f98SHelge Deller 2271da177e4SLinus Torvaldsconfig 64BIT 2281da177e4SLinus Torvalds bool "64-bit kernel" 2291da177e4SLinus Torvalds depends on PA8X00 2301da177e4SLinus Torvalds help 2311da177e4SLinus Torvalds Enable this if you want to support 64bit kernel on PA-RISC platform. 2321da177e4SLinus Torvalds 2331da177e4SLinus Torvalds At the moment, only people willing to use more than 2GB of RAM, 2341da177e4SLinus Torvalds or having a 64bit-only capable PA-RISC machine should say Y here. 2351da177e4SLinus Torvalds 2361da177e4SLinus Torvalds Since there is no 64bit userland on PA-RISC, there is no point to 2371da177e4SLinus Torvalds enable this option otherwise. The 64bit kernel is significantly bigger 2381da177e4SLinus Torvalds and slower than the 32bit one. 2391da177e4SLinus Torvalds 2402fd83038SHelge Dellerchoice 2412fd83038SHelge Deller prompt "Kernel page size" 2421c5f873dSPaul Bolle default PARISC_PAGE_SIZE_4KB 2432fd83038SHelge Deller 2442fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_4KB 2452fd83038SHelge Deller bool "4KB" 2462fd83038SHelge Deller help 2472fd83038SHelge Deller This lets you select the page size of the kernel. For best 2482fd83038SHelge Deller performance, a page size of 16KB is recommended. For best 2492fd83038SHelge Deller compatibility with 32bit applications, a page size of 4KB should be 2502fd83038SHelge Deller selected (the vast majority of 32bit binaries work perfectly fine 2512fd83038SHelge Deller with a larger page size). 2522fd83038SHelge Deller 2532fd83038SHelge Deller 4KB For best 32bit compatibility 2542fd83038SHelge Deller 16KB For best performance 2552fd83038SHelge Deller 64KB For best performance, might give more overhead. 2562fd83038SHelge Deller 2572fd83038SHelge Deller If you don't know what to do, choose 4KB. 2582fd83038SHelge Deller 2592fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_16KB 260daef22cfSKees Cook bool "16KB" 261ec5c1150SHelge Deller depends on PA8X00 && BROKEN && !KFENCE 2622fd83038SHelge Deller 2632fd83038SHelge Dellerconfig PARISC_PAGE_SIZE_64KB 264daef22cfSKees Cook bool "64KB" 265ec5c1150SHelge Deller depends on PA8X00 && BROKEN && !KFENCE 2662fd83038SHelge Deller 2672fd83038SHelge Dellerendchoice 2682fd83038SHelge Deller 2691da177e4SLinus Torvaldsconfig SMP 2701da177e4SLinus Torvalds bool "Symmetric multi-processing support" 271a7f7f624SMasahiro Yamada help 2721da177e4SLinus Torvalds This enables support for systems with more than one CPU. If you have 2734a474157SRobert Graffham a system with only one CPU, say N. If you have a system with more 2744a474157SRobert Graffham than one CPU, say Y. 2751da177e4SLinus Torvalds 2764a474157SRobert Graffham If you say N here, the kernel will run on uni- and multiprocessor 2772a3f53d5SHelge Deller machines, but will use only one CPU of a multiprocessor machine. 2782a3f53d5SHelge Deller On a uniprocessor machine, the kernel will run faster if you say N. 2791da177e4SLinus Torvalds 2804f4cfa6cSMauro Carvalho Chehab See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO 281693a0654SAlexander A. Klimov available at <https://www.tldp.org/docs.html#howto>. 2821da177e4SLinus Torvalds 2831da177e4SLinus Torvalds If you don't know what to do here, say N. 2841da177e4SLinus Torvalds 285bf7b4c1bSHelge Dellerconfig SCHED_MC 286bf7b4c1bSHelge Deller bool "Multi-core scheduler support" 28762773112SHelge Deller depends on GENERIC_ARCH_TOPOLOGY && PA8X00 288bf7b4c1bSHelge Deller help 289bf7b4c1bSHelge Deller Multi-core scheduler support improves the CPU scheduler's decision 290bf7b4c1bSHelge Deller making when dealing with multi-core CPU chips at a cost of slightly 291bf7b4c1bSHelge Deller increased overhead in some places. If unsure say N here. 292bf7b4c1bSHelge Deller 293200c8804SHelge Dellerconfig IRQSTACKS 294200c8804SHelge Deller bool "Use separate kernel stacks when processing interrupts" 295416821d3SHelge Deller default y 296200c8804SHelge Deller help 297200c8804SHelge Deller If you say Y here the kernel will use separate kernel stacks 298200c8804SHelge Deller for handling hard and soft interrupts. This can help avoid 299200c8804SHelge Deller overflowing the process kernel stacks. 300200c8804SHelge Deller 301b7795074SHelge Dellerconfig TLB_PTLOCK 302b7795074SHelge Deller bool "Use page table locks in TLB fault handler" 303b7795074SHelge Deller depends on SMP 304b7795074SHelge Deller default n 305b7795074SHelge Deller help 306b7795074SHelge Deller Select this option to enable page table locking in the TLB 307b7795074SHelge Deller fault handler. This ensures that page table entries are 308b7795074SHelge Deller updated consistently on SMP machines at the expense of some 309b7795074SHelge Deller loss in performance. 310b7795074SHelge Deller 3111da177e4SLinus Torvaldsconfig HOTPLUG_CPU 3121da177e4SLinus Torvalds bool 3131da177e4SLinus Torvalds default y if SMP 3141da177e4SLinus Torvalds 315a2ba82cdSKyle McMartinconfig ARCH_SELECT_MEMORY_MODEL 316a2ba82cdSKyle McMartin def_bool y 317a2ba82cdSKyle McMartin depends on 64BIT 318a2ba82cdSKyle McMartin 319dbdf0760SHelge Dellerconfig ARCH_SPARSEMEM_ENABLE 320a2ba82cdSKyle McMartin def_bool y 321a2ba82cdSKyle McMartin depends on 64BIT 322a2ba82cdSKyle McMartin 323a2ba82cdSKyle McMartinconfig ARCH_FLATMEM_ENABLE 324a2ba82cdSKyle McMartin def_bool y 325a2ba82cdSKyle McMartin 326dbdf0760SHelge Dellerconfig ARCH_SPARSEMEM_DEFAULT 327a2ba82cdSKyle McMartin def_bool y 328dbdf0760SHelge Deller depends on ARCH_SPARSEMEM_ENABLE 329c80d79d7SYasunori Goto 3308b631342SGrant Grundlersource "kernel/Kconfig.hz" 3313f22ab27SDave Hansen 3321da177e4SLinus Torvaldsconfig COMPAT 3331da177e4SLinus Torvalds def_bool y 3341da177e4SLinus Torvalds depends on 64BIT 3351da177e4SLinus Torvalds 336527973c8SHelge Dellerconfig AUDIT_ARCH 337527973c8SHelge Deller def_bool y 338527973c8SHelge Deller 3391da177e4SLinus Torvaldsconfig NR_CPUS 3401da177e4SLinus Torvalds int "Maximum number of CPUs (2-32)" 3411da177e4SLinus Torvalds range 2 32 3421da177e4SLinus Torvalds depends on SMP 34368d247adSHelge Deller default "4" if 64BIT 34468d247adSHelge Deller default "16" 3451da177e4SLinus Torvalds 346fc697dc0SSven Schnelleconfig KEXEC 347fc697dc0SSven Schnelle bool "Kexec system call" 348fc697dc0SSven Schnelle select KEXEC_CORE 349fc697dc0SSven Schnelle help 350fc697dc0SSven Schnelle kexec is a system call that implements the ability to shutdown your 351fc697dc0SSven Schnelle current kernel, and to start another kernel. It is like a reboot 352fc697dc0SSven Schnelle but it is independent of the system firmware. And like a reboot 353fc697dc0SSven Schnelle you can start any kernel with it, not just Linux. 354fc697dc0SSven Schnelle 355fc697dc0SSven Schnelle It is an ongoing process to be certain the hardware in a machine 356fc697dc0SSven Schnelle shutdown, so do not be surprised if this code does not 357fc697dc0SSven Schnelle initially work for you. 358fc697dc0SSven Schnelle 3591191cf49SSven Schnelleconfig KEXEC_FILE 3601191cf49SSven Schnelle bool "kexec file based system call" 3611191cf49SSven Schnelle select KEXEC_CORE 3621191cf49SSven Schnelle select KEXEC_ELF 3631191cf49SSven Schnelle help 3641191cf49SSven Schnelle This enables the kexec_file_load() System call. This is 3651191cf49SSven Schnelle file based and takes file descriptors as system call argument 3661191cf49SSven Schnelle for kernel and initramfs as opposed to list of segments as 3671191cf49SSven Schnelle accepted by previous system call. 3681191cf49SSven Schnelle 3691da177e4SLinus Torvaldsendmenu 3701da177e4SLinus Torvalds 3711da177e4SLinus Torvaldssource "drivers/parisc/Kconfig" 372