1config METAG 2 def_bool y 3 select EMBEDDED 4 select GENERIC_ATOMIC64 5 select GENERIC_CLOCKEVENTS 6 select GENERIC_IRQ_SHOW 7 select GENERIC_SMP_IDLE_THREAD 8 select HAVE_64BIT_ALIGNED_ACCESS 9 select HAVE_ARCH_TRACEHOOK 10 select HAVE_C_RECORDMCOUNT 11 select HAVE_DEBUG_KMEMLEAK 12 select HAVE_DEBUG_STACKOVERFLOW 13 select HAVE_DYNAMIC_FTRACE 14 select HAVE_EXIT_THREAD 15 select HAVE_FTRACE_MCOUNT_RECORD 16 select HAVE_FUNCTION_TRACER 17 select HAVE_KERNEL_BZIP2 18 select HAVE_KERNEL_GZIP 19 select HAVE_KERNEL_LZO 20 select HAVE_KERNEL_XZ 21 select HAVE_MEMBLOCK 22 select HAVE_MEMBLOCK_NODE_MAP 23 select HAVE_MOD_ARCH_SPECIFIC 24 select HAVE_OPROFILE 25 select HAVE_PERF_EVENTS 26 select HAVE_SYSCALL_TRACEPOINTS 27 select HAVE_UNDERSCORE_SYMBOL_PREFIX 28 select IRQ_DOMAIN 29 select MODULES_USE_ELF_RELA 30 select OF 31 select OF_EARLY_FLATTREE 32 select SPARSE_IRQ 33 34config STACKTRACE_SUPPORT 35 def_bool y 36 37config LOCKDEP_SUPPORT 38 def_bool y 39 40config HAVE_LATENCYTOP_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