^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config PARISC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) select ARCH_32BIT_OFF_T if !64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) select ARCH_MIGHT_HAVE_PC_PARPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select HAVE_IDE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select HAVE_OPROFILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select HAVE_FUNCTION_TRACER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select HAVE_FUNCTION_GRAPH_TRACER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) select HAVE_SYSCALL_TRACEPOINTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) select ARCH_WANT_FRAME_POINTERS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) select ARCH_HAS_ELF_RANDOMIZE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) select ARCH_HAS_STRICT_KERNEL_RWX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) select ARCH_HAS_UBSAN_SANITIZE_ALL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) select ARCH_NO_SG_CHAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) select ARCH_SUPPORTS_MEMORY_FAILURE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) select DMA_OPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) select RTC_CLASS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select RTC_DRV_GENERIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) select INIT_ALL_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) select BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) select BUILDTIME_TABLE_SORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) select HAVE_PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) select HAVE_PERF_EVENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select HAVE_KERNEL_BZIP2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) select HAVE_KERNEL_GZIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) select HAVE_KERNEL_LZ4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) select HAVE_KERNEL_LZMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) select HAVE_KERNEL_LZO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) select HAVE_KERNEL_XZ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) select GENERIC_ATOMIC64 if !64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) select GENERIC_IRQ_PROBE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) select GENERIC_PCI_IOMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) select ARCH_HAVE_NMI_SAFE_CMPXCHG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) select GENERIC_SMP_IDLE_THREAD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) select GENERIC_CPU_DEVICES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) select GENERIC_STRNCPY_FROM_USER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select SYSCTL_ARCH_UNALIGN_ALLOW
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) select SYSCTL_EXCEPTION_TRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) select HAVE_MOD_ARCH_SPECIFIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) select VIRT_TO_BUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) select MODULES_USE_ELF_RELA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) select CLONE_BACKWARDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) select TTY # Needed for pdc_cons.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) select HAVE_DEBUG_STACKOVERFLOW
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) select HAVE_ARCH_AUDITSYSCALL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) select HAVE_ARCH_HASH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) select HAVE_ARCH_JUMP_LABEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) select HAVE_ARCH_JUMP_LABEL_RELATIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) select HAVE_ARCH_SECCOMP_FILTER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) select HAVE_ARCH_TRACEHOOK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) select HAVE_REGS_AND_STACK_ACCESS_API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) select GENERIC_SCHED_CLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) select HAVE_UNSTABLE_SCHED_CLOCK if SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) select GENERIC_CLOCKEVENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) select CPU_NO_EFFICIENT_FFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) select NEED_DMA_MAP_STATE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) select NEED_SG_DMA_LENGTH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) select HAVE_ARCH_KGDB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) select HAVE_KPROBES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) select HAVE_KRETPROBES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) select HAVE_KPROBES_ON_FTRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) select HAVE_DYNAMIC_FTRACE_WITH_REGS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select SET_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) The PA-RISC microprocessor is designed by Hewlett-Packard and used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) in many of their workstations & servers (HP9000 700 and 800 series,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) and later HP3000 series). The PA-RISC Linux project home page is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) at <https://parisc.wiki.kernel.org>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) config CPU_BIG_ENDIAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) config MMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) config STACK_GROWSUP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) config ARCH_DEFCONFIG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) string
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) config GENERIC_LOCKBREAK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) depends on SMP && PREEMPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) config ARCH_HAS_ILOG2_U32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) config ARCH_HAS_ILOG2_U64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) config GENERIC_BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) depends on BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) config GENERIC_HWEIGHT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config GENERIC_CALIBRATE_DELAY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) config TIME_LOW_RES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) depends on SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) # unless you want to implement ACPI on PA-RISC ... ;-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) config PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) config STACKTRACE_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) config ISA_DMA_API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) config ARCH_MAY_HAVE_PC_FDC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) depends on BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) config PGTABLE_LEVELS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) default 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) config SYS_SUPPORTS_HUGETLBFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) def_bool y if PA20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) menu "Processor type and features"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) prompt "Processor type"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) default PA7000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) config PA7000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) bool "PA7000/PA7100"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) This is the processor type of your CPU. This information is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) used for optimizing purposes. In order to compile a kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) that can run on all 32-bit PA CPUs (albeit not optimally fast),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) you can specify "PA7000" here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) Specifying "PA8000" here will allow you to select a 64-bit kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) which is required on some machines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) config PA7100LC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) bool "PA7100LC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) Select this option for the PCX-L processor, as used in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) D200, D210, D300, D310 and E-class
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) config PA7200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) bool "PA7200"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) Select this option for the PCX-T' processor, as used in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) K100, K200, K210, K220, K400, K410 and K420
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) config PA7300LC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) bool "PA7300LC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) Select this option for the PCX-L2 processor, as used in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) D220, D230, D320 and D330.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) config PA8X00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) bool "PA8000 and up"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) Select this option for PCX-U to PCX-W2 processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) # Define implied options from the CPU selection here
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) config PA20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) depends on PA8X00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) config PA11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) depends on PA7000 || PA7100LC || PA7200 || PA7300LC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) select ARCH_HAS_SYNC_DMA_FOR_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) select ARCH_HAS_SYNC_DMA_FOR_DEVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) config PREFETCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) depends on PA8X00 || PA7200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) config PARISC_HUGE_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) config MLONGCALLS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) def_bool y if PARISC_HUGE_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) depends on PA8X00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) If you configure the kernel to include many drivers built-in instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) as modules, the kernel executable may become too big, so that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) linker will not be able to resolve some long branches and fails to link
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) your vmlinux kernel. In that case enabling this option will help you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) to overcome this limit by using the -mlong-calls compiler option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) Usually you want to say N here, unless you e.g. want to build
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) a kernel which includes all necessary drivers built-in and which can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) be used for TFTP booting without the need to have an initrd ramdisk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) Enabling this option will probably slow down your kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) config 64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) bool "64-bit kernel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) depends on PA8X00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) Enable this if you want to support 64bit kernel on PA-RISC platform.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) At the moment, only people willing to use more than 2GB of RAM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) or having a 64bit-only capable PA-RISC machine should say Y here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) Since there is no 64bit userland on PA-RISC, there is no point to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) enable this option otherwise. The 64bit kernel is significantly bigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) and slower than the 32bit one.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) prompt "Kernel page size"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) default PARISC_PAGE_SIZE_4KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) config PARISC_PAGE_SIZE_4KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) bool "4KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) This lets you select the page size of the kernel. For best
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) performance, a page size of 16KB is recommended. For best
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) compatibility with 32bit applications, a page size of 4KB should be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) selected (the vast majority of 32bit binaries work perfectly fine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) with a larger page size).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 4KB For best 32bit compatibility
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 16KB For best performance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 64KB For best performance, might give more overhead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) If you don't know what to do, choose 4KB.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) config PARISC_PAGE_SIZE_16KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) bool "16KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) depends on PA8X00 && BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) config PARISC_PAGE_SIZE_64KB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) bool "64KB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) depends on PA8X00 && BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) config PARISC_SELF_EXTRACT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) bool "Build kernel as self-extracting executable"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) Say Y if you want to build the parisc kernel as a kind of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) self-extracting executable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) If you say N here, the kernel will be compressed with gzip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) which can be loaded by the palo bootloader directly too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) If you don't know what to do here, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) config SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) bool "Symmetric multi-processing support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) This enables support for systems with more than one CPU. If you have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) a system with only one CPU, say N. If you have a system with more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) than one CPU, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) If you say N here, the kernel will run on uni- and multiprocessor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) machines, but will use only one CPU of a multiprocessor machine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) On a uniprocessor machine, the kernel will run faster if you say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) available at <https://www.tldp.org/docs.html#howto>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) If you don't know what to do here, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) config PARISC_CPU_TOPOLOGY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) bool "Support cpu topology definition"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) depends on SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) Support PARISC cpu topology definition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) config SCHED_MC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) bool "Multi-core scheduler support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) depends on PARISC_CPU_TOPOLOGY && PA8X00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) Multi-core scheduler support improves the CPU scheduler's decision
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) making when dealing with multi-core CPU chips at a cost of slightly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) increased overhead in some places. If unsure say N here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) config IRQSTACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) bool "Use separate kernel stacks when processing interrupts"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) If you say Y here the kernel will use separate kernel stacks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) for handling hard and soft interrupts. This can help avoid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) overflowing the process kernel stacks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) config HOTPLUG_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) default y if SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) config ARCH_SELECT_MEMORY_MODEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) depends on 64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) config ARCH_SPARSEMEM_ENABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) depends on 64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) config ARCH_FLATMEM_ENABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) config ARCH_SPARSEMEM_DEFAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) depends on ARCH_SPARSEMEM_ENABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) source "kernel/Kconfig.hz"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) config COMPAT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) depends on 64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) select COMPAT_BINFMT_ELF if BINFMT_ELF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) config SYSVIPC_COMPAT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) depends on COMPAT && SYSVIPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) config AUDIT_ARCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) config NR_CPUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) int "Maximum number of CPUs (2-32)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) range 2 32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) depends on SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) default "4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) config KEXEC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) bool "Kexec system call"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) select KEXEC_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) kexec is a system call that implements the ability to shutdown your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) current kernel, and to start another kernel. It is like a reboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) but it is independent of the system firmware. And like a reboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) you can start any kernel with it, not just Linux.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) It is an ongoing process to be certain the hardware in a machine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) shutdown, so do not be surprised if this code does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) initially work for you.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) config KEXEC_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) bool "kexec file based system call"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) select KEXEC_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) select KEXEC_ELF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) This enables the kexec_file_load() System call. This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) file based and takes file descriptors as system call argument
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) for kernel and initramfs as opposed to list of segments as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) accepted by previous system call.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) endmenu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) source "drivers/firmware/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) source "drivers/parisc/Kconfig"