linux/arch/metag/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2config METAG
   3        def_bool y
   4        select EMBEDDED
   5        select GENERIC_ATOMIC64
   6        select GENERIC_CLOCKEVENTS
   7        select GENERIC_IRQ_SHOW
   8        select GENERIC_SMP_IDLE_THREAD
   9        select HAVE_64BIT_ALIGNED_ACCESS
  10        select HAVE_ARCH_TRACEHOOK
  11        select HAVE_C_RECORDMCOUNT
  12        select HAVE_DEBUG_KMEMLEAK
  13        select HAVE_DEBUG_STACKOVERFLOW
  14        select HAVE_DYNAMIC_FTRACE
  15        select HAVE_EXIT_THREAD
  16        select HAVE_FTRACE_MCOUNT_RECORD
  17        select HAVE_FUNCTION_TRACER
  18        select HAVE_KERNEL_BZIP2
  19        select HAVE_KERNEL_GZIP
  20        select HAVE_KERNEL_LZO
  21        select HAVE_KERNEL_XZ
  22        select HAVE_MEMBLOCK
  23        select HAVE_MEMBLOCK_NODE_MAP
  24        select HAVE_MOD_ARCH_SPECIFIC
  25        select HAVE_OPROFILE
  26        select HAVE_PERF_EVENTS
  27        select HAVE_SYSCALL_TRACEPOINTS
  28        select HAVE_UNDERSCORE_SYMBOL_PREFIX
  29        select IRQ_DOMAIN
  30        select GENERIC_IRQ_EFFECTIVE_AFF_MASK
  31        select MODULES_USE_ELF_RELA
  32        select OF
  33        select OF_EARLY_FLATTREE
  34        select SPARSE_IRQ
  35        select CPU_NO_EFFICIENT_FFS
  36
  37config STACKTRACE_SUPPORT
  38        def_bool y
  39
  40config LOCKDEP_SUPPORT
  41        def_bool y
  42
  43config RWSEM_GENERIC_SPINLOCK
  44        def_bool y
  45
  46config RWSEM_XCHGADD_ALGORITHM
  47        bool
  48
  49config GENERIC_HWEIGHT
  50        def_bool y
  51
  52config GENERIC_CALIBRATE_DELAY
  53        def_bool y
  54
  55config NO_IOPORT_MAP
  56        def_bool y
  57
  58source "init/Kconfig"
  59
  60source "kernel/Kconfig.freezer"
  61
  62menu "Processor type and features"
  63
  64config MMU
  65        def_bool y
  66
  67config STACK_GROWSUP
  68        def_bool y
  69
  70config HOTPLUG_CPU
  71        bool "Enable CPU hotplug support"
  72        depends on SMP
  73        help
  74          Say Y here to allow turning CPUs off and on. CPUs can be
  75          controlled through /sys/devices/system/cpu.
  76
  77          Say N if you want to disable CPU hotplug.
  78
  79config HIGHMEM
  80        bool "High Memory Support"
  81        help
  82          The address space of Meta processors is only 4 Gigabytes large
  83          and it has to accommodate user address space, kernel address
  84          space as well as some memory mapped IO. That means that, if you
  85          have a large amount of physical memory and/or IO, not all of the
  86          memory can be "permanently mapped" by the kernel. The physical
  87          memory that is not permanently mapped is called "high memory".
  88
  89          Depending on the selected kernel/user memory split, minimum
  90          vmalloc space and actual amount of RAM, you may not need this
  91          option which should result in a slightly faster kernel.
  92
  93          If unsure, say n.
  94
  95source "arch/metag/mm/Kconfig"
  96
  97source "arch/metag/Kconfig.soc"
  98
  99config METAG_META12
 100        bool
 101        help
 102          Select this from the SoC config symbol to indicate that it contains a
 103          Meta 1.2 core.
 104
 105config METAG_META21
 106        bool
 107        help
 108          Select this from the SoC config symbol to indicate that it contains a
 109          Meta 2.1 core.
 110
 111config SMP
 112        bool "Symmetric multi-processing support"
 113        depends on METAG_META21 && METAG_META21_MMU
 114        help
 115          This enables support for systems with more than one thread running
 116          Linux. If you have a system with only one thread running Linux,
 117          say N. Otherwise, say Y.
 118
 119config NR_CPUS
 120        int "Maximum number of CPUs (2-4)" if SMP
 121        range 2 4 if SMP
 122        default "1" if !SMP
 123        default "4" if SMP
 124
 125config METAG_SMP_WRITE_REORDERING
 126        bool
 127        help
 128          This attempts to prevent cache-memory incoherence due to external
 129          reordering of writes from different hardware threads when SMP is
 130          enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an
 131          attempt to catch some of the cases, and also before writes to shared
 132          memory in LOCK1 protected atomics and spinlocks.
 133          This will not completely prevent cache incoherency on affected cores.
 134
 135config METAG_LNKGET_AROUND_CACHE
 136        bool
 137        depends on METAG_META21
 138        help
 139          This indicates that the LNKGET/LNKSET instructions go around the
 140          cache, which requires some extra cache flushes when the memory needs
 141          to be accessed by normal GET/SET instructions too.
 142
 143choice
 144        prompt "Atomicity primitive"
 145        default METAG_ATOMICITY_LNKGET
 146        help
 147          This option selects the mechanism for performing atomic operations.
 148
 149config METAG_ATOMICITY_IRQSOFF
 150        depends on !SMP
 151        bool "irqsoff"
 152        help
 153          This option disables interrupts to achieve atomicity. This mechanism
 154          is not SMP-safe.
 155
 156config METAG_ATOMICITY_LNKGET
 157        depends on METAG_META21
 158        bool "lnkget/lnkset"
 159        help
 160          This option uses the LNKGET and LNKSET instructions to achieve
 161          atomicity. LNKGET/LNKSET are load-link/store-conditional instructions.
 162          Choose this option if your system requires low latency.
 163
 164config METAG_ATOMICITY_LOCK1
 165        depends on SMP
 166        bool "lock1"
 167        help
 168          This option uses the LOCK1 instruction for atomicity. This is mainly
 169          provided as a debugging aid if the lnkget/lnkset atomicity primitive
 170          isn't working properly.
 171
 172endchoice
 173
 174config METAG_FPU
 175        bool "FPU Support"
 176        depends on METAG_META21
 177        default y
 178        help
 179          This option allows processes to use FPU hardware available with this
 180          CPU. If this option is not enabled FPU registers will not be saved
 181          and restored on context-switch.
 182
 183          If you plan on running programs which are compiled to use hard floats
 184          say Y here.
 185
 186config METAG_DSP
 187        bool "DSP Support"
 188        help
 189          This option allows processes to use DSP hardware available
 190          with this CPU. If this option is not enabled DSP registers
 191          will not be saved and restored on context-switch.
 192
 193          If you plan on running DSP programs say Y here.
 194
 195config METAG_PERFCOUNTER_IRQS
 196        bool "PerfCounters interrupt support"
 197        depends on METAG_META21
 198        help
 199          This option enables using interrupts to collect information from
 200          Performance Counters. This option is supported in new META21
 201          (starting from HTP265).
 202
 203          When disabled, Performance Counters information will be collected
 204          based on Timer Interrupt.
 205
 206config HW_PERF_EVENTS
 207        def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS
 208
 209config METAG_DA
 210        bool "DA support"
 211        help
 212          Say Y if you plan to use a DA debug adapter with Linux. The presence
 213          of the DA will be detected automatically at boot, so it is safe to say
 214          Y to this option even when booting without a DA.
 215
 216          This enables support for services provided by DA JTAG debug adapters,
 217          such as:
 218          - communication over DA channels (such as the console driver).
 219          - use of the DA filesystem.
 220
 221menu "Boot options"
 222
 223config METAG_BUILTIN_DTB
 224        bool "Embed DTB in kernel image"
 225        default y
 226        help
 227          Embeds a device tree binary in the kernel image.
 228
 229config METAG_BUILTIN_DTB_NAME
 230        string "Built in DTB"
 231        depends on METAG_BUILTIN_DTB
 232        help
 233          Set the name of the DTB to embed (leave blank to pick one
 234          automatically based on kernel configuration).
 235
 236config CMDLINE_BOOL
 237        bool "Default bootloader kernel arguments"
 238
 239config CMDLINE
 240        string "Kernel command line"
 241        depends on CMDLINE_BOOL
 242        help
 243          On some architectures there is currently no way for the boot loader
 244          to pass arguments to the kernel. For these architectures, you should
 245          supply some command-line options at build time by entering them
 246          here.
 247
 248config CMDLINE_FORCE
 249        bool "Force default kernel command string"
 250        depends on CMDLINE_BOOL
 251        help
 252          Set this to have arguments from the default kernel command string
 253          override those passed by the boot loader.
 254
 255endmenu
 256
 257source "kernel/Kconfig.preempt"
 258
 259source kernel/Kconfig.hz
 260
 261endmenu
 262
 263menu "Power management options"
 264
 265source kernel/power/Kconfig
 266
 267endmenu
 268
 269menu "Executable file formats"
 270
 271source "fs/Kconfig.binfmt"
 272
 273endmenu
 274
 275source "net/Kconfig"
 276
 277source "drivers/Kconfig"
 278
 279source "fs/Kconfig"
 280
 281source "arch/metag/Kconfig.debug"
 282
 283source "security/Kconfig"
 284
 285source "crypto/Kconfig"
 286
 287source "lib/Kconfig"
 288