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