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