|
@@ -0,0 +1,277 @@
|
|
|
+config SYMBOL_PREFIX
|
|
|
+ string
|
|
|
+ default "_"
|
|
|
+
|
|
|
+config METAG
|
|
|
+ def_bool y
|
|
|
+ select EMBEDDED
|
|
|
+ select GENERIC_ATOMIC64
|
|
|
+ select GENERIC_CLOCKEVENTS
|
|
|
+ select GENERIC_IRQ_SHOW
|
|
|
+ select GENERIC_SIGALTSTACK
|
|
|
+ select GENERIC_SMP_IDLE_THREAD
|
|
|
+ select HAVE_64BIT_ALIGNED_ACCESS
|
|
|
+ select HAVE_ARCH_TRACEHOOK
|
|
|
+ select HAVE_DEBUG_KMEMLEAK
|
|
|
+ select HAVE_GENERIC_HARDIRQS
|
|
|
+ select HAVE_IRQ_WORK
|
|
|
+ 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_SYSCALL_TRACEPOINTS
|
|
|
+ select IRQ_DOMAIN
|
|
|
+ select MODULES_USE_ELF_RELA
|
|
|
+ select OF
|
|
|
+ select OF_EARLY_FLATTREE
|
|
|
+ select SPARSE_IRQ
|
|
|
+
|
|
|
+config ARCH_NO_VIRT_TO_BUS
|
|
|
+ def_bool y
|
|
|
+
|
|
|
+config STACKTRACE_SUPPORT
|
|
|
+ def_bool y
|
|
|
+
|
|
|
+config LOCKDEP_SUPPORT
|
|
|
+ def_bool y
|
|
|
+
|
|
|
+config HAVE_LATENCYTOP_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 GENERIC_GPIO
|
|
|
+ def_bool n
|
|
|
+
|
|
|
+config NO_IOPORT
|
|
|
+ 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
|
|
|
+ select USE_GENERIC_SMP_HELPERS
|
|
|
+ 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.
|
|
|
+
|
|
|
+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"
|