1 # SPDX-License-Identifier: GPL-2.0 !! 1 # 2 config ARM !! 2 # For a description of the syntax of this configuration file, >> 3 # see Documentation/kbuild/kconfig-language.txt. >> 4 # >> 5 config ALPHA 3 bool 6 bool 4 default y 7 default y 5 select ARCH_32BIT_OFF_T << 6 select ARCH_CORRECT_STACKTRACE_ON_KRET << 7 select ARCH_HAS_BINFMT_FLAT << 8 select ARCH_HAS_CPU_CACHE_ALIASING << 9 select ARCH_HAS_CPU_FINALIZE_INIT if M << 10 select ARCH_HAS_CURRENT_STACK_POINTER << 11 select ARCH_HAS_DEBUG_VIRTUAL if MMU << 12 select ARCH_HAS_DMA_ALLOC if MMU << 13 select ARCH_HAS_DMA_OPS << 14 select ARCH_HAS_DMA_WRITE_COMBINE if ! << 15 select ARCH_HAS_ELF_RANDOMIZE << 16 select ARCH_HAS_FORTIFY_SOURCE << 17 select ARCH_HAS_KEEPINITRD << 18 select ARCH_HAS_KCOV << 19 select ARCH_HAS_MEMBARRIER_SYNC_CORE << 20 select ARCH_HAS_NON_OVERLAPPING_ADDRES << 21 select ARCH_HAS_PTE_SPECIAL if ARM_LPA << 22 select ARCH_HAS_SETUP_DMA_OPS << 23 select ARCH_HAS_SET_MEMORY << 24 select ARCH_STACKWALK << 25 select ARCH_HAS_STRICT_KERNEL_RWX if M << 26 select ARCH_HAS_STRICT_MODULE_RWX if M << 27 select ARCH_HAS_SYNC_DMA_FOR_DEVICE << 28 select ARCH_HAS_SYNC_DMA_FOR_CPU << 29 select ARCH_HAS_TEARDOWN_DMA_OPS if MM << 30 select ARCH_HAS_TICK_BROADCAST if GENE << 31 select ARCH_HAVE_NMI_SAFE_CMPXCHG if C << 32 select ARCH_HAS_GCOV_PROFILE_ALL << 33 select ARCH_KEEP_MEMBLOCK << 34 select ARCH_HAS_UBSAN << 35 select ARCH_MIGHT_HAVE_PC_PARPORT << 36 select ARCH_OPTIONAL_KERNEL_RWX if ARC << 37 select ARCH_OPTIONAL_KERNEL_RWX_DEFAUL << 38 select ARCH_NEED_CMPXCHG_1_EMU if CPU_ << 39 select ARCH_SUPPORTS_ATOMIC_RMW << 40 select ARCH_SUPPORTS_CFI_CLANG << 41 select ARCH_SUPPORTS_HUGETLBFS if ARM_ << 42 select ARCH_SUPPORTS_PER_VMA_LOCK << 43 select ARCH_USE_BUILTIN_BSWAP << 44 select ARCH_USE_CMPXCHG_LOCKREF << 45 select ARCH_USE_MEMTEST << 46 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_ << 47 select ARCH_WANT_GENERAL_HUGETLB << 48 select ARCH_WANT_IPC_PARSE_VERSION << 49 select ARCH_WANT_LD_ORPHAN_WARN << 50 select BINFMT_FLAT_ARGVP_ENVP_ON_STACK << 51 select BUILDTIME_TABLE_SORT if MMU << 52 select COMMON_CLK if !(ARCH_RPC || ARC << 53 select CLONE_BACKWARDS << 54 select CPU_PM if SUSPEND || CPU_IDLE << 55 select DCACHE_WORD_ACCESS if HAVE_EFFI << 56 select DMA_DECLARE_COHERENT << 57 select DMA_GLOBAL_POOL if !MMU << 58 select DMA_NONCOHERENT_MMAP if MMU << 59 select EDAC_SUPPORT << 60 select EDAC_ATOMIC_SCRUB << 61 select GENERIC_ALLOCATOR << 62 select GENERIC_ARCH_TOPOLOGY if ARM_CP << 63 select GENERIC_ATOMIC64 if CPU_V7M || << 64 select GENERIC_CLOCKEVENTS_BROADCAST i << 65 select GENERIC_IRQ_IPI if SMP << 66 select GENERIC_CPU_AUTOPROBE << 67 select GENERIC_CPU_DEVICES << 68 select GENERIC_EARLY_IOREMAP << 69 select GENERIC_IDLE_POLL_SETUP << 70 select GENERIC_IRQ_MULTI_HANDLER << 71 select GENERIC_IRQ_PROBE << 72 select GENERIC_IRQ_SHOW << 73 select GENERIC_IRQ_SHOW_LEVEL << 74 select GENERIC_LIB_DEVMEM_IS_ALLOWED << 75 select GENERIC_PCI_IOMAP << 76 select GENERIC_SCHED_CLOCK << 77 select GENERIC_SMP_IDLE_THREAD << 78 select HARDIRQS_SW_RESEND << 79 select HAS_IOPORT << 80 select HAVE_ARCH_AUDITSYSCALL if AEABI << 81 select HAVE_ARCH_BITREVERSE if (CPU_32 << 82 select HAVE_ARCH_JUMP_LABEL if !XIP_KE << 83 select HAVE_ARCH_KFENCE if MMU && !XIP << 84 select HAVE_ARCH_KGDB if !CPU_ENDIAN_B << 85 select HAVE_ARCH_KASAN if MMU && !XIP_ << 86 select HAVE_ARCH_KASAN_VMALLOC if HAVE << 87 select HAVE_ARCH_MMAP_RND_BITS if MMU << 88 select HAVE_ARCH_PFN_VALID << 89 select HAVE_ARCH_SECCOMP << 90 select HAVE_ARCH_SECCOMP_FILTER if AEA << 91 select HAVE_ARCH_STACKLEAK << 92 select HAVE_ARCH_THREAD_STRUCT_WHITELI << 93 select HAVE_ARCH_TRACEHOOK << 94 select HAVE_ARCH_TRANSPARENT_HUGEPAGE << 95 select HAVE_ARM_SMCCC if CPU_V7 << 96 select HAVE_EBPF_JIT if !CPU_ENDIAN_BE << 97 select HAVE_CONTEXT_TRACKING_USER << 98 select HAVE_C_RECORDMCOUNT << 99 select HAVE_BUILDTIME_MCOUNT_SORT << 100 select HAVE_DEBUG_KMEMLEAK if !XIP_KER << 101 select HAVE_DMA_CONTIGUOUS if MMU << 102 select HAVE_DYNAMIC_FTRACE if !XIP_KER << 103 select HAVE_DYNAMIC_FTRACE_WITH_REGS i << 104 select HAVE_EFFICIENT_UNALIGNED_ACCESS << 105 select HAVE_EXIT_THREAD << 106 select HAVE_GUP_FAST if ARM_LPAE << 107 select HAVE_FTRACE_MCOUNT_RECORD if !X << 108 select HAVE_FUNCTION_ERROR_INJECTION << 109 select HAVE_FUNCTION_GRAPH_TRACER << 110 select HAVE_FUNCTION_TRACER if !XIP_KE << 111 select HAVE_GCC_PLUGINS << 112 select HAVE_HW_BREAKPOINT if PERF_EVEN << 113 select HAVE_IRQ_TIME_ACCOUNTING << 114 select HAVE_KERNEL_GZIP << 115 select HAVE_KERNEL_LZ4 << 116 select HAVE_KERNEL_LZMA << 117 select HAVE_KERNEL_LZO << 118 select HAVE_KERNEL_XZ << 119 select HAVE_KPROBES if !XIP_KERNEL && << 120 select HAVE_KRETPROBES if HAVE_KPROBES << 121 select HAVE_LD_DEAD_CODE_DATA_ELIMINAT << 122 select HAVE_MOD_ARCH_SPECIFIC << 123 select HAVE_NMI << 124 select HAVE_OPTPROBES if !THUMB2_KERNE << 125 select HAVE_PAGE_SIZE_4KB << 126 select HAVE_PCI if MMU << 127 select HAVE_PERF_EVENTS << 128 select HAVE_PERF_REGS << 129 select HAVE_PERF_USER_STACK_DUMP << 130 select MMU_GATHER_RCU_TABLE_FREE if SM << 131 select HAVE_REGS_AND_STACK_ACCESS_API << 132 select HAVE_RSEQ << 133 select HAVE_STACKPROTECTOR << 134 select HAVE_SYSCALL_TRACEPOINTS << 135 select HAVE_UID16 << 136 select HAVE_VIRT_CPU_ACCOUNTING_GEN << 137 select HOTPLUG_CORE_SYNC_DEAD if HOTPL << 138 select IRQ_FORCED_THREADING << 139 select LOCK_MM_AND_FIND_VMA << 140 select MODULES_USE_ELF_REL << 141 select NEED_DMA_MAP_STATE << 142 select OF_EARLY_FLATTREE if OF << 143 select OLD_SIGACTION << 144 select OLD_SIGSUSPEND3 << 145 select PCI_DOMAINS_GENERIC if PCI << 146 select PCI_SYSCALL if PCI << 147 select PERF_USE_VMALLOC << 148 select RTC_LIB << 149 select SPARSE_IRQ if !(ARCH_FOOTBRIDGE << 150 select SYS_SUPPORTS_APM_EMULATION << 151 select THREAD_INFO_IN_TASK << 152 select TIMER_OF if OF << 153 select HAVE_ARCH_VMAP_STACK if MMU && << 154 select TRACE_IRQFLAGS_SUPPORT if !CPU_ << 155 select USE_OF if !(ARCH_FOOTBRIDGE || << 156 # Above selects are sorted alphabetica << 157 # according to that. Thanks. << 158 help << 159 The ARM series is a line of low-powe << 160 licensed by ARM Ltd and targeted at << 161 handhelds such as the Compaq IPAQ. << 162 manufactured, but legacy ARM-based P << 163 Europe. There is an ARM Linux proje << 164 <http://www.arm.linux.org.uk/>. << 165 << 166 config ARM_HAS_GROUP_RELOCS << 167 def_bool y << 168 depends on !LD_IS_LLD || LLD_VERSION > << 169 depends on !COMPILE_TEST << 170 help 8 help 171 Whether or not to use R_ARM_ALU_PC_G !! 9 The Alpha is a 64-bit general-purpose processor designed and 172 relocations, which have been around !! 10 marketed by the Digital Equipment Corporation of blessed memory, 173 supported in LLD until version 14. T !! 11 now Hewlett-Packard. The Alpha Linux project has a home page at 174 which is usually sufficient, but not !! 12 <http://www.alphalinux.org/>. 175 this feature when doing compile test << 176 << 177 config ARM_DMA_USE_IOMMU << 178 bool << 179 select NEED_SG_DMA_LENGTH << 180 << 181 if ARM_DMA_USE_IOMMU << 182 << 183 config ARM_DMA_IOMMU_ALIGNMENT << 184 int "Maximum PAGE_SIZE order of alignm << 185 range 4 9 << 186 default 8 << 187 help << 188 DMA mapping framework by default ali << 189 PAGE_SIZE order which is greater tha << 190 size. This works well for buffers up << 191 for larger buffers it just a waste o << 192 relatively small addressing window ( << 193 virtual space with just a few alloca << 194 << 195 With this parameter you can specify << 196 DMA IOMMU buffers. Larger buffers wi << 197 specified order. The order is expres << 198 by the PAGE_SIZE. << 199 << 200 endif << 201 << 202 config SYS_SUPPORTS_APM_EMULATION << 203 bool << 204 << 205 config HAVE_TCM << 206 bool << 207 select GENERIC_ALLOCATOR << 208 << 209 config HAVE_PROC_CPU << 210 bool << 211 << 212 config NO_IOPORT_MAP << 213 bool << 214 << 215 config SBUS << 216 bool << 217 13 218 config STACKTRACE_SUPPORT !! 14 config 64BIT 219 bool !! 15 def_bool y 220 default y << 221 16 222 config LOCKDEP_SUPPORT !! 17 config MMU 223 bool 18 bool 224 default y 19 default y 225 20 226 config ARCH_HAS_ILOG2_U32 !! 21 config UID16 227 bool 22 bool 228 23 229 config ARCH_HAS_ILOG2_U64 !! 24 config RWSEM_GENERIC_SPINLOCK 230 bool 25 bool 231 26 232 config ARCH_HAS_BANDGAP !! 27 config RWSEM_XCHGADD_ALGORITHM 233 bool << 234 << 235 config FIX_EARLYCON_MEM << 236 def_bool y if MMU << 237 << 238 config GENERIC_HWEIGHT << 239 bool 28 bool 240 default y 29 default y 241 30 242 config GENERIC_CALIBRATE_DELAY !! 31 config GENERIC_ISA_DMA 243 bool 32 bool 244 default y 33 default y 245 34 246 config ARCH_MAY_HAVE_PC_FDC !! 35 source "init/Kconfig" 247 bool << 248 36 249 config ARCH_SUPPORTS_UPROBES << 250 def_bool y << 251 37 252 config GENERIC_ISA_DMA !! 38 menu "System setup" 253 bool << 254 39 255 config FIQ !! 40 choice 256 bool !! 41 prompt "Alpha system type" >> 42 default ALPHA_GENERIC >> 43 ---help--- >> 44 This is the system type of your hardware. A "generic" kernel will >> 45 run on any supported Alpha system. However, if you configure a >> 46 kernel for your specific system, it will be faster and smaller. >> 47 >> 48 To find out what type of Alpha system you have, you may want to >> 49 check out the Linux/Alpha FAQ, accessible on the WWW from >> 50 <http://www.alphalinux.org/>. In summary: >> 51 >> 52 Alcor/Alpha-XLT AS 600 >> 53 Alpha-XL XL-233, XL-266 >> 54 AlphaBook1 Alpha laptop >> 55 Avanti AS 200, AS 205, AS 250, AS 255, AS 300, AS 400 >> 56 Cabriolet AlphaPC64, AlphaPCI64 >> 57 DP264 DP264 >> 58 EB164 EB164 21164 evaluation board >> 59 EB64+ EB64+ 21064 evaluation board >> 60 EB66 EB66 21066 evaluation board >> 61 EB66+ EB66+ 21066 evaluation board >> 62 Jensen DECpc 150, DEC 2000 model 300, >> 63 DEC 2000 model 500 >> 64 LX164 AlphaPC164-LX >> 65 Lynx AS 2100A >> 66 Miata Personal Workstation 433a, 433au, 500a, >> 67 500au, 600a, or 600au >> 68 Marvel AlphaServer ES47 / ES80 / GS1280 >> 69 Mikasa AS 1000 >> 70 Noname AXPpci33, UDB (Multia) >> 71 Noritake AS 1000A, AS 600A, AS 800 >> 72 PC164 AlphaPC164 >> 73 Rawhide AS 1200, AS 4000, AS 4100 >> 74 Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX >> 75 SX164 AlphaPC164-SX >> 76 Sable AS 2000, AS 2100 >> 77 Shark DS 20L >> 78 Takara Takara >> 79 Titan AlphaServer ES45 / DS25 >> 80 Wildfire AlphaServer GS 40/80/160/320 >> 81 >> 82 If you don't know what to do, choose "generic". >> 83 >> 84 config ALPHA_GENERIC >> 85 bool "Generic" >> 86 help >> 87 A generic kernel will run on all supported Alpha hardware. >> 88 >> 89 config ALPHA_ALCOR >> 90 bool "Alcor/Alpha-XLT" >> 91 help >> 92 For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data >> 93 slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O >> 94 Address, CIA) - a 383 pin plastic PGA). It provides a DRAM >> 95 controller (256-bit memory bus) and a PCI interface. It also does >> 96 all the work required to support an external Bcache and to maintain >> 97 memory coherence when a PCI device DMAs into (or out of) memory. >> 98 >> 99 config ALPHA_XL >> 100 bool "Alpha-XL" >> 101 help >> 102 XL-233 and XL-266-based Alpha systems. >> 103 >> 104 config ALPHA_BOOK1 >> 105 bool "AlphaBook1" >> 106 help >> 107 Dec AlphaBook1/Burns Alpha-based laptops. >> 108 >> 109 config ALPHA_AVANTI_CH >> 110 bool "Avanti" >> 111 >> 112 config ALPHA_CABRIOLET >> 113 bool "Cabriolet" >> 114 help >> 115 Cabriolet AlphaPC64, AlphaPCI64 systems. Derived from EB64+ but now >> 116 baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA >> 117 slots, 4 PCI slots (one pair are on a shared slot), uses plug-in >> 118 Bcache SIMMs. Requires power supply with 3.3V output. >> 119 >> 120 config ALPHA_DP264 >> 121 bool "DP264" >> 122 help >> 123 Various 21264 systems with the tsunami core logic chipset. >> 124 API Networks: 264DP, UP2000(+), CS20; >> 125 Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40. >> 126 >> 127 config ALPHA_EB164 >> 128 bool "EB164" >> 129 help >> 130 EB164 21164 evaluation board from DEC. Uses 21164 and ALCOR. Has >> 131 ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is >> 132 shared with an ISA slot) and 2 32-bit PCI slots. Uses plus-in >> 133 Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD, >> 134 MOUSE (PS2 style), RTC/NVRAM. Boot ROM is Flash. PC-AT-sized >> 135 motherboard. Requires power supply with 3.3V output. >> 136 >> 137 config ALPHA_EB64P_CH >> 138 bool "EB64+" >> 139 >> 140 config ALPHA_EB66 >> 141 bool "EB66" >> 142 help >> 143 A Digital DS group board. Uses 21066 or 21066A. I/O sub-system is >> 144 identical to EB64+. Baby PC-AT size. Runs from standard PC power >> 145 supply. The EB66 schematic was published as a marketing poster >> 146 advertising the 21066 as "the first microprocessor in the world with >> 147 embedded PCI". >> 148 >> 149 config ALPHA_EB66P >> 150 bool "EB66+" >> 151 help >> 152 Later variant of the EB66 board. >> 153 >> 154 config ALPHA_EIGER >> 155 bool "Eiger" >> 156 help >> 157 Apparently an obscure OEM single-board computer based on the >> 158 Typhoon/Tsunami chipset family. Information on it is scanty. >> 159 >> 160 config ALPHA_JENSEN >> 161 bool "Jensen" >> 162 help >> 163 DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one >> 164 of the first-generation Alpha systems. A number of these systems >> 165 seem to be available on the second- hand market. The Jensen is a >> 166 floor-standing tower system which originally used a 150MHz 21064 It >> 167 used programmable logic to interface a 486 EISA I/O bridge to the >> 168 CPU. >> 169 >> 170 config ALPHA_LX164 >> 171 bool "LX164" >> 172 help >> 173 A technical overview of this board is available at >> 174 <http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>. >> 175 >> 176 config ALPHA_LYNX >> 177 bool "Lynx" >> 178 help >> 179 AlphaServer 2100A-based systems. >> 180 >> 181 config ALPHA_MARVEL >> 182 bool "Marvel" >> 183 help >> 184 AlphaServer ES47 / ES80 / GS1280 based on EV7. >> 185 >> 186 config ALPHA_MIATA >> 187 bool "Miata" >> 188 help >> 189 The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a, >> 190 or 600au). There is an Installation HOWTO for this hardware at >> 191 <http://members.brabant.chello.nl/~s.vandereijk/miata.html>. >> 192 >> 193 config ALPHA_MIKASA >> 194 bool "Mikasa" >> 195 help >> 196 AlphaServer 1000-based Alpha systems. >> 197 >> 198 config ALPHA_NAUTILUS >> 199 bool "Nautilus" >> 200 help >> 201 Alpha systems based on the AMD 751 & ALI 1543C chipsets. 257 202 258 config ARCH_MTD_XIP !! 203 config ALPHA_NONAME_CH 259 bool !! 204 bool "Noname" 260 205 261 config ARM_PATCH_PHYS_VIRT !! 206 config ALPHA_NORITAKE 262 bool "Patch physical to virtual transl !! 207 bool "Noritake" 263 default y << 264 depends on MMU << 265 help 208 help 266 Patch phys-to-virt and virt-to-phys !! 209 AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based 267 boot and module load time according !! 210 systems. 268 kernel in system memory. << 269 211 270 This can only be used with non-XIP M !! 212 config ALPHA_PC164 271 of physical memory is at a 2 MiB bou !! 213 bool "PC164" 272 214 273 Only disable this option if you know !! 215 config ALPHA_P2K 274 this feature (eg, building a kernel !! 216 bool "Platform2000" 275 you need to shrink the kernel to the << 276 217 277 config NEED_MACH_IO_H !! 218 config ALPHA_RAWHIDE 278 bool !! 219 bool "Rawhide" 279 help 220 help 280 Select this when mach/io.h is requir !! 221 AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines. 281 definitions for this platform. The !! 222 See HOWTO at 282 be avoided when possible. !! 223 <http://www.alphalinux.org/docs/rawhide/4100_install.shtml>. 283 224 284 config NEED_MACH_MEMORY_H !! 225 config ALPHA_RUFFIAN 285 bool !! 226 bool "Ruffian" 286 help 227 help 287 Select this when mach/memory.h is re !! 228 Samsung APC164UX. There is a page on known problems and workarounds 288 definitions for this platform. The !! 229 at <http://www.alphalinux.org/faq/FAQ-11.html>. 289 be avoided when possible. << 290 230 291 config PHYS_OFFSET !! 231 config ALPHA_RX164 292 hex "Physical address of main memory" !! 232 bool "RX164" 293 depends on !ARM_PATCH_PHYS_VIRT || !AU << 294 default DRAM_BASE if !MMU << 295 default 0x00000000 if ARCH_FOOTBRIDGE << 296 default 0x10000000 if ARCH_OMAP1 || AR << 297 default 0xa0000000 if ARCH_PXA << 298 default 0xc0000000 if ARCH_EP93XX || A << 299 default 0 << 300 help << 301 Please provide the physical address << 302 location of main memory in your syst << 303 233 304 config GENERIC_BUG !! 234 config ALPHA_SX164 305 def_bool y !! 235 bool "SX164" 306 depends on BUG << 307 236 308 config PGTABLE_LEVELS !! 237 config ALPHA_SABLE 309 int !! 238 bool "Sable" 310 default 3 if ARM_LPAE !! 239 help 311 default 2 !! 240 Digital AlphaServer 2000 and 2100-based systems. 312 241 313 menu "System Type" !! 242 config ALPHA_SHARK >> 243 bool "Shark" 314 244 315 config MMU !! 245 config ALPHA_TAKARA 316 bool "MMU-based Paged Memory Managemen !! 246 bool "Takara" 317 default y << 318 help 247 help 319 Select if you want MMU-based virtual !! 248 Alpha 11164-based OEM single-board computer. 320 support by paged memory management. << 321 249 322 config ARM_SINGLE_ARMV7M !! 250 config ALPHA_TITAN 323 def_bool !MMU !! 251 bool "Titan" 324 select ARM_NVIC !! 252 help 325 select CPU_V7M !! 253 AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset. 326 select NO_IOPORT_MAP << 327 254 328 config ARCH_MMAP_RND_BITS_MIN !! 255 config ALPHA_WILDFIRE 329 default 8 !! 256 bool "Wildfire" >> 257 help >> 258 AlphaServer GS 40/80/160/320 SMP based on the EV67 core. 330 259 331 config ARCH_MMAP_RND_BITS_MAX !! 260 endchoice 332 default 14 if PAGE_OFFSET=0x40000000 << 333 default 15 if PAGE_OFFSET=0x80000000 << 334 default 16 << 335 261 336 config ARCH_MULTIPLATFORM !! 262 # clear all implied options (don't want default values for those): 337 bool "Require kernel to be portable to !! 263 # Most of these machines have ISA slots; not exactly sure which don't, 338 depends on MMU && !(ARCH_FOOTBRIDGE || !! 264 # and this doesn't activate hordes of code, so do it always. >> 265 config ISA >> 266 bool 339 default y 267 default y 340 help 268 help 341 In general, all Arm machines can be !! 269 Find out whether you have ISA slots on your motherboard. ISA is the 342 kernel image, covering either Armv4/ !! 270 name of a bus system, i.e. the way the CPU talks to the other stuff 343 !! 271 inside your box. Other bus systems are PCI, EISA, MicroChannel 344 However, some configuration options !! 272 (MCA) or VESA. ISA is an older system, now being displaced by PCI; 345 specific physical addresses or enabl !! 273 newer boards don't support it. If you have ISA, say Y, otherwise N. 346 break other machines. << 347 << 348 Selecting N here allows using those << 349 DEBUG_UNCOMPRESS, XIP_KERNEL and ZBO << 350 << 351 source "arch/arm/Kconfig.platforms" << 352 << 353 # << 354 # This is sorted alphabetically by mach-* path << 355 # Kconfigs may be included either alphabetical << 356 # plat- suffix) or along side the correspondin << 357 # << 358 source "arch/arm/mach-actions/Kconfig" << 359 << 360 source "arch/arm/mach-alpine/Kconfig" << 361 << 362 source "arch/arm/mach-artpec/Kconfig" << 363 << 364 source "arch/arm/mach-aspeed/Kconfig" << 365 << 366 source "arch/arm/mach-at91/Kconfig" << 367 << 368 source "arch/arm/mach-axxia/Kconfig" << 369 << 370 source "arch/arm/mach-bcm/Kconfig" << 371 << 372 source "arch/arm/mach-berlin/Kconfig" << 373 << 374 source "arch/arm/mach-clps711x/Kconfig" << 375 << 376 source "arch/arm/mach-davinci/Kconfig" << 377 << 378 source "arch/arm/mach-digicolor/Kconfig" << 379 << 380 source "arch/arm/mach-dove/Kconfig" << 381 << 382 source "arch/arm/mach-ep93xx/Kconfig" << 383 << 384 source "arch/arm/mach-exynos/Kconfig" << 385 << 386 source "arch/arm/mach-footbridge/Kconfig" << 387 << 388 source "arch/arm/mach-gemini/Kconfig" << 389 << 390 source "arch/arm/mach-highbank/Kconfig" << 391 << 392 source "arch/arm/mach-hisi/Kconfig" << 393 << 394 source "arch/arm/mach-hpe/Kconfig" << 395 << 396 source "arch/arm/mach-imx/Kconfig" << 397 << 398 source "arch/arm/mach-ixp4xx/Kconfig" << 399 << 400 source "arch/arm/mach-keystone/Kconfig" << 401 << 402 source "arch/arm/mach-lpc32xx/Kconfig" << 403 << 404 source "arch/arm/mach-mediatek/Kconfig" << 405 << 406 source "arch/arm/mach-meson/Kconfig" << 407 << 408 source "arch/arm/mach-milbeaut/Kconfig" << 409 << 410 source "arch/arm/mach-mmp/Kconfig" << 411 << 412 source "arch/arm/mach-mstar/Kconfig" << 413 << 414 source "arch/arm/mach-mv78xx0/Kconfig" << 415 << 416 source "arch/arm/mach-mvebu/Kconfig" << 417 << 418 source "arch/arm/mach-mxs/Kconfig" << 419 << 420 source "arch/arm/mach-nomadik/Kconfig" << 421 << 422 source "arch/arm/mach-npcm/Kconfig" << 423 << 424 source "arch/arm/mach-omap1/Kconfig" << 425 << 426 source "arch/arm/mach-omap2/Kconfig" << 427 << 428 source "arch/arm/mach-orion5x/Kconfig" << 429 << 430 source "arch/arm/mach-pxa/Kconfig" << 431 << 432 source "arch/arm/mach-qcom/Kconfig" << 433 << 434 source "arch/arm/mach-realtek/Kconfig" << 435 << 436 source "arch/arm/mach-rpc/Kconfig" << 437 274 438 source "arch/arm/mach-rockchip/Kconfig" !! 275 config PCI >> 276 bool >> 277 depends on !ALPHA_JENSEN >> 278 default y >> 279 help >> 280 Find out whether you have a PCI motherboard. PCI is the name of a >> 281 bus system, i.e. the way the CPU talks to the other stuff inside >> 282 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or >> 283 VESA. If you have PCI, say Y, otherwise N. 439 284 440 source "arch/arm/mach-s3c/Kconfig" !! 285 The PCI-HOWTO, available from >> 286 <http://www.tldp.org/docs.html#howto>, contains valuable >> 287 information about which PCI hardware does work under Linux and which >> 288 doesn't. 441 289 442 source "arch/arm/mach-s5pv210/Kconfig" !! 290 config PCI_DOMAINS >> 291 bool >> 292 default y 443 293 444 source "arch/arm/mach-sa1100/Kconfig" !! 294 config ALPHA_CORE_AGP >> 295 bool >> 296 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL >> 297 default y 445 298 446 source "arch/arm/mach-shmobile/Kconfig" !! 299 config ALPHA_NONAME >> 300 bool >> 301 depends on ALPHA_BOOK1 || ALPHA_NONAME_CH >> 302 default y >> 303 help >> 304 The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia >> 305 UDB). This design was produced by Digital's Technical OEM (TOEM) >> 306 group. It uses the 21066 processor running at 166MHz or 233MHz. It >> 307 is a baby-AT size, and runs from a standard PC power supply. It has >> 308 5 ISA slots and 3 PCI slots (one pair are a shared slot). There are >> 309 2 versions, with either PS/2 or large DIN connectors for the >> 310 keyboard. 447 311 448 source "arch/arm/mach-socfpga/Kconfig" !! 312 config ALPHA_EV4 >> 313 bool >> 314 depends on ALPHA_JENSEN || (ALPHA_SABLE && !ALPHA_GAMMA) || ALPHA_LYNX || ALPHA_NORITAKE && !ALPHA_PRIMO || ALPHA_MIKASA && !ALPHA_PRIMO || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL || ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K >> 315 default y if !ALPHA_LYNX 449 316 450 source "arch/arm/mach-spear/Kconfig" !! 317 config ALPHA_LCA >> 318 bool >> 319 depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K >> 320 default y 451 321 452 source "arch/arm/mach-sti/Kconfig" !! 322 config ALPHA_APECS >> 323 bool >> 324 depends on !ALPHA_PRIMO && (ALPHA_NORITAKE || ALPHA_MIKASA) || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL >> 325 default y 453 326 454 source "arch/arm/mach-stm32/Kconfig" !! 327 config ALPHA_EB64P >> 328 bool >> 329 depends on ALPHA_CABRIOLET || ALPHA_EB64P_CH >> 330 default y >> 331 help >> 332 Uses 21064 or 21064A and APECs. Has ISA and PCI expansion (3 ISA, >> 333 2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs. >> 334 ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI >> 335 (NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style), >> 336 SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM. PC-AT size. >> 337 Runs from standard PC power supply. 455 338 456 source "arch/arm/mach-sunxi/Kconfig" !! 339 config ALPHA_EV5 >> 340 bool "EV5 CPU(s) (model 5/xxx)?" if ALPHA_LYNX >> 341 default y if ALPHA_RX164 || ALPHA_RAWHIDE || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_SABLE && ALPHA_GAMMA || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR 457 342 458 source "arch/arm/mach-tegra/Kconfig" !! 343 config ALPHA_EV4 >> 344 bool >> 345 default y if ALPHA_LYNX && !ALPHA_EV5 459 346 460 source "arch/arm/mach-ux500/Kconfig" !! 347 config ALPHA_CIA >> 348 bool >> 349 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR >> 350 default y 461 351 462 source "arch/arm/mach-versatile/Kconfig" !! 352 config ALPHA_EV56 >> 353 bool "EV56 CPU (speed >= 366MHz)?" if ALPHA_ALCOR >> 354 default y if ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA 463 355 464 source "arch/arm/mach-vt8500/Kconfig" !! 356 config ALPHA_EV56 >> 357 prompt "EV56 CPU (speed >= 333MHz)?" >> 358 depends on ALPHA_NORITAKE && ALPHA_PRIMO 465 359 466 source "arch/arm/mach-zynq/Kconfig" !! 360 config ALPHA_EV56 >> 361 prompt "EV56 CPU (speed >= 400MHz)?" >> 362 depends on ALPHA_RAWHIDE 467 363 468 # ARMv7-M architecture !! 364 config ALPHA_PRIMO 469 config ARCH_LPC18XX !! 365 bool "EV5 CPU daughtercard (model 5/xxx)?" 470 bool "NXP LPC18xx/LPC43xx" !! 366 depends on ALPHA_NORITAKE || ALPHA_MIKASA 471 depends on ARM_SINGLE_ARMV7M << 472 select ARCH_HAS_RESET_CONTROLLER << 473 select ARM_AMBA << 474 select CLKSRC_LPC32XX << 475 select PINCTRL << 476 help 367 help 477 Support for NXP's LPC18xx Cortex-M3 !! 368 Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx. 478 high performance microcontrollers. << 479 369 480 config ARCH_MPS2 !! 370 config ALPHA_GAMMA 481 bool "ARM MPS2 platform" !! 371 bool "EV5 CPU(s) (model 5/xxx)?" 482 depends on ARM_SINGLE_ARMV7M !! 372 depends on ALPHA_SABLE 483 select ARM_AMBA << 484 select CLKSRC_MPS2 << 485 help 373 help 486 Support for Cortex-M Prototyping Sys !! 374 Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx. 487 with a range of available cores like << 488 375 489 Please, note that depends which Appl !! 376 config ALPHA_GAMMA 490 for the platform may vary, so adjust << 491 << 492 # Definitions to make life easier << 493 config ARCH_ACORN << 494 bool 377 bool >> 378 depends on ALPHA_LYNX >> 379 default y 495 380 496 config PLAT_ORION !! 381 config ALPHA_T2 497 bool 382 bool 498 select CLKSRC_MMIO !! 383 depends on ALPHA_SABLE || ALPHA_LYNX 499 select GENERIC_IRQ_CHIP !! 384 default y 500 select IRQ_DOMAIN << 501 385 502 config PLAT_ORION_LEGACY !! 386 config ALPHA_PYXIS 503 bool 387 bool 504 select PLAT_ORION !! 388 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN >> 389 default y 505 390 506 config PLAT_VERSATILE !! 391 config ALPHA_EV6 507 bool 392 bool >> 393 depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL >> 394 default y 508 395 509 source "arch/arm/mm/Kconfig" !! 396 config ALPHA_TSUNAMI >> 397 bool >> 398 depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER >> 399 default y 510 400 511 config IWMMXT !! 401 config ALPHA_EV67 512 bool "Enable iWMMXt support" !! 402 bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER 513 depends on CPU_XSCALE || CPU_XSC3 || C !! 403 default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL 514 default y if PXA27x || PXA3xx || ARCH_ << 515 help 404 help 516 Enable support for iWMMXt context sw !! 405 Is this a machine based on the EV67 core? If in doubt, select N here 517 running on a CPU that supports it. !! 406 and the machine will be treated as an EV6. 518 << 519 if !MMU << 520 source "arch/arm/Kconfig-nommu" << 521 endif << 522 407 523 config PJ4B_ERRATA_4742 !! 408 config ALPHA_EV7 524 bool "PJ4B Errata 4742: IDLE Wake Up C !! 409 bool 525 depends on CPU_PJ4B && MACH_ARMADA_370 !! 410 depends on ALPHA_MARVEL 526 default y !! 411 default y 527 help << 528 When coming out of either a Wait for << 529 Event (WFE) IDLE states, a specific << 530 the retiring WFI/WFE instructions an << 531 instructions. This sensitivity can << 532 Workaround: << 533 The software must insert either a Da << 534 or Data Memory Barrier (DMB) command << 535 instruction << 536 << 537 config ARM_ERRATA_326103 << 538 bool "ARM errata: FSR write bit incorr << 539 depends on CPU_V6 << 540 help << 541 Executing a SWP instruction to read- << 542 of the FSR on the ARM 1136 prior to << 543 treat the access as a read, preventi << 544 causing the faulting task to liveloc << 545 << 546 config ARM_ERRATA_411920 << 547 bool "ARM errata: Invalidation of the << 548 depends on CPU_V6 || CPU_V6K << 549 help << 550 Invalidation of the Instruction Cach << 551 fail. This erratum is present in 113 << 552 It does not affect the MPCore. This << 553 recommended workaround. << 554 << 555 config ARM_ERRATA_430973 << 556 bool "ARM errata: Stale prediction on << 557 depends on CPU_V7 << 558 help << 559 This option enables the workaround f << 560 r1p* erratum. If a code sequence con << 561 interworking branch is replaced with << 562 same virtual address, whether due to << 563 to physical address re-mapping, Cort << 564 stale interworking branch prediction << 565 executing the new code sequence in t << 566 The workaround enables the BTB/BTAC << 567 and also flushes the branch target c << 568 Note that setting specific bits in t << 569 available in non-secure mode. << 570 << 571 config ARM_ERRATA_458693 << 572 bool "ARM errata: Processor deadlock w << 573 depends on CPU_V7 << 574 depends on !ARCH_MULTIPLATFORM << 575 help << 576 This option enables the workaround f << 577 erratum. For very specific sequences << 578 possible for a hazard condition inte << 579 be incorrectly associated with a dif << 580 hazard might then cause a processor << 581 the L1 caching of the NEON accesses << 582 in the ACTLR register. Note that set << 583 register may not be available in non << 584 available on a multiplatform kernel. << 585 bootloader instead. << 586 << 587 config ARM_ERRATA_460075 << 588 bool "ARM errata: Data written to the << 589 depends on CPU_V7 << 590 depends on !ARCH_MULTIPLATFORM << 591 help << 592 This option enables the workaround f << 593 erratum. Any asynchronous access to << 594 situation in which recent store tran << 595 and overwritten with stale memory co << 596 workaround disables the write-alloca << 597 ACTLR register. Note that setting sp << 598 may not be available in non-secure m << 599 a multiplatform kernel. This should << 600 instead. << 601 << 602 config ARM_ERRATA_742230 << 603 bool "ARM errata: DMB operation may be << 604 depends on CPU_V7 && SMP << 605 depends on !ARCH_MULTIPLATFORM << 606 help << 607 This option enables the workaround f << 608 (r1p0..r2p2) erratum. Under rare cir << 609 between two write operations may not << 610 ordering of the two writes. This wor << 611 the diagnostic register of the Corte << 612 instruction to behave as a DSB, ensu << 613 the two writes. Note that setting sp << 614 register may not be available in non << 615 available on a multiplatform kernel. << 616 bootloader instead. << 617 << 618 config ARM_ERRATA_742231 << 619 bool "ARM errata: Incorrect hazard han << 620 depends on CPU_V7 && SMP << 621 depends on !ARCH_MULTIPLATFORM << 622 help << 623 This option enables the workaround f << 624 (r2p0..r2p2) erratum. Under certain << 625 Cortex-A9 MPCore micro-architecture, << 626 accessing some data located in the s << 627 data due to bad handling of the addr << 628 replaced from one of the CPUs at the << 629 accessing it. This workaround sets s << 630 register of the Cortex-A9 which redu << 631 capabilities of the processor. Note << 632 diagnostics register may not be avai << 633 is not available on a multiplatform << 634 the bootloader instead. << 635 << 636 config ARM_ERRATA_643719 << 637 bool "ARM errata: LoUIS bit field in C << 638 depends on CPU_V7 && SMP << 639 default y << 640 help << 641 This option enables the workaround f << 642 r1p0) erratum. On affected cores the << 643 register returns zero when it should << 644 corrects this value, ensuring cache << 645 it behave as intended and avoiding d << 646 << 647 config ARM_ERRATA_720789 << 648 bool "ARM errata: TLBIASIDIS and TLBIM << 649 depends on CPU_V7 << 650 help << 651 This option enables the workaround f << 652 r2p0) erratum. A faulty ASID can be << 653 broadcasted CP15 TLB maintenance ope << 654 As a consequence of this erratum, so << 655 invalidated are not, resulting in an << 656 tables. The workaround changes the T << 657 entries regardless of the ASID. << 658 << 659 config ARM_ERRATA_743622 << 660 bool "ARM errata: Faulty hazard checki << 661 depends on CPU_V7 << 662 depends on !ARCH_MULTIPLATFORM << 663 help << 664 This option enables the workaround f << 665 (r2p*) erratum. Under very rare cond << 666 optimisation in the Cortex-A9 Store << 667 corruption. This workaround sets a s << 668 register of the Cortex-A9 which disa << 669 optimisation, preventing the defect << 670 visible impact on the overall perfor << 671 processor. Note that setting specifi << 672 may not be available in non-secure m << 673 multiplatform kernel. This should be << 674 << 675 config ARM_ERRATA_751472 << 676 bool "ARM errata: Interrupted ICIALLUI << 677 depends on CPU_V7 << 678 depends on !ARCH_MULTIPLATFORM << 679 help << 680 This option enables the workaround f << 681 to r3p0) erratum. An interrupted ICI << 682 completion of a following broadcaste << 683 operation is received by a CPU befor << 684 potentially leading to corrupted ent << 685 Note that setting specific bits in t << 686 not be available in non-secure mode << 687 a multiplatform kernel. This should << 688 instead. << 689 << 690 config ARM_ERRATA_754322 << 691 bool "ARM errata: possible faulty MMU << 692 depends on CPU_V7 << 693 help << 694 This option enables the workaround f << 695 r3p*) erratum. A speculative memory << 696 which starts prior to an ASID switch << 697 can populate the micro-TLB with a st << 698 the new ASID. This workaround places << 699 switching code so that no page table << 700 << 701 config ARM_ERRATA_754327 << 702 bool "ARM errata: no automatic Store B << 703 depends on CPU_V7 && SMP << 704 help << 705 This option enables the workaround f << 706 r2p0) erratum. The Store Buffer does << 707 mechanism and therefore a livelock m << 708 continuously polls a memory location << 709 This workaround defines cpu_relax() << 710 written polling loops from denying v << 711 << 712 config ARM_ERRATA_364296 << 713 bool "ARM errata: Possible cache data << 714 depends on CPU_V6 << 715 help << 716 This options enables the workaround << 717 r0p2 erratum (possible cache data co << 718 hit-under-miss enabled). It sets the << 719 the auxiliary control register and t << 720 register, thus disabling hit-under-m << 721 processor into full low interrupt la << 722 is not affected. << 723 << 724 config ARM_ERRATA_764369 << 725 bool "ARM errata: Data cache line main << 726 depends on CPU_V7 && SMP << 727 help << 728 This option enables the workaround f << 729 affecting Cortex-A9 MPCore with two << 730 current revisions). Under certain ti << 731 cache line maintenance operation by << 732 Shareable memory region may fail to << 733 Point of Coherency or to the Point o << 734 system. This workaround adds a DSB i << 735 relevant cache maintenance functions << 736 in the diagnostic control register o << 737 << 738 config ARM_ERRATA_764319 << 739 bool "ARM errata: Read to DBGPRSR and << 740 depends on CPU_V7 << 741 help << 742 This option enables the workaround f << 743 CP14 read accesses to the DBGPRSR an << 744 unexpected Undefined Instruction exc << 745 external pin is set to 0, even when << 746 from a privileged mode. This work ar << 747 way the kernel does not stop executi << 748 << 749 config ARM_ERRATA_775420 << 750 bool "ARM errata: A data cache maintena << 751 depends on CPU_V7 << 752 help << 753 This option enables the workaround fo << 754 r2p6,r2p8,r2p10,r3p0) erratum. In cas << 755 operation aborts with MMU exception, << 756 to deadlock. This workaround puts DSB << 757 an abort may occur on cache maintenan << 758 << 759 config ARM_ERRATA_798181 << 760 bool "ARM errata: TLBI/DSB failure on << 761 depends on CPU_V7 && SMP << 762 help << 763 On Cortex-A15 (r0p0..r3p2) the TLBI* << 764 adequately shooting down all use of << 765 option enables the Linux kernel work << 766 which sends an IPI to the CPUs that << 767 as the one being invalidated. << 768 << 769 config ARM_ERRATA_773022 << 770 bool "ARM errata: incorrect instructio << 771 depends on CPU_V7 << 772 help << 773 This option enables the workaround f << 774 (up to r0p4) erratum. In certain rar << 775 loop buffer may deliver incorrect in << 776 workaround disables the loop buffer << 777 << 778 config ARM_ERRATA_818325_852422 << 779 bool "ARM errata: A12: some seqs of op << 780 depends on CPU_V7 << 781 help << 782 This option enables the workaround f << 783 - Cortex-A12 818325: Execution of an << 784 instruction might deadlock. Fixed << 785 - Cortex-A12 852422: Execution of a << 786 lead to either a data corruption o << 787 any Cortex-A12 cores yet. << 788 This workaround for all both errata << 789 Feature Register. This bit disables << 790 sequence of 2 instructions that use << 791 << 792 config ARM_ERRATA_821420 << 793 bool "ARM errata: A12: sequence of VMO << 794 depends on CPU_V7 << 795 help << 796 This option enables the workaround f << 797 (all revs) erratum. In very rare tim << 798 of VMOV to Core registers instructio << 799 one is in the shadow of a branch or << 800 deadlock when the VMOV instructions << 801 << 802 config ARM_ERRATA_825619 << 803 bool "ARM errata: A12: DMB NSHST/ISHST << 804 depends on CPU_V7 << 805 help << 806 This option enables the workaround f << 807 (all revs) erratum. Within rare timi << 808 DMB NSHST or DMB ISHST instruction f << 809 and Device/Strongly-Ordered loads an << 810 << 811 config ARM_ERRATA_857271 << 812 bool "ARM errata: A12: CPU might deadl << 813 depends on CPU_V7 << 814 help << 815 This option enables the workaround f << 816 (all revs) erratum. Under very rare << 817 hang. The workaround is expected to << 818 << 819 config ARM_ERRATA_852421 << 820 bool "ARM errata: A17: DMB ST might fa << 821 depends on CPU_V7 << 822 help << 823 This option enables the workaround f << 824 (r1p0, r1p1, r1p2) erratum. Under ve << 825 execution of a DMB ST instruction mi << 826 stores from GroupA and stores from G << 827 << 828 config ARM_ERRATA_852423 << 829 bool "ARM errata: A17: some seqs of op << 830 depends on CPU_V7 << 831 help << 832 This option enables the workaround f << 833 - Cortex-A17 852423: Execution of a << 834 lead to either a data corruption o << 835 any Cortex-A17 cores yet. << 836 This is identical to Cortex-A12 erra << 837 config option from the A12 erratum d << 838 for and handled. << 839 << 840 config ARM_ERRATA_857272 << 841 bool "ARM errata: A17: CPU might deadl << 842 depends on CPU_V7 << 843 help << 844 This option enables the workaround f << 845 This erratum is not known to be fixe << 846 This is identical to Cortex-A12 erra << 847 config option from the A12 erratum d << 848 for and handled. << 849 412 850 endmenu !! 413 config ALPHA_MCPCIA >> 414 bool >> 415 depends on ALPHA_RAWHIDE >> 416 default y 851 417 852 source "arch/arm/common/Kconfig" !! 418 config ALPHA_POLARIS >> 419 bool >> 420 depends on ALPHA_RX164 >> 421 default y 853 422 854 menu "Bus support" !! 423 config ALPHA_IRONGATE >> 424 bool >> 425 depends on ALPHA_NAUTILUS >> 426 default y 855 427 856 config ISA !! 428 config ALPHA_AVANTI 857 bool 429 bool >> 430 depends on ALPHA_XL || ALPHA_AVANTI_CH >> 431 default y 858 help 432 help 859 Find out whether you have ISA slots !! 433 Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based 860 name of a bus system, i.e. the way t !! 434 Alphas. Info at 861 inside your box. Other bus systems !! 435 <http://www.unix-ag.org/Linux-Alpha/Architectures/Avanti.html>. 862 (MCA) or VESA. ISA is an older syst << 863 newer boards don't support it. If y << 864 436 865 # Select ISA DMA interface !! 437 config ALPHA_BROKEN_IRQ_MASK 866 config ISA_DMA_API << 867 bool 438 bool >> 439 depends on ALPHA_GENERIC || ALPHA_PC164 >> 440 default y 868 441 869 config ARM_ERRATA_814220 !! 442 config ALPHA_SRM 870 bool "ARM errata: Cache maintenance by !! 443 bool "Use SRM as bootloader" if ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS || ALPHA_NONAME 871 depends on CPU_V7 !! 444 default y if ALPHA_JENSEN || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL 872 help !! 445 ---help--- 873 The v7 ARM states that all cache and !! 446 There are two different types of booting firmware on Alphas: SRM, 874 operations that do not specify an ad !! 447 which is command line driven, and ARC, which uses menus and arrow 875 each other, in program order. !! 448 keys. Details about the Linux/Alpha booting process are contained in 876 However, because of this erratum, an !! 449 the Linux/Alpha FAQ, accessible on the WWW from 877 operation can overtake an L1 set/way !! 450 <http://www.alphalinux.org/>. 878 This ERRATA only affected the Cortex << 879 r0p4, r0p5. << 880 451 881 endmenu !! 452 The usual way to load Linux on an Alpha machine is to use MILO >> 453 (a bootloader that lets you pass command line parameters to the >> 454 kernel just like lilo does for the x86 architecture) which can be >> 455 loaded either from ARC or can be installed directly as a permanent >> 456 firmware replacement from floppy (which requires changing a certain >> 457 jumper on the motherboard). If you want to do either of these, say N >> 458 here. If MILO doesn't work on your system (true for Jensen >> 459 motherboards), you can bypass it altogether and boot Linux directly >> 460 from an SRM console; say Y here in order to do that. Note that you >> 461 won't be able to boot from an IDE disk using SRM. 882 462 883 menu "Kernel Features" !! 463 If unsure, say N. 884 464 885 config HAVE_SMP !! 465 config EARLY_PRINTK 886 bool 466 bool 887 help !! 467 depends on ALPHA_GENERIC || ALPHA_SRM 888 This option should be selected by ma !! 468 default y 889 capable CPU. << 890 469 891 The only effect of this option is to !! 470 config EISA 892 options available to the user for co !! 471 bool >> 472 depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE >> 473 default y 893 474 894 config SMP 475 config SMP 895 bool "Symmetric Multi-Processing" !! 476 bool "Symmetric multi-processing support" 896 depends on CPU_V6K || CPU_V7 !! 477 depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL 897 depends on HAVE_SMP !! 478 ---help--- 898 depends on MMU || ARM_MPU << 899 select IRQ_WORK << 900 help << 901 This enables support for systems wit 479 This enables support for systems with more than one CPU. If you have 902 a system with only one CPU, say N. I !! 480 a system with only one CPU, like most personal computers, say N. If 903 than one CPU, say Y. !! 481 you have a system with more than one CPU, say Y. 904 482 905 If you say N here, the kernel will r !! 483 If you say N here, the kernel will run on single and multiprocessor 906 machines, but will use only one CPU 484 machines, but will use only one CPU of a multiprocessor machine. If 907 you say Y here, the kernel will run 485 you say Y here, the kernel will run on many, but not all, 908 uniprocessor machines. On a uniproce !! 486 singleprocessor machines. On a singleprocessor machine, the kernel 909 will run faster if you say N here. 487 will run faster if you say N here. 910 488 911 See also <file:Documentation/arch/x8 !! 489 Note that if you say Y here and choose architecture "586" or 912 <file:Documentation/admin-guide/lock !! 490 "Pentium" under "Processor family", the kernel will not work on 486 913 <http://tldp.org/HOWTO/SMP-HOWTO.htm !! 491 architectures. Similarly, multiprocessor kernels for the "PPro" >> 492 architecture may not work on all Pentium based boards. >> 493 >> 494 People using multiprocessor machines who say Y here should also say >> 495 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power >> 496 Management" code will be disabled if you say Y here. >> 497 >> 498 See also the <file:Documentation/smp.tex>, >> 499 <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>, >> 500 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at >> 501 <http://www.tldp.org/docs.html#howto>. 914 502 915 If you don't know what to do here, s 503 If you don't know what to do here, say N. 916 504 917 config SMP_ON_UP !! 505 config HAVE_DEC_LOCK 918 bool "Allow booting SMP kernel on unip << 919 depends on SMP && MMU << 920 default y << 921 help << 922 SMP kernels contain instructions whi << 923 Enabling this option allows the kern << 924 these instructions safe. Disabling << 925 savings. << 926 << 927 If you don't know what to do here, s << 928 << 929 << 930 config CURRENT_POINTER_IN_TPIDRURO << 931 def_bool y << 932 depends on CPU_32v6K && !CPU_V6 << 933 << 934 config IRQSTACKS << 935 def_bool y << 936 select HAVE_IRQ_EXIT_ON_IRQ_STACK << 937 select HAVE_SOFTIRQ_ON_OWN_STACK << 938 << 939 config ARM_CPU_TOPOLOGY << 940 bool "Support cpu topology definition" << 941 depends on SMP && CPU_V7 << 942 default y << 943 help << 944 Support ARM cpu topology definition. << 945 affinity between processors which is << 946 topology of an ARM System. << 947 << 948 config SCHED_MC << 949 bool "Multi-core scheduler support" << 950 depends on ARM_CPU_TOPOLOGY << 951 help << 952 Multi-core scheduler support improve << 953 making when dealing with multi-core << 954 increased overhead in some places. I << 955 << 956 config SCHED_SMT << 957 bool "SMT scheduler support" << 958 depends on ARM_CPU_TOPOLOGY << 959 help << 960 Improves the CPU scheduler's decisio << 961 MultiThreading at a cost of slightly << 962 places. If unsure say N here. << 963 << 964 config HAVE_ARM_SCU << 965 bool << 966 help << 967 This option enables support for the << 968 << 969 config HAVE_ARM_ARCH_TIMER << 970 bool "Architected timer support" << 971 depends on CPU_V7 << 972 select ARM_ARCH_TIMER << 973 help << 974 This option enables support for the << 975 << 976 config HAVE_ARM_TWD << 977 bool 506 bool 978 help << 979 This options enables support for the << 980 << 981 config MCPM << 982 bool "Multi-Cluster Power Management" << 983 depends on CPU_V7 && SMP << 984 help << 985 This option provides the common powe << 986 for (multi-)cluster based systems, s << 987 systems. << 988 << 989 config MCPM_QUAD_CLUSTER << 990 bool << 991 depends on MCPM << 992 help << 993 To avoid wasting resources unnecessa << 994 to 2 clusters by default. << 995 Platforms with 3 or 4 clusters that << 996 option to allow the additional clust << 997 << 998 config BIG_LITTLE << 999 bool "big.LITTLE support (Experimental << 1000 depends on CPU_V7 && SMP << 1001 select MCPM << 1002 help << 1003 This option enables support selecti << 1004 system architecture. << 1005 << 1006 config BL_SWITCHER << 1007 bool "big.LITTLE switcher support" << 1008 depends on BIG_LITTLE && MCPM && HOTP << 1009 select CPU_PM << 1010 help << 1011 The big.LITTLE "switcher" provides << 1012 transparently handle transition bet << 1013 and a cluster of A7's in a big.LITT << 1014 << 1015 config BL_SWITCHER_DUMMY_IF << 1016 tristate "Simple big.LITTLE switcher << 1017 depends on BL_SWITCHER && DEBUG_KERNE << 1018 help << 1019 This is a simple and dummy char dev << 1020 the big.LITTLE switcher core code. << 1021 debugging purposes only. << 1022 << 1023 choice << 1024 prompt "Memory split" << 1025 depends on MMU << 1026 default VMSPLIT_3G << 1027 help << 1028 Select the desired split between ke << 1029 << 1030 If you are not absolutely sure what << 1031 option alone! << 1032 << 1033 config VMSPLIT_3G << 1034 bool "3G/1G user/kernel split << 1035 config VMSPLIT_3G_OPT << 1036 depends on !ARM_LPAE << 1037 bool "3G/1G user/kernel split << 1038 config VMSPLIT_2G << 1039 bool "2G/2G user/kernel split << 1040 config VMSPLIT_1G << 1041 bool "1G/3G user/kernel split << 1042 endchoice << 1043 << 1044 config PAGE_OFFSET << 1045 hex << 1046 default PHYS_OFFSET if !MMU << 1047 default 0x40000000 if VMSPLIT_1G << 1048 default 0x80000000 if VMSPLIT_2G << 1049 default 0xB0000000 if VMSPLIT_3G_OPT << 1050 default 0xC0000000 << 1051 << 1052 config KASAN_SHADOW_OFFSET << 1053 hex << 1054 depends on KASAN << 1055 default 0x1f000000 if PAGE_OFFSET=0x4 << 1056 default 0x5f000000 if PAGE_OFFSET=0x8 << 1057 default 0x9f000000 if PAGE_OFFSET=0xC << 1058 default 0x8f000000 if PAGE_OFFSET=0xB << 1059 default 0xffffffff << 1060 << 1061 config NR_CPUS << 1062 int "Maximum number of CPUs (2-32)" << 1063 range 2 16 if DEBUG_KMAP_LOCAL << 1064 range 2 32 if !DEBUG_KMAP_LOCAL << 1065 depends on SMP 507 depends on SMP 1066 default "4" !! 508 default y 1067 help << 1068 The maximum number of CPUs that the << 1069 Up to 32 CPUs can be supported, or << 1070 debugging is enabled, which uses ha << 1071 slots as guard regions. << 1072 509 1073 config HOTPLUG_CPU !! 510 config NR_CPUS 1074 bool "Support for hot-pluggable CPUs" !! 511 int "Maximum number of CPUs (2-64)" 1075 depends on SMP 512 depends on SMP 1076 select GENERIC_IRQ_MIGRATION !! 513 default "64" 1077 help << 1078 Say Y here to experiment with turni << 1079 can be controlled through /sys/devi << 1080 514 1081 config ARM_PSCI !! 515 config DISCONTIGMEM 1082 bool "Support for the ARM Power State !! 516 bool "Discontiguous Memory Support (EXPERIMENTAL)" 1083 depends on HAVE_ARM_SMCCC !! 517 depends on EXPERIMENTAL 1084 select ARM_PSCI_FW !! 518 help 1085 help !! 519 Say Y to upport efficient handling of discontiguous physical memory, 1086 Say Y here if you want Linux to com !! 520 for architectures which are either NUMA (Non-Uniform Memory Access) 1087 implementing the PSCI specification !! 521 or have huge holes in the physical address space for other reasons. 1088 management operations described in !! 522 See <file:Documentation/vm/numa> for more. 1089 0022A ("Power State Coordination In !! 523 1090 ARM processors"). !! 524 config NUMA 1091 !! 525 bool "NUMA Support (EXPERIMENTAL)" 1092 config HZ_FIXED !! 526 depends on DISCONTIGMEM 1093 int !! 527 help 1094 default 128 if SOC_AT91RM9200 !! 528 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 1095 default 0 !! 529 Access). This option is for configuring high-end multiprocessor >> 530 server machines. If in doubt, say N. >> 531 >> 532 # LARGE_VMALLOC is racy, if you *really* need it then fix it first >> 533 config ALPHA_LARGE_VMALLOC >> 534 bool >> 535 ---help--- >> 536 Process creation and other aspects of virtual memory management can >> 537 be streamlined if we restrict the kernel to one PGD for all vmalloc >> 538 allocations. This equates to about 8GB. >> 539 >> 540 Under normal circumstances, this is so far and above what is needed >> 541 as to be laughable. However, there are certain applications (such >> 542 as benchmark-grade in-kernel web serving) that can make use of as >> 543 much vmalloc space as is available. >> 544 >> 545 Say N unless you know you need gobs and gobs of vmalloc space. >> 546 >> 547 config VERBOSE_MCHECK >> 548 bool "Verbose Machine Checks" >> 549 >> 550 config VERBOSE_MCHECK_ON >> 551 int "Verbose Printing Mode (0=off, 1=on, 2=all)" >> 552 depends on VERBOSE_MCHECK >> 553 default 1 >> 554 ---help--- >> 555 This option allows the default printing mode to be set, and then >> 556 possibly overridden by a boot command argument. >> 557 >> 558 For example, if one wanted the option of printing verbose >> 559 machine checks, but wanted the default to be as if verbose >> 560 machine check printing was turned off, then one would choose >> 561 the printing mode to be 0. Then, upon reboot, one could add >> 562 the boot command line "verbose_mcheck=1" to get the normal >> 563 verbose machine check printing, or "verbose_mcheck=2" to get >> 564 the maximum information available. >> 565 >> 566 Take the default (1) unless you want more control or more info. >> 567 >> 568 source "drivers/pci/Kconfig" >> 569 source "drivers/eisa/Kconfig" >> 570 >> 571 config HOTPLUG >> 572 bool "Support for hot-pluggable devices" >> 573 ---help--- >> 574 Say Y here if you want to plug devices into your computer while >> 575 the system is running, and be able to use them quickly. In many >> 576 cases, the devices can likewise be unplugged at any time too. >> 577 >> 578 One well known example of this is PCMCIA- or PC-cards, credit-card >> 579 size devices such as network cards, modems or hard drives which are >> 580 plugged into slots found on all modern laptop computers. Another >> 581 example, used on modern desktops as well as laptops, is USB. >> 582 >> 583 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent >> 584 software (at <http://linux-hotplug.sourceforge.net/>) and install it. >> 585 Then your kernel will automatically call out to a user mode "policy >> 586 agent" (/sbin/hotplug) to load modules and set up software needed >> 587 to use devices as you hotplug them. >> 588 >> 589 source "drivers/pcmcia/Kconfig" >> 590 >> 591 config SRM_ENV >> 592 tristate "SRM environment through procfs" >> 593 depends on PROC_FS >> 594 ---help--- >> 595 If you enable this option, a subdirectory inside /proc called >> 596 /proc/srm_environment will give you access to the all important >> 597 SRM environment variables (those which have a name) and also >> 598 to all others (by their internal number). >> 599 >> 600 SRM is something like a BIOS for Alpha machines. There are some >> 601 other such BIOSes, like AlphaBIOS, which this driver cannot >> 602 support (hey, that's not SRM!). >> 603 >> 604 Despite the fact that this driver doesn't work on all Alphas (but >> 605 only on those which have SRM as their firmware), it's save to >> 606 build it even if your particular machine doesn't know about SRM >> 607 (or if you intend to compile a generic kernel). It will simply >> 608 not create those subdirectory in /proc (and give you some warning, >> 609 of course). 1096 610 1097 choice !! 611 This driver is also available as a module and will be called 1098 depends on HZ_FIXED = 0 !! 612 srm_env then. 1099 prompt "Timer frequency" << 1100 613 1101 config HZ_100 !! 614 source "fs/Kconfig.binfmt" 1102 bool "100 Hz" << 1103 615 1104 config HZ_200 !! 616 source "drivers/parport/Kconfig" 1105 bool "200 Hz" << 1106 617 1107 config HZ_250 !! 618 endmenu 1108 bool "250 Hz" << 1109 619 1110 config HZ_300 !! 620 source "drivers/base/Kconfig" 1111 bool "300 Hz" << 1112 621 1113 config HZ_500 !! 622 source "drivers/mtd/Kconfig" 1114 bool "500 Hz" << 1115 623 1116 config HZ_1000 !! 624 source "drivers/pnp/Kconfig" 1117 bool "1000 Hz" << 1118 625 1119 endchoice !! 626 source "drivers/block/Kconfig" 1120 627 1121 config HZ !! 628 source "drivers/md/Kconfig" 1122 int << 1123 default HZ_FIXED if HZ_FIXED != 0 << 1124 default 100 if HZ_100 << 1125 default 200 if HZ_200 << 1126 default 250 if HZ_250 << 1127 default 300 if HZ_300 << 1128 default 500 if HZ_500 << 1129 default 1000 << 1130 << 1131 config SCHED_HRTICK << 1132 def_bool HIGH_RES_TIMERS << 1133 << 1134 config THUMB2_KERNEL << 1135 bool "Compile the kernel in Thumb-2 m << 1136 depends on (CPU_V7 || CPU_V7M) && !CP << 1137 default y if CPU_THUMBONLY << 1138 select ARM_UNWIND << 1139 help << 1140 By enabling this option, the kernel << 1141 Thumb-2 mode. << 1142 629 1143 If unsure, say N. !! 630 source "drivers/ide/Kconfig" 1144 631 1145 config ARM_PATCH_IDIV !! 632 source "drivers/scsi/Kconfig" 1146 bool "Runtime patch udiv/sdiv instruc << 1147 depends on CPU_32v7 << 1148 default y << 1149 help << 1150 The ARM compiler inserts calls to _ << 1151 __aeabi_uidiv() when it needs to pe << 1152 and unsigned integers. Some v7 CPUs << 1153 and udiv instructions that can be u << 1154 functions. << 1155 << 1156 Enabling this option allows the ker << 1157 replace the first two instructions << 1158 with the sdiv or udiv plus "bx lr" << 1159 it is running on supports them. Typ << 1160 and less power intensive than runni << 1161 code to do integer division. << 1162 << 1163 config AEABI << 1164 bool "Use the ARM EABI to compile the << 1165 !CPU_V7M && !CPU_V6 && !CPU_V << 1166 default CPU_V7 || CPU_V7M || CPU_V6 | << 1167 help << 1168 This option allows for the kernel t << 1169 ARM ABI (aka EABI). This is only u << 1170 space environment that is also comp << 1171 << 1172 Since there are major incompatibili << 1173 EABI, especially with regard to str << 1174 option also changes the kernel sysc << 1175 disambiguate both ABIs and allow fo << 1176 (selected with CONFIG_OABI_COMPAT). << 1177 << 1178 To use this you need GCC version 4. << 1179 << 1180 config OABI_COMPAT << 1181 bool "Allow old ABI binaries to run w << 1182 depends on AEABI && !THUMB2_KERNEL << 1183 help << 1184 This option preserves the old sysca << 1185 new (ARM EABI) one. It also provide << 1186 intercept syscalls that have struct << 1187 in memory differs between the legac << 1188 (only for non "thumb" binaries). Th << 1189 overhead to all syscalls and produc << 1190 << 1191 The seccomp filter system will not << 1192 selected, since there is no way yet << 1193 between calling conventions during << 1194 << 1195 If you know you'll be using only pu << 1196 can say N here. If this option is n << 1197 to execute a legacy ABI binary then << 1198 UNPREDICTABLE (in fact it can be pr << 1199 at all). If in doubt say N. << 1200 633 1201 config ARCH_SELECT_MEMORY_MODEL !! 634 if PCI 1202 def_bool y !! 635 source "drivers/message/fusion/Kconfig" >> 636 endif 1203 637 1204 config ARCH_FLATMEM_ENABLE !! 638 source "drivers/ieee1394/Kconfig" 1205 def_bool !(ARCH_RPC || ARCH_SA1100) << 1206 639 1207 config ARCH_SPARSEMEM_ENABLE !! 640 source "net/Kconfig" 1208 def_bool !ARCH_FOOTBRIDGE << 1209 select SPARSEMEM_STATIC if SPARSEMEM << 1210 << 1211 config HIGHMEM << 1212 bool "High Memory Support" << 1213 depends on MMU << 1214 select KMAP_LOCAL << 1215 select KMAP_LOCAL_NON_LINEAR_PTE_ARRA << 1216 help << 1217 The address space of ARM processors << 1218 and it has to accommodate user addr << 1219 space as well as some memory mapped << 1220 have a large amount of physical mem << 1221 memory can be "permanently mapped" << 1222 memory that is not permanently mapp << 1223 << 1224 Depending on the selected kernel/us << 1225 vmalloc space and actual amount of << 1226 option which should result in a sli << 1227 << 1228 If unsure, say n. << 1229 << 1230 config HIGHPTE << 1231 bool "Allocate 2nd-level pagetables f << 1232 depends on HIGHMEM << 1233 default y << 1234 help << 1235 The VM uses one page of physical me << 1236 For systems with a lot of processes << 1237 precious low memory, eventually lea << 1238 consumed by page tables. Setting t << 1239 user-space 2nd level page tables to << 1240 << 1241 config ARM_PAN << 1242 bool "Enable privileged no-access" << 1243 depends on MMU << 1244 default y << 1245 help << 1246 Increase kernel security by ensurin << 1247 are unable to access userspace addr << 1248 use-after-free bugs becoming an exp << 1249 by ensuring that magic values (such << 1250 fault when dereferenced. << 1251 641 1252 The implementation uses CPU domains !! 642 source "drivers/isdn/Kconfig" 1253 disabling of TTBR0 page table walks << 1254 643 1255 config CPU_SW_DOMAIN_PAN !! 644 source "drivers/cdrom/Kconfig" 1256 def_bool y << 1257 depends on ARM_PAN && !ARM_LPAE << 1258 help << 1259 Enable use of CPU domains to implem << 1260 645 1261 CPUs with low-vector mappings use a !! 646 source "drivers/input/Kconfig" 1262 Their lower 1MB needs to remain acc << 1263 the remainder of userspace will bec << 1264 647 1265 config CPU_TTBR0_PAN !! 648 source "drivers/char/Kconfig" 1266 def_bool y << 1267 depends on ARM_PAN && ARM_LPAE << 1268 help << 1269 Enable privileged no-access by disa << 1270 running in kernel mode. << 1271 649 1272 config HW_PERF_EVENTS !! 650 #source drivers/misc/Config.in 1273 def_bool y !! 651 source "drivers/media/Kconfig" 1274 depends on ARM_PMU << 1275 652 1276 config ARM_MODULE_PLTS !! 653 source "fs/Kconfig" 1277 bool "Use PLTs to allow module memory << 1278 depends on MODULES << 1279 select KASAN_VMALLOC if KASAN << 1280 default y << 1281 help << 1282 Allocate PLTs when loading modules << 1283 targets are too far away for their << 1284 in the instructions themselves can << 1285 module's PLT. This allows modules t << 1286 vmalloc area after the dedicated mo << 1287 exhausted. The modules will use sli << 1288 rounding up to page size, the actua << 1289 the same. << 1290 << 1291 Disabling this is usually safe for << 1292 configurations. If unsure, say y. << 1293 << 1294 config ARCH_FORCE_MAX_ORDER << 1295 int "Order of maximal physically cont << 1296 default "11" if SOC_AM33XX << 1297 default "8" if SA1111 << 1298 default "10" << 1299 help << 1300 The kernel page allocator limits th << 1301 contiguous allocations. The limit i << 1302 defines the maximal power of two of << 1303 allocated as a single contiguous bl << 1304 overriding the default setting when << 1305 large blocks of physically contiguo << 1306 << 1307 Don't change if unsure. << 1308 << 1309 config ALIGNMENT_TRAP << 1310 def_bool CPU_CP15_MMU << 1311 select HAVE_PROC_CPU if PROC_FS << 1312 help << 1313 ARM processors cannot fetch/store i << 1314 naturally aligned on the bus, i.e., << 1315 address divisible by 4. On 32-bit A << 1316 fetch/store instructions will be em << 1317 here, which has a severe performanc << 1318 correct operation of some network p << 1319 configuration it is safe to say N, << 1320 << 1321 config UACCESS_WITH_MEMCPY << 1322 bool "Use kernel mem{cpy,set}() for { << 1323 depends on MMU << 1324 default y if CPU_FEROCEON << 1325 help << 1326 Implement faster copy_to_user and c << 1327 cores where a 8-word STM instructio << 1328 memory write throughput than a sequ << 1329 << 1330 A possible side effect is a slight << 1331 between threads sharing the same ad << 1332 such copy operations with large buf << 1333 << 1334 However, if the CPU data cache is u << 1335 this option is unlikely to provide << 1336 << 1337 config PARAVIRT << 1338 bool "Enable paravirtualization code" << 1339 help << 1340 This changes the kernel so it can m << 1341 under a hypervisor, potentially imp << 1342 over full virtualization. << 1343 << 1344 config PARAVIRT_TIME_ACCOUNTING << 1345 bool "Paravirtual steal time accounti << 1346 select PARAVIRT << 1347 help << 1348 Select this option to enable fine g << 1349 accounting. Time spent executing ot << 1350 the current vCPU is discounted from << 1351 that, there can be a small performa << 1352 654 1353 If in doubt, say N here. !! 655 source "drivers/video/Kconfig" 1354 656 1355 config XEN_DOM0 !! 657 source "sound/Kconfig" 1356 def_bool y << 1357 depends on XEN << 1358 658 1359 config XEN !! 659 source "drivers/usb/Kconfig" 1360 bool "Xen guest support on ARM" << 1361 depends on ARM && AEABI && OF << 1362 depends on CPU_V7 && !CPU_V6 << 1363 depends on !GENERIC_ATOMIC64 << 1364 depends on MMU << 1365 select ARCH_DMA_ADDR_T_64BIT << 1366 select ARM_PSCI << 1367 select SWIOTLB << 1368 select SWIOTLB_XEN << 1369 select PARAVIRT << 1370 help << 1371 Say Y if you want to run Linux in a << 1372 << 1373 config CC_HAVE_STACKPROTECTOR_TLS << 1374 def_bool $(cc-option,-mtp=cp15 -mstac << 1375 << 1376 config STACKPROTECTOR_PER_TASK << 1377 bool "Use a unique stack canary value << 1378 depends on STACKPROTECTOR && CURRENT_ << 1379 depends on GCC_PLUGINS || CC_HAVE_STA << 1380 select GCC_PLUGIN_ARM_SSP_PER_TASK if << 1381 default y << 1382 help << 1383 Due to the fact that GCC uses an or << 1384 which to load the value of the stac << 1385 change at reboot time on SMP system << 1386 kernel's address space are forced t << 1387 the entire duration that the system << 1388 660 1389 Enable this option to switch to a d !! 661 source "arch/alpha/oprofile/Kconfig" 1390 different canary value for each tas << 1391 662 1392 endmenu !! 663 menu "Kernel hacking" 1393 664 1394 menu "Boot options" !! 665 config ALPHA_LEGACY_START_ADDRESS >> 666 bool "Legacy kernel start address" >> 667 depends on ALPHA_GENERIC >> 668 default n >> 669 ---help--- >> 670 The 2.4 kernel changed the kernel start address from 0x310000 >> 671 to 0x810000 to make room for the Wildfire's larger SRM console. >> 672 Recent consoles on Titan and Marvel machines also require the >> 673 extra room. 1395 674 1396 config USE_OF !! 675 If you're using aboot 0.7 or later, the bootloader will examine the 1397 bool "Flattened Device Tree support" !! 676 ELF headers to determine where to transfer control. Unfortunately, 1398 select IRQ_DOMAIN !! 677 most older bootloaders -- APB or MILO -- hardcoded the kernel start 1399 select OF !! 678 address rather than examining the ELF headers, and the result is a 1400 help !! 679 hard lockup. 1401 Include support for flattened devic << 1402 680 1403 config ARCH_WANT_FLAT_DTB_INSTALL !! 681 Say Y if you have a broken bootloader. Say N if you do not, or if 1404 def_bool y !! 682 you wish to run on Wildfire, Titan, or Marvel. 1405 683 1406 config ATAGS !! 684 config ALPHA_LEGACY_START_ADDRESS 1407 bool "Support for the traditional ATA !! 685 bool >> 686 depends on !ALPHA_GENERIC && !ALPHA_TITAN && !ALPHA_MARVEL && !ALPHA_WILDFIRE 1408 default y 687 default y 1409 help << 1410 This is the traditional way of pass << 1411 time. If you are solely relying on << 1412 the ARM_ATAG_DTB_COMPAT option) the << 1413 to remove ATAGS support from your k << 1414 << 1415 config DEPRECATED_PARAM_STRUCT << 1416 bool "Provide old way to pass kernel << 1417 depends on ATAGS << 1418 help << 1419 This was deprecated in 2001 and ann << 1420 Some old boot loaders still use thi << 1421 << 1422 # Compressed boot loader in ROM. Yes, we rea << 1423 # TEXT and BSS so we preserve their values in << 1424 config ZBOOT_ROM_TEXT << 1425 hex "Compressed ROM boot loader base << 1426 default 0x0 << 1427 help << 1428 The physical address at which the R << 1429 placed in the target. Platforms wh << 1430 ROM-able zImage formats normally se << 1431 value in their defconfig file. << 1432 << 1433 If ZBOOT_ROM is not enabled, this h << 1434 << 1435 config ZBOOT_ROM_BSS << 1436 hex "Compressed ROM boot loader BSS a << 1437 default 0x0 << 1438 help << 1439 The base address of an area of read << 1440 for the ROM-able zImage which must << 1441 decompressor is running. It must be << 1442 entire decompressed kernel plus an << 1443 Platforms which normally make use o << 1444 normally set this to a suitable val << 1445 << 1446 If ZBOOT_ROM is not enabled, this h << 1447 << 1448 config ZBOOT_ROM << 1449 bool "Compressed boot loader in ROM/f << 1450 depends on ZBOOT_ROM_TEXT != ZBOOT_RO << 1451 depends on !ARM_APPENDED_DTB && !XIP_ << 1452 help << 1453 Say Y here if you intend to execute << 1454 (zImage) directly from ROM or flash << 1455 << 1456 config ARM_APPENDED_DTB << 1457 bool "Use appended device tree blob t << 1458 depends on OF << 1459 help << 1460 With this option, the boot code wil << 1461 (DTB) appended to zImage << 1462 (e.g. cat zImage <filename>.dtb > z << 1463 << 1464 This is meant as a backward compati << 1465 systems with a bootloader that can' << 1466 the documented boot protocol using << 1467 << 1468 Beware that there is very little in << 1469 this option being confused by lefto << 1470 look like a DTB header after a rebo << 1471 to zImage. Do not leave this optio << 1472 if you don't intend to always appen << 1473 location into r2 of a bootloader pr << 1474 to this option. << 1475 << 1476 config ARM_ATAG_DTB_COMPAT << 1477 bool "Supplement the appended DTB wit << 1478 depends on ARM_APPENDED_DTB << 1479 help << 1480 Some old bootloaders can't be updat << 1481 they provide ATAGs with memory conf << 1482 the kernel cmdline string, etc. Su << 1483 provided by the bootloader and can' << 1484 DTB. To allow a device tree enable << 1485 bootloaders, this option allows zIm << 1486 from the ATAG list and store it at << 1487 688 1488 choice !! 689 config DEBUG_KERNEL 1489 prompt "Kernel command line type" !! 690 bool "Kernel debugging" 1490 depends on ARM_ATAG_DTB_COMPAT << 1491 default ARM_ATAG_DTB_COMPAT_CMDLINE_F << 1492 << 1493 config ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTL << 1494 bool "Use bootloader kernel arguments << 1495 help << 1496 Uses the command-line options passe << 1497 the device tree bootargs property. << 1498 any, the device tree bootargs prope << 1499 << 1500 config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND << 1501 bool "Extend with bootloader kernel a << 1502 help 691 help 1503 The command-line arguments provided !! 692 Say Y here if you are developing drivers or trying to debug and 1504 appended to the the device tree boo !! 693 identify kernel problems. 1505 << 1506 endchoice << 1507 << 1508 config CMDLINE << 1509 string "Default kernel command string << 1510 default "" << 1511 help << 1512 On some architectures (e.g. CATS), << 1513 for the boot loader to pass argumen << 1514 architectures, you should supply so << 1515 time by entering them here. As a mi << 1516 memory size and the root device (e. << 1517 << 1518 choice << 1519 prompt "Kernel command line type" << 1520 depends on CMDLINE != "" << 1521 default CMDLINE_FROM_BOOTLOADER << 1522 << 1523 config CMDLINE_FROM_BOOTLOADER << 1524 bool "Use bootloader kernel arguments << 1525 help << 1526 Uses the command-line options passe << 1527 the boot loader doesn't provide any << 1528 string provided in CMDLINE will be << 1529 << 1530 config CMDLINE_EXTEND << 1531 bool "Extend bootloader kernel argume << 1532 help << 1533 The command-line arguments provided << 1534 appended to the default kernel comm << 1535 << 1536 config CMDLINE_FORCE << 1537 bool "Always use the default kernel c << 1538 help << 1539 Always use the default kernel comma << 1540 loader passes other arguments to th << 1541 This is useful if you cannot or don << 1542 command-line options your boot load << 1543 endchoice << 1544 << 1545 config XIP_KERNEL << 1546 bool "Kernel Execute-In-Place from RO << 1547 depends on !ARM_LPAE && !ARCH_MULTIPL << 1548 depends on !ARM_PATCH_IDIV && !ARM_PA << 1549 help << 1550 Execute-In-Place allows the kernel << 1551 directly addressable by the CPU, su << 1552 space since the text section of the << 1553 to RAM. Read-write sections, such << 1554 are still copied to RAM. The XIP k << 1555 it has to run directly from flash, << 1556 store it. The flash address used t << 1557 and for storing it, is configuratio << 1558 say Y here, you must know the prope << 1559 store the kernel image depending on << 1560 << 1561 Also note that the make target beco << 1562 "make zImage" or "make Image". The << 1563 ROM memory will be arch/arm/boot/xi << 1564 << 1565 If unsure, say N. << 1566 694 1567 config XIP_PHYS_ADDR !! 695 config MATHEMU 1568 hex "XIP Kernel Physical Location" !! 696 tristate "Kernel FP software completion" if DEBUG_KERNEL 1569 depends on XIP_KERNEL !! 697 default y if !DEBUG_KERNEL 1570 default "0x00080000" << 1571 help << 1572 This is the physical address in you << 1573 be linked for and stored to. This << 1574 own flash usage. << 1575 << 1576 config XIP_DEFLATED_DATA << 1577 bool "Store kernel .data section comp << 1578 depends on XIP_KERNEL << 1579 select ZLIB_INFLATE << 1580 help << 1581 Before the kernel is actually execu << 1582 copied to RAM from ROM. This option << 1583 in compressed form and decompressed << 1584 copied, saving some precious ROM sp << 1585 slightly longer boot delay. << 1586 << 1587 config ARCH_SUPPORTS_KEXEC << 1588 def_bool (!SMP || PM_SLEEP_SMP) && MM << 1589 << 1590 config ATAGS_PROC << 1591 bool "Export atags in procfs" << 1592 depends on ATAGS && KEXEC << 1593 default y << 1594 help 698 help 1595 Should the atags used to boot the k !! 699 This option is required for IEEE compliant floating point arithmetic 1596 file in procfs. Useful with kexec. !! 700 on the Alpha. The only time you would ever not say Y is to say M in 1597 !! 701 order to debug the code. Say Y unless you know what you are doing. 1598 config ARCH_SUPPORTS_CRASH_DUMP << 1599 def_bool y << 1600 << 1601 config AUTO_ZRELADDR << 1602 bool "Auto calculation of the decompr << 1603 default !(ARCH_FOOTBRIDGE || ARCH_RPC << 1604 help << 1605 ZRELADDR is the physical address wh << 1606 image will be placed. If AUTO_ZRELA << 1607 will be determined at run-time, eit << 1608 with 0xf8000000, or, if invalid, fr << 1609 This assumes the zImage being place << 1610 start of memory. << 1611 << 1612 config EFI_STUB << 1613 bool << 1614 << 1615 config EFI << 1616 bool "UEFI runtime support" << 1617 depends on OF && !CPU_BIG_ENDIAN && M << 1618 select UCS2_STRING << 1619 select EFI_PARAMS_FROM_FDT << 1620 select EFI_STUB << 1621 select EFI_GENERIC_STUB << 1622 select EFI_RUNTIME_WRAPPERS << 1623 help << 1624 This option provides support for ru << 1625 by UEFI firmware (such as non-volat << 1626 clock, and platform reset). A UEFI << 1627 allow the kernel to be booted as an << 1628 is only useful for kernels that may << 1629 UEFI firmware. << 1630 << 1631 config DMI << 1632 bool "Enable support for SMBIOS (DMI) << 1633 depends on EFI << 1634 default y << 1635 help << 1636 This enables SMBIOS/DMI feature for << 1637 << 1638 This option is only useful on syste << 1639 However, even with this option, the << 1640 continue to boot on existing non-UE << 1641 << 1642 NOTE: This does *NOT* enable or enc << 1643 i.e., the the practice of identifyi << 1644 decide whether certain workarounds << 1645 firmware need to be enabled. This w << 1646 to be enabled much earlier than we << 1647 << 1648 endmenu << 1649 << 1650 menu "CPU Power Management" << 1651 << 1652 source "drivers/cpufreq/Kconfig" << 1653 << 1654 source "drivers/cpuidle/Kconfig" << 1655 << 1656 endmenu << 1657 702 1658 menu "Floating point emulation" !! 703 config DEBUG_SLAB 1659 !! 704 bool "Debug memory allocations" 1660 comment "At least one emulation must be selec !! 705 depends on DEBUG_KERNEL 1661 << 1662 config FPE_NWFPE << 1663 bool "NWFPE math emulation" << 1664 depends on (!AEABI || OABI_COMPAT) && << 1665 help 706 help 1666 Say Y to include the NWFPE floating !! 707 Say Y here to have the kernel do limited verification on memory 1667 This is necessary to run most binar !! 708 allocation as well as poisoning memory on free to catch use of freed 1668 support floating point hardware so !! 709 memory. 1669 your machine has an FPA or floating << 1670 710 1671 You may say N here if you are going !! 711 config MAGIC_SYSRQ 1672 early in the bootup. !! 712 bool "Magic SysRq key" 1673 !! 713 depends on DEBUG_KERNEL 1674 config FPE_NWFPE_XP << 1675 bool "Support extended precision" << 1676 depends on FPE_NWFPE << 1677 help 714 help 1678 Say Y to include 80-bit support in !! 715 If you say Y here, you will have some control over the system even 1679 emulator. Otherwise, only 32 and 6 !! 716 if the system crashes for example during kernel debugging (e.g., you 1680 Note that gcc does not generate 80- !! 717 will be able to flush the buffer cache to disk, reboot the system 1681 so in most cases this option only e !! 718 immediately or dump some status information). This is accomplished 1682 floating point emulator without any !! 719 by pressing various keys while holding SysRq (Alt+PrintScreen). It 1683 !! 720 also works on a serial console (on PC hardware at least), if you 1684 You almost surely want to say N her !! 721 send a BREAK and then within 5 seconds a command keypress. The >> 722 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y >> 723 unless you really know what this hack does. 1685 724 1686 config FPE_FASTFPE !! 725 config DEBUG_SPINLOCK 1687 bool "FastFPE math emulation (EXPERIM !! 726 bool "Spinlock debugging" 1688 depends on (!AEABI || OABI_COMPAT) && !! 727 depends on DEBUG_KERNEL 1689 help 728 help 1690 Say Y here to include the FAST floa !! 729 Say Y here and build SMP to catch missing spinlock initialization 1691 This is an experimental much faster !! 730 and certain other kinds of spinlock errors commonly made. This is 1692 precision for the mantissa. It doe !! 731 best used in conjunction with the NMI watchdog so that spinlock 1693 It is very simple, and approximatel !! 732 deadlocks are also debuggable. 1694 733 1695 It should be sufficient for most pr !! 734 config DEBUG_RWLOCK 1696 for scientific calculations, but yo !! 735 bool "Read-write spinlock debugging" 1697 If you do not feel you need a faste !! 736 depends on DEBUG_KERNEL 1698 choose NWFPE. << 1699 << 1700 config VFP << 1701 bool "VFP-format floating point maths << 1702 depends on CPU_V6 || CPU_V6K || CPU_A << 1703 help 737 help 1704 Say Y to include VFP support code i !! 738 If you say Y here then read-write lock processing will count how many 1705 if your hardware includes a VFP uni !! 739 times it has tried to get the lock and issue an error message after 1706 !! 740 too many attempts. If you suspect a rwlock problem or a kernel 1707 Please see <file:Documentation/arch !! 741 hacker asks for this option then say Y. Otherwise say N. 1708 release notes and additional status << 1709 742 1710 Say N if your target does not have !! 743 config DEBUG_SEMAPHORE 1711 !! 744 bool "Semaphore debugging" 1712 config VFPv3 !! 745 depends on DEBUG_KERNEL 1713 bool << 1714 depends on VFP << 1715 default y if CPU_V7 << 1716 << 1717 config NEON << 1718 bool "Advanced SIMD (NEON) Extension << 1719 depends on VFPv3 && CPU_V7 << 1720 help 746 help 1721 Say Y to include support code for N !! 747 If you say Y here then semaphore processing will issue lots of 1722 Extension. !! 748 verbose debugging messages. If you suspect a semaphore problem or a >> 749 kernel hacker asks for this option then say Y. Otherwise say N. 1723 750 1724 config KERNEL_MODE_NEON !! 751 config DEBUG_INFO 1725 bool "Support for NEON in kernel mode !! 752 bool "Compile the kernel with debug info" 1726 depends on NEON && AEABI !! 753 depends on DEBUG_KERNEL 1727 help 754 help 1728 Say Y to include support for NEON i !! 755 If you say Y here the resulting kernel image will include >> 756 debugging info resulting in a larger kernel image. >> 757 Say Y here only if you plan to use gdb to debug the kernel. >> 758 If you don't debug the kernel, you can say N. 1729 759 1730 endmenu 760 endmenu 1731 761 1732 menu "Power management options" !! 762 source "security/Kconfig" 1733 << 1734 source "kernel/power/Kconfig" << 1735 << 1736 config ARCH_SUSPEND_POSSIBLE << 1737 depends on CPU_ARM920T || CPU_ARM926T << 1738 CPU_V6 || CPU_V6K || CPU_V7 | << 1739 def_bool y << 1740 763 1741 config ARM_CPU_SUSPEND !! 764 source "crypto/Kconfig" 1742 def_bool PM_SLEEP || BL_SWITCHER || A << 1743 depends on ARCH_SUSPEND_POSSIBLE << 1744 765 1745 config ARCH_HIBERNATION_POSSIBLE !! 766 source "lib/Kconfig" 1746 bool << 1747 depends on MMU << 1748 default y if ARCH_SUSPEND_POSSIBLE << 1749 << 1750 endmenu << 1751 767 1752 source "arch/arm/Kconfig.assembler" <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.