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