| # SPDX-License-Identifier: GPL-2.0 |
| config METAG |
| def_bool y |
| select EMBEDDED |
| select GENERIC_ATOMIC64 |
| select GENERIC_CLOCKEVENTS |
| select GENERIC_IRQ_SHOW |
| select GENERIC_SMP_IDLE_THREAD |
| select HAVE_64BIT_ALIGNED_ACCESS |
| select HAVE_ARCH_TRACEHOOK |
| select HAVE_C_RECORDMCOUNT |
| select HAVE_DEBUG_KMEMLEAK |
| select HAVE_DEBUG_STACKOVERFLOW |
| select HAVE_DYNAMIC_FTRACE |
| select HAVE_EXIT_THREAD |
| select HAVE_FTRACE_MCOUNT_RECORD |
| select HAVE_FUNCTION_TRACER |
| select HAVE_KERNEL_BZIP2 |
| select HAVE_KERNEL_GZIP |
| select HAVE_KERNEL_LZO |
| select HAVE_KERNEL_XZ |
| select HAVE_MEMBLOCK |
| select HAVE_MEMBLOCK_NODE_MAP |
| select HAVE_MOD_ARCH_SPECIFIC |
| select HAVE_OPROFILE |
| select HAVE_PERF_EVENTS |
| select HAVE_SYSCALL_TRACEPOINTS |
| select HAVE_UNDERSCORE_SYMBOL_PREFIX |
| select IRQ_DOMAIN |
| select GENERIC_IRQ_EFFECTIVE_AFF_MASK |
| select MODULES_USE_ELF_RELA |
| select OF |
| select OF_EARLY_FLATTREE |
| select SPARSE_IRQ |
| select CPU_NO_EFFICIENT_FFS |
| |
| config STACKTRACE_SUPPORT |
| def_bool y |
| |
| config LOCKDEP_SUPPORT |
| def_bool y |
| |
| config RWSEM_GENERIC_SPINLOCK |
| def_bool y |
| |
| config RWSEM_XCHGADD_ALGORITHM |
| bool |
| |
| config GENERIC_HWEIGHT |
| def_bool y |
| |
| config GENERIC_CALIBRATE_DELAY |
| def_bool y |
| |
| config NO_IOPORT_MAP |
| def_bool y |
| |
| source "init/Kconfig" |
| |
| source "kernel/Kconfig.freezer" |
| |
| menu "Processor type and features" |
| |
| config MMU |
| def_bool y |
| |
| config STACK_GROWSUP |
| def_bool y |
| |
| config HOTPLUG_CPU |
| bool "Enable CPU hotplug support" |
| depends on SMP |
| help |
| Say Y here to allow turning CPUs off and on. CPUs can be |
| controlled through /sys/devices/system/cpu. |
| |
| Say N if you want to disable CPU hotplug. |
| |
| config HIGHMEM |
| bool "High Memory Support" |
| help |
| The address space of Meta processors is only 4 Gigabytes large |
| and it has to accommodate user address space, kernel address |
| space as well as some memory mapped IO. That means that, if you |
| have a large amount of physical memory and/or IO, not all of the |
| memory can be "permanently mapped" by the kernel. The physical |
| memory that is not permanently mapped is called "high memory". |
| |
| Depending on the selected kernel/user memory split, minimum |
| vmalloc space and actual amount of RAM, you may not need this |
| option which should result in a slightly faster kernel. |
| |
| If unsure, say n. |
| |
| source "arch/metag/mm/Kconfig" |
| |
| source "arch/metag/Kconfig.soc" |
| |
| config METAG_META12 |
| bool |
| help |
| Select this from the SoC config symbol to indicate that it contains a |
| Meta 1.2 core. |
| |
| config METAG_META21 |
| bool |
| help |
| Select this from the SoC config symbol to indicate that it contains a |
| Meta 2.1 core. |
| |
| config SMP |
| bool "Symmetric multi-processing support" |
| depends on METAG_META21 && METAG_META21_MMU |
| help |
| This enables support for systems with more than one thread running |
| Linux. If you have a system with only one thread running Linux, |
| say N. Otherwise, say Y. |
| |
| config NR_CPUS |
| int "Maximum number of CPUs (2-4)" if SMP |
| range 2 4 if SMP |
| default "1" if !SMP |
| default "4" if SMP |
| |
| config METAG_SMP_WRITE_REORDERING |
| bool |
| help |
| This attempts to prevent cache-memory incoherence due to external |
| reordering of writes from different hardware threads when SMP is |
| enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an |
| attempt to catch some of the cases, and also before writes to shared |
| memory in LOCK1 protected atomics and spinlocks. |
| This will not completely prevent cache incoherency on affected cores. |
| |
| config METAG_LNKGET_AROUND_CACHE |
| bool |
| depends on METAG_META21 |
| help |
| This indicates that the LNKGET/LNKSET instructions go around the |
| cache, which requires some extra cache flushes when the memory needs |
| to be accessed by normal GET/SET instructions too. |
| |
| choice |
| prompt "Atomicity primitive" |
| default METAG_ATOMICITY_LNKGET |
| help |
| This option selects the mechanism for performing atomic operations. |
| |
| config METAG_ATOMICITY_IRQSOFF |
| depends on !SMP |
| bool "irqsoff" |
| help |
| This option disables interrupts to achieve atomicity. This mechanism |
| is not SMP-safe. |
| |
| config METAG_ATOMICITY_LNKGET |
| depends on METAG_META21 |
| bool "lnkget/lnkset" |
| help |
| This option uses the LNKGET and LNKSET instructions to achieve |
| atomicity. LNKGET/LNKSET are load-link/store-conditional instructions. |
| Choose this option if your system requires low latency. |
| |
| config METAG_ATOMICITY_LOCK1 |
| depends on SMP |
| bool "lock1" |
| help |
| This option uses the LOCK1 instruction for atomicity. This is mainly |
| provided as a debugging aid if the lnkget/lnkset atomicity primitive |
| isn't working properly. |
| |
| endchoice |
| |
| config METAG_FPU |
| bool "FPU Support" |
| depends on METAG_META21 |
| default y |
| help |
| This option allows processes to use FPU hardware available with this |
| CPU. If this option is not enabled FPU registers will not be saved |
| and restored on context-switch. |
| |
| If you plan on running programs which are compiled to use hard floats |
| say Y here. |
| |
| config METAG_DSP |
| bool "DSP Support" |
| help |
| This option allows processes to use DSP hardware available |
| with this CPU. If this option is not enabled DSP registers |
| will not be saved and restored on context-switch. |
| |
| If you plan on running DSP programs say Y here. |
| |
| config METAG_PERFCOUNTER_IRQS |
| bool "PerfCounters interrupt support" |
| depends on METAG_META21 |
| help |
| This option enables using interrupts to collect information from |
| Performance Counters. This option is supported in new META21 |
| (starting from HTP265). |
| |
| When disabled, Performance Counters information will be collected |
| based on Timer Interrupt. |
| |
| config HW_PERF_EVENTS |
| def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS |
| |
| config METAG_DA |
| bool "DA support" |
| help |
| Say Y if you plan to use a DA debug adapter with Linux. The presence |
| of the DA will be detected automatically at boot, so it is safe to say |
| Y to this option even when booting without a DA. |
| |
| This enables support for services provided by DA JTAG debug adapters, |
| such as: |
| - communication over DA channels (such as the console driver). |
| - use of the DA filesystem. |
| |
| menu "Boot options" |
| |
| config METAG_BUILTIN_DTB |
| bool "Embed DTB in kernel image" |
| default y |
| help |
| Embeds a device tree binary in the kernel image. |
| |
| config METAG_BUILTIN_DTB_NAME |
| string "Built in DTB" |
| depends on METAG_BUILTIN_DTB |
| help |
| Set the name of the DTB to embed (leave blank to pick one |
| automatically based on kernel configuration). |
| |
| config CMDLINE_BOOL |
| bool "Default bootloader kernel arguments" |
| |
| config CMDLINE |
| string "Kernel command line" |
| depends on CMDLINE_BOOL |
| help |
| On some architectures there is currently no way for the boot loader |
| to pass arguments to the kernel. For these architectures, you should |
| supply some command-line options at build time by entering them |
| here. |
| |
| config CMDLINE_FORCE |
| bool "Force default kernel command string" |
| depends on CMDLINE_BOOL |
| help |
| Set this to have arguments from the default kernel command string |
| override those passed by the boot loader. |
| |
| endmenu |
| |
| source "kernel/Kconfig.preempt" |
| |
| source kernel/Kconfig.hz |
| |
| endmenu |
| |
| menu "Power management options" |
| |
| source kernel/power/Kconfig |
| |
| endmenu |
| |
| menu "Executable file formats" |
| |
| source "fs/Kconfig.binfmt" |
| |
| endmenu |
| |
| source "net/Kconfig" |
| |
| source "drivers/Kconfig" |
| |
| source "fs/Kconfig" |
| |
| source "arch/metag/Kconfig.debug" |
| |
| source "security/Kconfig" |
| |
| source "crypto/Kconfig" |
| |
| source "lib/Kconfig" |