| .. | .. |
|---|
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
|---|
| 2 | 2 | source "arch/powerpc/platforms/Kconfig.cputype" |
|---|
| 3 | 3 | |
|---|
| 4 | | -config PPC32 |
|---|
| 5 | | - bool |
|---|
| 6 | | - default y if !PPC64 |
|---|
| 7 | | - |
|---|
| 8 | 4 | config 32BIT |
|---|
| 9 | 5 | bool |
|---|
| 10 | 6 | default y if PPC32 |
|---|
| .. | .. |
|---|
| 48 | 44 | # Allow randomisation to consume up to 512MB of address space (2^29). |
|---|
| 49 | 45 | default 11 if PPC_256K_PAGES # 11 = 29 (512MB) - 18 (256K) |
|---|
| 50 | 46 | default 13 if PPC_64K_PAGES # 13 = 29 (512MB) - 16 (64K) |
|---|
| 51 | | - default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K) |
|---|
| 47 | + default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K) |
|---|
| 52 | 48 | default 17 # 17 = 29 (512MB) - 12 (4K) |
|---|
| 53 | 49 | |
|---|
| 54 | 50 | config ARCH_MMAP_RND_COMPAT_BITS_MIN |
|---|
| .. | .. |
|---|
| 63 | 59 | def_bool PPC64 |
|---|
| 64 | 60 | |
|---|
| 65 | 61 | config NEED_PER_CPU_EMBED_FIRST_CHUNK |
|---|
| 66 | | - def_bool PPC64 |
|---|
| 62 | + def_bool y if PPC64 |
|---|
| 63 | + |
|---|
| 64 | +config NEED_PER_CPU_PAGE_FIRST_CHUNK |
|---|
| 65 | + def_bool y if PPC64 |
|---|
| 67 | 66 | |
|---|
| 68 | 67 | config NR_IRQS |
|---|
| 69 | 68 | int "Number of virtual interrupt numbers" |
|---|
| .. | .. |
|---|
| 103 | 102 | bool |
|---|
| 104 | 103 | default y |
|---|
| 105 | 104 | |
|---|
| 106 | | -config RWSEM_GENERIC_SPINLOCK |
|---|
| 107 | | - bool |
|---|
| 108 | | - |
|---|
| 109 | | -config RWSEM_XCHGADD_ALGORITHM |
|---|
| 110 | | - bool |
|---|
| 111 | | - default y |
|---|
| 112 | | - |
|---|
| 113 | 105 | config GENERIC_LOCKBREAK |
|---|
| 114 | 106 | bool |
|---|
| 115 | 107 | default y |
|---|
| 116 | | - depends on SMP && PREEMPT |
|---|
| 108 | + depends on SMP && PREEMPTION |
|---|
| 117 | 109 | |
|---|
| 118 | 110 | config GENERIC_HWEIGHT |
|---|
| 119 | 111 | bool |
|---|
| 120 | 112 | default y |
|---|
| 121 | | - |
|---|
| 122 | | -config ARCH_HAS_DMA_SET_COHERENT_MASK |
|---|
| 123 | | - bool |
|---|
| 124 | 113 | |
|---|
| 125 | 114 | config PPC |
|---|
| 126 | 115 | bool |
|---|
| .. | .. |
|---|
| 128 | 117 | # |
|---|
| 129 | 118 | # Please keep this list sorted alphabetically. |
|---|
| 130 | 119 | # |
|---|
| 120 | + select ARCH_32BIT_OFF_T if PPC32 |
|---|
| 121 | + select ARCH_HAS_DEBUG_VIRTUAL |
|---|
| 131 | 122 | select ARCH_HAS_DEVMEM_IS_ALLOWED |
|---|
| 132 | | - select ARCH_HAS_DMA_SET_COHERENT_MASK |
|---|
| 133 | 123 | select ARCH_HAS_ELF_RANDOMIZE |
|---|
| 134 | 124 | select ARCH_HAS_FORTIFY_SOURCE |
|---|
| 135 | 125 | select ARCH_HAS_GCOV_PROFILE_ALL |
|---|
| 126 | + select ARCH_HAS_KCOV |
|---|
| 127 | + select ARCH_HAS_HUGEPD if HUGETLB_PAGE |
|---|
| 128 | + select ARCH_HAS_MEMREMAP_COMPAT_ALIGN |
|---|
| 129 | + select ARCH_HAS_MMIOWB if PPC64 |
|---|
| 136 | 130 | select ARCH_HAS_PHYS_TO_DMA |
|---|
| 137 | | - select ARCH_HAS_PMEM_API if PPC64 |
|---|
| 131 | + select ARCH_HAS_PMEM_API |
|---|
| 132 | + select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE |
|---|
| 133 | + select ARCH_HAS_PTE_DEVMAP if PPC_BOOK3S_64 |
|---|
| 138 | 134 | select ARCH_HAS_PTE_SPECIAL |
|---|
| 139 | 135 | select ARCH_HAS_MEMBARRIER_CALLBACKS |
|---|
| 140 | | - select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE |
|---|
| 141 | | - select ARCH_HAS_SG_CHAIN |
|---|
| 136 | + select ARCH_HAS_MEMBARRIER_SYNC_CORE |
|---|
| 137 | + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64 |
|---|
| 142 | 138 | select ARCH_HAS_STRICT_KERNEL_RWX if (PPC32 && !HIBERNATION) |
|---|
| 143 | 139 | select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST |
|---|
| 144 | | - select ARCH_HAS_UACCESS_FLUSHCACHE if PPC64 |
|---|
| 140 | + select ARCH_HAS_UACCESS_FLUSHCACHE |
|---|
| 141 | + select ARCH_HAS_COPY_MC if PPC64 |
|---|
| 145 | 142 | select ARCH_HAS_UBSAN_SANITIZE_ALL |
|---|
| 146 | | - select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64 |
|---|
| 147 | 143 | select ARCH_HAVE_NMI_SAFE_CMPXCHG |
|---|
| 144 | + select ARCH_KEEP_MEMBLOCK |
|---|
| 148 | 145 | select ARCH_MIGHT_HAVE_PC_PARPORT |
|---|
| 149 | 146 | select ARCH_MIGHT_HAVE_PC_SERIO |
|---|
| 150 | 147 | select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX |
|---|
| 151 | 148 | select ARCH_SUPPORTS_ATOMIC_RMW |
|---|
| 152 | 149 | select ARCH_USE_BUILTIN_BSWAP |
|---|
| 153 | 150 | select ARCH_USE_CMPXCHG_LOCKREF if PPC64 |
|---|
| 151 | + select ARCH_USE_QUEUED_RWLOCKS if PPC_QUEUED_SPINLOCKS |
|---|
| 152 | + select ARCH_USE_QUEUED_SPINLOCKS if PPC_QUEUED_SPINLOCKS |
|---|
| 154 | 153 | select ARCH_WANT_IPC_PARSE_VERSION |
|---|
| 155 | 154 | select ARCH_WANT_IRQS_OFF_ACTIVATE_MM |
|---|
| 155 | + select ARCH_WANT_LD_ORPHAN_WARN |
|---|
| 156 | 156 | select ARCH_WEAK_RELEASE_ACQUIRE |
|---|
| 157 | 157 | select BINFMT_ELF |
|---|
| 158 | | - select BUILDTIME_EXTABLE_SORT |
|---|
| 158 | + select BUILDTIME_TABLE_SORT |
|---|
| 159 | 159 | select CLONE_BACKWARDS |
|---|
| 160 | 160 | select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN |
|---|
| 161 | + select DMA_OPS if PPC64 |
|---|
| 162 | + select DMA_OPS_BYPASS if PPC64 |
|---|
| 161 | 163 | select DYNAMIC_FTRACE if FUNCTION_TRACER |
|---|
| 162 | 164 | select EDAC_ATOMIC_SCRUB |
|---|
| 163 | 165 | select EDAC_SUPPORT |
|---|
| .. | .. |
|---|
| 167 | 169 | select GENERIC_CMOS_UPDATE |
|---|
| 168 | 170 | select GENERIC_CPU_AUTOPROBE |
|---|
| 169 | 171 | select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC |
|---|
| 172 | + select GENERIC_EARLY_IOREMAP |
|---|
| 170 | 173 | select GENERIC_IRQ_SHOW |
|---|
| 171 | 174 | select GENERIC_IRQ_SHOW_LEVEL |
|---|
| 175 | + select GENERIC_PCI_IOMAP if PCI |
|---|
| 172 | 176 | select GENERIC_SMP_IDLE_THREAD |
|---|
| 173 | 177 | select GENERIC_STRNCPY_FROM_USER |
|---|
| 174 | 178 | select GENERIC_STRNLEN_USER |
|---|
| 175 | 179 | select GENERIC_TIME_VSYSCALL |
|---|
| 176 | 180 | select HAVE_ARCH_AUDITSYSCALL |
|---|
| 181 | + select HAVE_ARCH_HUGE_VMAP if PPC_BOOK3S_64 && PPC_RADIX_MMU |
|---|
| 177 | 182 | select HAVE_ARCH_JUMP_LABEL |
|---|
| 183 | + select HAVE_ARCH_KASAN if PPC32 && PPC_PAGE_SHIFT <= 14 |
|---|
| 184 | + select HAVE_ARCH_KASAN_VMALLOC if PPC32 && PPC_PAGE_SHIFT <= 14 |
|---|
| 178 | 185 | select HAVE_ARCH_KGDB |
|---|
| 179 | 186 | select HAVE_ARCH_MMAP_RND_BITS |
|---|
| 180 | 187 | select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT |
|---|
| 188 | + select HAVE_ARCH_NVRAM_OPS |
|---|
| 181 | 189 | select HAVE_ARCH_SECCOMP_FILTER |
|---|
| 182 | 190 | select HAVE_ARCH_TRACEHOOK |
|---|
| 191 | + select HAVE_ASM_MODVERSIONS |
|---|
| 192 | + select HAVE_C_RECORDMCOUNT |
|---|
| 183 | 193 | select HAVE_CBPF_JIT if !PPC64 |
|---|
| 194 | + select HAVE_STACKPROTECTOR if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13) |
|---|
| 195 | + select HAVE_STACKPROTECTOR if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2) |
|---|
| 184 | 196 | select HAVE_CONTEXT_TRACKING if PPC64 |
|---|
| 197 | + select HAVE_TIF_NOHZ if PPC64 |
|---|
| 185 | 198 | select HAVE_DEBUG_KMEMLEAK |
|---|
| 186 | 199 | select HAVE_DEBUG_STACKOVERFLOW |
|---|
| 187 | 200 | select HAVE_DYNAMIC_FTRACE |
|---|
| 188 | 201 | select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL |
|---|
| 189 | 202 | select HAVE_EBPF_JIT if PPC64 |
|---|
| 190 | 203 | select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU) |
|---|
| 204 | + select HAVE_FAST_GUP |
|---|
| 191 | 205 | select HAVE_FTRACE_MCOUNT_RECORD |
|---|
| 206 | + select HAVE_FUNCTION_ERROR_INJECTION |
|---|
| 192 | 207 | select HAVE_FUNCTION_GRAPH_TRACER |
|---|
| 193 | 208 | select HAVE_FUNCTION_TRACER |
|---|
| 194 | 209 | select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC |
|---|
| 195 | | - select HAVE_GENERIC_GUP |
|---|
| 196 | 210 | select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx) |
|---|
| 197 | 211 | select HAVE_IDE |
|---|
| 198 | 212 | select HAVE_IOREMAP_PROT |
|---|
| 199 | 213 | select HAVE_IRQ_EXIT_ON_IRQ_STACK |
|---|
| 200 | 214 | select HAVE_KERNEL_GZIP |
|---|
| 201 | | - select HAVE_KERNEL_XZ if PPC_BOOK3S |
|---|
| 215 | + select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE |
|---|
| 216 | + select HAVE_KERNEL_LZO if DEFAULT_UIMAGE |
|---|
| 217 | + select HAVE_KERNEL_XZ if PPC_BOOK3S || 44x |
|---|
| 202 | 218 | select HAVE_KPROBES |
|---|
| 203 | 219 | select HAVE_KPROBES_ON_FTRACE |
|---|
| 204 | 220 | select HAVE_KRETPROBES |
|---|
| 205 | 221 | select HAVE_LD_DEAD_CODE_DATA_ELIMINATION |
|---|
| 206 | 222 | select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS |
|---|
| 207 | | - select HAVE_MEMBLOCK |
|---|
| 208 | | - select HAVE_MEMBLOCK_NODE_MAP |
|---|
| 209 | 223 | select HAVE_MOD_ARCH_SPECIFIC |
|---|
| 210 | 224 | select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) |
|---|
| 211 | 225 | select HAVE_HARDLOCKUP_DETECTOR_ARCH if PPC64 && PPC_BOOK3S && SMP |
|---|
| .. | .. |
|---|
| 216 | 230 | select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH |
|---|
| 217 | 231 | select HAVE_PERF_REGS |
|---|
| 218 | 232 | select HAVE_PERF_USER_STACK_DUMP |
|---|
| 219 | | - select HAVE_RCU_TABLE_FREE if SMP |
|---|
| 233 | + select MMU_GATHER_RCU_TABLE_FREE |
|---|
| 234 | + select MMU_GATHER_PAGE_SIZE |
|---|
| 220 | 235 | select HAVE_REGS_AND_STACK_ACCESS_API |
|---|
| 221 | | - select HAVE_RELIABLE_STACKTRACE if PPC64 && CPU_LITTLE_ENDIAN |
|---|
| 236 | + select HAVE_RELIABLE_STACKTRACE if PPC_BOOK3S_64 && CPU_LITTLE_ENDIAN |
|---|
| 222 | 237 | select HAVE_SYSCALL_TRACEPOINTS |
|---|
| 223 | 238 | select HAVE_VIRT_CPU_ACCOUNTING |
|---|
| 224 | 239 | select HAVE_IRQ_TIME_ACCOUNTING |
|---|
| .. | .. |
|---|
| 229 | 244 | select MODULES_USE_ELF_RELA |
|---|
| 230 | 245 | select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE |
|---|
| 231 | 246 | select NEED_SG_DMA_LENGTH |
|---|
| 232 | | - select NO_BOOTMEM |
|---|
| 233 | 247 | select OF |
|---|
| 234 | 248 | select OF_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE |
|---|
| 235 | 249 | select OF_EARLY_FLATTREE |
|---|
| 236 | | - select OF_RESERVED_MEM |
|---|
| 237 | 250 | select OLD_SIGACTION if PPC32 |
|---|
| 238 | 251 | select OLD_SIGSUSPEND |
|---|
| 252 | + select PCI_DOMAINS if PCI |
|---|
| 253 | + select PCI_MSI_ARCH_FALLBACKS if PCI_MSI |
|---|
| 254 | + select PCI_SYSCALL if PCI |
|---|
| 255 | + select PPC_DAWR if PPC64 |
|---|
| 239 | 256 | select RTC_LIB |
|---|
| 240 | 257 | select SPARSE_IRQ |
|---|
| 241 | 258 | select SYSCTL_EXCEPTION_TRACE |
|---|
| 259 | + select THREAD_INFO_IN_TASK |
|---|
| 242 | 260 | select VIRT_TO_BUS if !PPC64 |
|---|
| 243 | 261 | # |
|---|
| 244 | 262 | # Please keep this list sorted alphabetically. |
|---|
| 245 | 263 | # |
|---|
| 246 | 264 | |
|---|
| 247 | 265 | config PPC_BARRIER_NOSPEC |
|---|
| 248 | | - bool |
|---|
| 249 | | - default y |
|---|
| 250 | | - depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E |
|---|
| 251 | | - |
|---|
| 252 | | -config GENERIC_CSUM |
|---|
| 253 | | - def_bool n |
|---|
| 266 | + bool |
|---|
| 267 | + default y |
|---|
| 268 | + depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E |
|---|
| 254 | 269 | |
|---|
| 255 | 270 | config EARLY_PRINTK |
|---|
| 256 | 271 | bool |
|---|
| .. | .. |
|---|
| 261 | 276 | default 180 |
|---|
| 262 | 277 | |
|---|
| 263 | 278 | config COMPAT |
|---|
| 264 | | - bool |
|---|
| 265 | | - default y if PPC64 |
|---|
| 279 | + bool "Enable support for 32bit binaries" |
|---|
| 280 | + depends on PPC64 |
|---|
| 281 | + default y if !CPU_LITTLE_ENDIAN |
|---|
| 266 | 282 | select COMPAT_BINFMT_ELF |
|---|
| 267 | 283 | select ARCH_WANT_OLD_COMPAT_IPC |
|---|
| 268 | 284 | select COMPAT_OLD_SIGACTION |
|---|
| .. | .. |
|---|
| 271 | 287 | bool |
|---|
| 272 | 288 | depends on COMPAT && SYSVIPC |
|---|
| 273 | 289 | default y |
|---|
| 274 | | - |
|---|
| 275 | | -# All PPC32s use generic nvram driver through ppc_md |
|---|
| 276 | | -config GENERIC_NVRAM |
|---|
| 277 | | - bool |
|---|
| 278 | | - default y if PPC32 |
|---|
| 279 | 290 | |
|---|
| 280 | 291 | config SCHED_OMIT_FRAME_POINTER |
|---|
| 281 | 292 | bool |
|---|
| .. | .. |
|---|
| 287 | 298 | |
|---|
| 288 | 299 | config PPC_UDBG_16550 |
|---|
| 289 | 300 | bool |
|---|
| 290 | | - default n |
|---|
| 291 | 301 | |
|---|
| 292 | 302 | config GENERIC_TBSYNC |
|---|
| 293 | 303 | bool |
|---|
| 294 | 304 | default y if PPC32 && SMP |
|---|
| 295 | | - default n |
|---|
| 296 | 305 | |
|---|
| 297 | 306 | config AUDIT_ARCH |
|---|
| 298 | 307 | bool |
|---|
| .. | .. |
|---|
| 311 | 320 | bool |
|---|
| 312 | 321 | help |
|---|
| 313 | 322 | Used to allow a board to specify it wants an ePAPR compliant wrapper. |
|---|
| 314 | | - default n |
|---|
| 315 | 323 | |
|---|
| 316 | 324 | config DEFAULT_UIMAGE |
|---|
| 317 | 325 | bool |
|---|
| 318 | 326 | help |
|---|
| 319 | 327 | Used to allow a board to specify it wants a uImage built by default |
|---|
| 320 | | - default n |
|---|
| 321 | 328 | |
|---|
| 322 | 329 | config ARCH_HIBERNATION_POSSIBLE |
|---|
| 323 | 330 | bool |
|---|
| .. | .. |
|---|
| 329 | 336 | (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \ |
|---|
| 330 | 337 | || 44x || 40x |
|---|
| 331 | 338 | |
|---|
| 339 | +config ARCH_SUSPEND_NONZERO_CPU |
|---|
| 340 | + def_bool y |
|---|
| 341 | + depends on PPC_POWERNV || PPC_PSERIES |
|---|
| 342 | + |
|---|
| 332 | 343 | config PPC_DCR_NATIVE |
|---|
| 333 | 344 | bool |
|---|
| 334 | | - default n |
|---|
| 335 | 345 | |
|---|
| 336 | 346 | config PPC_DCR_MMIO |
|---|
| 337 | 347 | bool |
|---|
| 338 | | - default n |
|---|
| 339 | 348 | |
|---|
| 340 | 349 | config PPC_DCR |
|---|
| 341 | 350 | bool |
|---|
| .. | .. |
|---|
| 346 | 355 | bool |
|---|
| 347 | 356 | depends on PCI |
|---|
| 348 | 357 | depends on PPC64 # not supported on 32 bits yet |
|---|
| 349 | | - default n |
|---|
| 350 | 358 | |
|---|
| 351 | 359 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC |
|---|
| 352 | 360 | depends on PPC32 || PPC_BOOK3S_64 |
|---|
| .. | .. |
|---|
| 382 | 390 | depends on PPC_ADV_DEBUG_REGS && 44x |
|---|
| 383 | 391 | default y |
|---|
| 384 | 392 | |
|---|
| 385 | | -config ZONE_DMA32 |
|---|
| 393 | +config PPC_DAWR |
|---|
| 386 | 394 | bool |
|---|
| 387 | | - default y if PPC64 |
|---|
| 395 | + |
|---|
| 396 | +config ZONE_DMA |
|---|
| 397 | + bool |
|---|
| 398 | + default y if PPC_BOOK3E_64 |
|---|
| 388 | 399 | |
|---|
| 389 | 400 | config PGTABLE_LEVELS |
|---|
| 390 | 401 | int |
|---|
| 391 | 402 | default 2 if !PPC64 |
|---|
| 392 | | - default 3 if PPC_64K_PAGES && !PPC_BOOK3S_64 |
|---|
| 393 | 403 | default 4 |
|---|
| 394 | 404 | |
|---|
| 395 | 405 | source "arch/powerpc/sysdev/Kconfig" |
|---|
| .. | .. |
|---|
| 401 | 411 | bool "High memory support" |
|---|
| 402 | 412 | depends on PPC32 |
|---|
| 403 | 413 | |
|---|
| 404 | | -source kernel/Kconfig.hz |
|---|
| 414 | +source "kernel/Kconfig.hz" |
|---|
| 405 | 415 | |
|---|
| 406 | 416 | config HUGETLB_PAGE_SIZE_VARIABLE |
|---|
| 407 | 417 | bool |
|---|
| 408 | | - depends on HUGETLB_PAGE |
|---|
| 418 | + depends on HUGETLB_PAGE && PPC_BOOK3S_64 |
|---|
| 409 | 419 | default y |
|---|
| 410 | 420 | |
|---|
| 411 | 421 | config MATH_EMULATION |
|---|
| 412 | 422 | bool "Math emulation" |
|---|
| 413 | 423 | depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE |
|---|
| 414 | | - ---help--- |
|---|
| 424 | + help |
|---|
| 415 | 425 | Some PowerPC chips designed for embedded applications do not have |
|---|
| 416 | 426 | a floating-point unit and therefore do not implement the |
|---|
| 417 | 427 | floating-point instructions in the PowerPC instruction set. If you |
|---|
| .. | .. |
|---|
| 430 | 440 | |
|---|
| 431 | 441 | config MATH_EMULATION_FULL |
|---|
| 432 | 442 | bool "Emulate all the floating point instructions" |
|---|
| 433 | | - ---help--- |
|---|
| 443 | + help |
|---|
| 434 | 444 | Select this option will enable the kernel to support to emulate |
|---|
| 435 | 445 | all the floating point instructions. If your SoC doesn't have |
|---|
| 436 | 446 | a FPU, you should select this. |
|---|
| 437 | 447 | |
|---|
| 438 | 448 | config MATH_EMULATION_HW_UNIMPLEMENTED |
|---|
| 439 | 449 | bool "Just emulate the FPU unimplemented instructions" |
|---|
| 440 | | - ---help--- |
|---|
| 450 | + help |
|---|
| 441 | 451 | Select this if you know there does have a hardware FPU on your |
|---|
| 442 | 452 | SoC, but some floating point instructions are not implemented by that. |
|---|
| 443 | 453 | |
|---|
| 444 | 454 | endchoice |
|---|
| 445 | 455 | |
|---|
| 446 | 456 | config PPC_TRANSACTIONAL_MEM |
|---|
| 447 | | - bool "Transactional Memory support for POWERPC" |
|---|
| 448 | | - depends on PPC_BOOK3S_64 |
|---|
| 449 | | - depends on SMP |
|---|
| 450 | | - select ALTIVEC |
|---|
| 451 | | - select VSX |
|---|
| 452 | | - default n |
|---|
| 453 | | - ---help--- |
|---|
| 454 | | - Support user-mode Transactional Memory on POWERPC. |
|---|
| 457 | + bool "Transactional Memory support for POWERPC" |
|---|
| 458 | + depends on PPC_BOOK3S_64 |
|---|
| 459 | + depends on SMP |
|---|
| 460 | + select ALTIVEC |
|---|
| 461 | + select VSX |
|---|
| 462 | + help |
|---|
| 463 | + Support user-mode Transactional Memory on POWERPC. |
|---|
| 464 | + |
|---|
| 465 | +config PPC_UV |
|---|
| 466 | + bool "Ultravisor support" |
|---|
| 467 | + depends on KVM_BOOK3S_HV_POSSIBLE |
|---|
| 468 | + depends on DEVICE_PRIVATE |
|---|
| 469 | + default n |
|---|
| 470 | + help |
|---|
| 471 | + This option paravirtualizes the kernel to run in POWER platforms that |
|---|
| 472 | + supports the Protected Execution Facility (PEF). On such platforms, |
|---|
| 473 | + the ultravisor firmware runs at a privilege level above the |
|---|
| 474 | + hypervisor. |
|---|
| 475 | + |
|---|
| 476 | + If unsure, say "N". |
|---|
| 455 | 477 | |
|---|
| 456 | 478 | config LD_HEAD_STUB_CATCH |
|---|
| 457 | 479 | bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT |
|---|
| 458 | 480 | depends on PPC64 |
|---|
| 459 | | - default n |
|---|
| 460 | 481 | help |
|---|
| 461 | 482 | Very large kernels can cause linker branch stubs to be generated by |
|---|
| 462 | 483 | code in head_64.S, which moves the head text sections out of their |
|---|
| .. | .. |
|---|
| 465 | 486 | If unsure, say "N". |
|---|
| 466 | 487 | |
|---|
| 467 | 488 | config MPROFILE_KERNEL |
|---|
| 468 | | - depends on PPC64 && CPU_LITTLE_ENDIAN |
|---|
| 489 | + depends on PPC64 && CPU_LITTLE_ENDIAN && FUNCTION_TRACER |
|---|
| 469 | 490 | def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) |
|---|
| 470 | 491 | |
|---|
| 471 | 492 | config HOTPLUG_CPU |
|---|
| 472 | 493 | bool "Support for enabling/disabling CPUs" |
|---|
| 473 | 494 | depends on SMP && (PPC_PSERIES || \ |
|---|
| 474 | | - PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE) |
|---|
| 475 | | - ---help--- |
|---|
| 495 | + PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE) |
|---|
| 496 | + help |
|---|
| 476 | 497 | Say Y here to be able to disable and re-enable individual |
|---|
| 477 | 498 | CPUs at runtime on SMP machines. |
|---|
| 478 | 499 | |
|---|
| 479 | 500 | Say N if you are unsure. |
|---|
| 501 | + |
|---|
| 502 | +config PPC_QUEUED_SPINLOCKS |
|---|
| 503 | + bool "Queued spinlocks" |
|---|
| 504 | + depends on SMP |
|---|
| 505 | + help |
|---|
| 506 | + Say Y here to use queued spinlocks which give better scalability and |
|---|
| 507 | + fairness on large SMP and NUMA systems without harming single threaded |
|---|
| 508 | + performance. |
|---|
| 509 | + |
|---|
| 510 | + This option is currently experimental, the code is more complex and |
|---|
| 511 | + less tested so it defaults to "N" for the moment. |
|---|
| 512 | + |
|---|
| 513 | + If unsure, say "N". |
|---|
| 480 | 514 | |
|---|
| 481 | 515 | config ARCH_CPU_PROBE_RELEASE |
|---|
| 482 | 516 | def_bool y |
|---|
| 483 | 517 | depends on HOTPLUG_CPU |
|---|
| 484 | 518 | |
|---|
| 485 | 519 | config ARCH_ENABLE_MEMORY_HOTPLUG |
|---|
| 486 | | - def_bool y |
|---|
| 487 | | - |
|---|
| 488 | | -config ARCH_HAS_WALK_MEMORY |
|---|
| 489 | 520 | def_bool y |
|---|
| 490 | 521 | |
|---|
| 491 | 522 | config ARCH_ENABLE_MEMORY_HOTREMOVE |
|---|
| .. | .. |
|---|
| 520 | 551 | select KEXEC_CORE |
|---|
| 521 | 552 | select HAVE_IMA_KEXEC |
|---|
| 522 | 553 | select BUILD_BIN2C |
|---|
| 554 | + select KEXEC_ELF |
|---|
| 523 | 555 | depends on PPC64 |
|---|
| 524 | 556 | depends on CRYPTO=y |
|---|
| 525 | 557 | depends on CRYPTO_SHA256=y |
|---|
| .. | .. |
|---|
| 556 | 588 | setting can still be useful to bootwrappers that need to know the |
|---|
| 557 | 589 | load address of the kernel (eg. u-boot/mkimage). |
|---|
| 558 | 590 | |
|---|
| 591 | +config RANDOMIZE_BASE |
|---|
| 592 | + bool "Randomize the address of the kernel image" |
|---|
| 593 | + depends on (FSL_BOOKE && FLATMEM && PPC32) |
|---|
| 594 | + depends on RELOCATABLE |
|---|
| 595 | + help |
|---|
| 596 | + Randomizes the virtual address at which the kernel image is |
|---|
| 597 | + loaded, as a security feature that deters exploit attempts |
|---|
| 598 | + relying on knowledge of the location of kernel internals. |
|---|
| 599 | + |
|---|
| 600 | + If unsure, say Y. |
|---|
| 601 | + |
|---|
| 559 | 602 | config RELOCATABLE_TEST |
|---|
| 560 | 603 | bool "Test relocatable kernel" |
|---|
| 561 | 604 | depends on (PPC64 && RELOCATABLE) |
|---|
| 562 | | - default n |
|---|
| 563 | 605 | help |
|---|
| 564 | 606 | This runs the relocatable kernel at the address it was initially |
|---|
| 565 | 607 | loaded at, which tends to be non-zero and therefore test the |
|---|
| .. | .. |
|---|
| 567 | 609 | |
|---|
| 568 | 610 | config CRASH_DUMP |
|---|
| 569 | 611 | bool "Build a dump capture kernel" |
|---|
| 570 | | - depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP) |
|---|
| 612 | + depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP) |
|---|
| 571 | 613 | select RELOCATABLE if PPC64 || 44x || FSL_BOOKE |
|---|
| 572 | 614 | help |
|---|
| 573 | 615 | Build a kernel suitable for use as a dump capture kernel. |
|---|
| .. | .. |
|---|
| 576 | 618 | |
|---|
| 577 | 619 | config FA_DUMP |
|---|
| 578 | 620 | bool "Firmware-assisted dump" |
|---|
| 579 | | - depends on PPC64 && PPC_RTAS |
|---|
| 621 | + depends on PPC64 && (PPC_RTAS || PPC_POWERNV) |
|---|
| 580 | 622 | select CRASH_CORE |
|---|
| 581 | 623 | select CRASH_DUMP |
|---|
| 582 | 624 | help |
|---|
| .. | .. |
|---|
| 587 | 629 | is meant to be a kdump replacement offering robustness and |
|---|
| 588 | 630 | speed not possible without system firmware assistance. |
|---|
| 589 | 631 | |
|---|
| 590 | | - If unsure, say "N" |
|---|
| 632 | + If unsure, say "y". Only special kernels like petitboot may |
|---|
| 633 | + need to say "N" here. |
|---|
| 634 | + |
|---|
| 635 | +config PRESERVE_FA_DUMP |
|---|
| 636 | + bool "Preserve Firmware-assisted dump" |
|---|
| 637 | + depends on PPC64 && PPC_POWERNV && !FA_DUMP |
|---|
| 638 | + help |
|---|
| 639 | + On a kernel with FA_DUMP disabled, this option helps to preserve |
|---|
| 640 | + crash data from a previously crash'ed kernel. Useful when the next |
|---|
| 641 | + memory preserving kernel boot would process this crash data. |
|---|
| 642 | + Petitboot kernel is the typical usecase for this option. |
|---|
| 643 | + |
|---|
| 644 | +config OPAL_CORE |
|---|
| 645 | + bool "Export OPAL memory as /sys/firmware/opal/core" |
|---|
| 646 | + depends on PPC64 && PPC_POWERNV |
|---|
| 647 | + help |
|---|
| 648 | + This option uses the MPIPL support in firmware to provide an |
|---|
| 649 | + ELF core of OPAL memory after a crash. The ELF core is exported |
|---|
| 650 | + as /sys/firmware/opal/core file which is helpful in debugging |
|---|
| 651 | + OPAL crashes using GDB. |
|---|
| 591 | 652 | |
|---|
| 592 | 653 | config IRQ_ALL_CPUS |
|---|
| 593 | 654 | bool "Distribute interrupts on all CPUs by default" |
|---|
| .. | .. |
|---|
| 648 | 709 | def_bool y |
|---|
| 649 | 710 | depends on MEMORY_HOTPLUG |
|---|
| 650 | 711 | |
|---|
| 651 | | -# Some NUMA nodes have memory ranges that span |
|---|
| 652 | | -# other nodes. Even though a pfn is valid and |
|---|
| 653 | | -# between a node's start and end pfns, it may not |
|---|
| 654 | | -# reside on that node. See memmap_init_zone() |
|---|
| 655 | | -# for details. |
|---|
| 656 | | -config NODES_SPAN_OTHER_NODES |
|---|
| 657 | | - def_bool y |
|---|
| 658 | | - depends on NEED_MULTIPLE_NODES |
|---|
| 659 | | - |
|---|
| 660 | 712 | config STDBINUTILS |
|---|
| 661 | 713 | bool "Using standard binutils settings" |
|---|
| 662 | 714 | depends on 44x |
|---|
| .. | .. |
|---|
| 704 | 756 | |
|---|
| 705 | 757 | config PPC_64K_PAGES |
|---|
| 706 | 758 | bool "64k page size" |
|---|
| 707 | | - depends on !PPC_FSL_BOOK3E && (44x || PPC_BOOK3S_64 || PPC_BOOK3E_64) |
|---|
| 759 | + depends on 44x || PPC_BOOK3S_64 |
|---|
| 708 | 760 | select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64 |
|---|
| 709 | 761 | |
|---|
| 710 | 762 | config PPC_256K_PAGES |
|---|
| .. | .. |
|---|
| 722 | 774 | |
|---|
| 723 | 775 | endchoice |
|---|
| 724 | 776 | |
|---|
| 777 | +config PPC_PAGE_SHIFT |
|---|
| 778 | + int |
|---|
| 779 | + default 18 if PPC_256K_PAGES |
|---|
| 780 | + default 16 if PPC_64K_PAGES |
|---|
| 781 | + default 14 if PPC_16K_PAGES |
|---|
| 782 | + default 12 |
|---|
| 783 | + |
|---|
| 725 | 784 | config THREAD_SHIFT |
|---|
| 726 | 785 | int "Thread shift" if EXPERT |
|---|
| 727 | 786 | range 13 15 |
|---|
| .. | .. |
|---|
| 731 | 790 | help |
|---|
| 732 | 791 | Used to define the stack size. The default is almost always what you |
|---|
| 733 | 792 | want. Only change this if you know what you are doing. |
|---|
| 793 | + |
|---|
| 794 | +config DATA_SHIFT_BOOL |
|---|
| 795 | + bool "Set custom data alignment" |
|---|
| 796 | + depends on ADVANCED_OPTIONS |
|---|
| 797 | + depends on STRICT_KERNEL_RWX || DEBUG_PAGEALLOC |
|---|
| 798 | + depends on PPC_BOOK3S_32 || (PPC_8xx && !PIN_TLB_DATA && \ |
|---|
| 799 | + (!PIN_TLB_TEXT || !STRICT_KERNEL_RWX)) |
|---|
| 800 | + help |
|---|
| 801 | + This option allows you to set the kernel data alignment. When |
|---|
| 802 | + RAM is mapped by blocks, the alignment needs to fit the size and |
|---|
| 803 | + number of possible blocks. The default should be OK for most configs. |
|---|
| 804 | + |
|---|
| 805 | + Say N here unless you know what you are doing. |
|---|
| 806 | + |
|---|
| 807 | +config DATA_SHIFT |
|---|
| 808 | + int "Data shift" if DATA_SHIFT_BOOL |
|---|
| 809 | + default 24 if STRICT_KERNEL_RWX && PPC64 |
|---|
| 810 | + range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC) && PPC_BOOK3S_32 |
|---|
| 811 | + range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC) && PPC_8xx |
|---|
| 812 | + default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32 |
|---|
| 813 | + default 18 if DEBUG_PAGEALLOC && PPC_BOOK3S_32 |
|---|
| 814 | + default 23 if STRICT_KERNEL_RWX && PPC_8xx |
|---|
| 815 | + default 23 if DEBUG_PAGEALLOC && PPC_8xx && PIN_TLB_DATA |
|---|
| 816 | + default 19 if DEBUG_PAGEALLOC && PPC_8xx |
|---|
| 817 | + default PPC_PAGE_SHIFT |
|---|
| 818 | + help |
|---|
| 819 | + On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO. |
|---|
| 820 | + Smaller is the alignment, greater is the number of necessary DBATs. |
|---|
| 821 | + |
|---|
| 822 | + On 8xx, large pages (512kb or 8M) are used to map kernel linear |
|---|
| 823 | + memory. Aligning to 8M reduces TLB misses as only 8M pages are used |
|---|
| 824 | + in that case. If PIN_TLB is selected, it must be aligned to 8M as |
|---|
| 825 | + 8M pages will be pinned. |
|---|
| 734 | 826 | |
|---|
| 735 | 827 | config FORCE_MAX_ZONEORDER |
|---|
| 736 | 828 | int "Maximum zone order" |
|---|
| .. | .. |
|---|
| 762 | 854 | this in mind when choosing a value for this option. |
|---|
| 763 | 855 | |
|---|
| 764 | 856 | config PPC_SUBPAGE_PROT |
|---|
| 765 | | - bool "Support setting protections for 4k subpages" |
|---|
| 857 | + bool "Support setting protections for 4k subpages (subpage_prot syscall)" |
|---|
| 858 | + default n |
|---|
| 766 | 859 | depends on PPC_BOOK3S_64 && PPC_64K_PAGES |
|---|
| 767 | 860 | help |
|---|
| 768 | | - This option adds support for a system call to allow user programs |
|---|
| 861 | + This option adds support for system call to allow user programs |
|---|
| 769 | 862 | to set access permissions (read/write, readonly, or no access) |
|---|
| 770 | 863 | on the 4k subpages of each 64k page. |
|---|
| 771 | 864 | |
|---|
| 865 | + If unsure, say N here. |
|---|
| 866 | + |
|---|
| 867 | +config PPC_PROT_SAO_LPAR |
|---|
| 868 | + bool "Support PROT_SAO mappings in LPARs" |
|---|
| 869 | + depends on PPC_BOOK3S_64 |
|---|
| 870 | + help |
|---|
| 871 | + This option adds support for PROT_SAO mappings from userspace |
|---|
| 872 | + inside LPARs on supported CPUs. |
|---|
| 873 | + |
|---|
| 874 | + This may cause issues when performing guest migration from |
|---|
| 875 | + a CPU that supports SAO to one that does not. |
|---|
| 876 | + |
|---|
| 877 | + If unsure, say N here. |
|---|
| 878 | + |
|---|
| 772 | 879 | config PPC_COPRO_BASE |
|---|
| 773 | 880 | bool |
|---|
| 774 | | - default n |
|---|
| 775 | 881 | |
|---|
| 776 | 882 | config SCHED_SMT |
|---|
| 777 | 883 | bool "SMT (Hyperthreading) scheduler support" |
|---|
| .. | .. |
|---|
| 785 | 891 | bool "PowerPC denormalisation exception handling" |
|---|
| 786 | 892 | depends on PPC_BOOK3S_64 |
|---|
| 787 | 893 | default "y" if PPC_POWERNV |
|---|
| 788 | | - ---help--- |
|---|
| 894 | + help |
|---|
| 789 | 895 | Add support for handling denormalisation of single precision |
|---|
| 790 | 896 | values. Useful for bare metal only. If unsure say Y here. |
|---|
| 791 | 897 | |
|---|
| 792 | | -config CMDLINE_BOOL |
|---|
| 793 | | - bool "Default bootloader kernel arguments" |
|---|
| 794 | | - |
|---|
| 795 | 898 | config CMDLINE |
|---|
| 796 | 899 | string "Initial kernel command string" |
|---|
| 797 | | - depends on CMDLINE_BOOL |
|---|
| 798 | | - default "console=ttyS0,9600 console=tty0 root=/dev/sda2" |
|---|
| 900 | + default "" |
|---|
| 799 | 901 | help |
|---|
| 800 | 902 | On some platforms, there is currently no way for the boot loader to |
|---|
| 801 | 903 | pass arguments to the kernel. For these platforms, you can supply |
|---|
| 802 | 904 | some command-line options at build time by entering them here. In |
|---|
| 803 | 905 | most cases you will need to specify the root device here. |
|---|
| 804 | 906 | |
|---|
| 907 | +choice |
|---|
| 908 | + prompt "Kernel command line type" if CMDLINE != "" |
|---|
| 909 | + default CMDLINE_FROM_BOOTLOADER |
|---|
| 910 | + |
|---|
| 911 | +config CMDLINE_FROM_BOOTLOADER |
|---|
| 912 | + bool "Use bootloader kernel arguments if available" |
|---|
| 913 | + help |
|---|
| 914 | + Uses the command-line options passed by the boot loader. If |
|---|
| 915 | + the boot loader doesn't provide any, the default kernel command |
|---|
| 916 | + string provided in CMDLINE will be used. |
|---|
| 917 | + |
|---|
| 918 | +config CMDLINE_EXTEND |
|---|
| 919 | + bool "Extend bootloader kernel arguments" |
|---|
| 920 | + help |
|---|
| 921 | + The command-line arguments provided by the boot loader will be |
|---|
| 922 | + appended to the default kernel command string. |
|---|
| 923 | + |
|---|
| 805 | 924 | config CMDLINE_FORCE |
|---|
| 806 | 925 | bool "Always use the default kernel command string" |
|---|
| 807 | | - depends on CMDLINE_BOOL |
|---|
| 808 | 926 | help |
|---|
| 809 | 927 | Always use the default kernel command string, even if the boot |
|---|
| 810 | 928 | loader passes other arguments to the kernel. |
|---|
| 811 | 929 | This is useful if you cannot or don't want to change the |
|---|
| 812 | 930 | command-line options your boot loader passes to the kernel. |
|---|
| 931 | + |
|---|
| 932 | +endchoice |
|---|
| 813 | 933 | |
|---|
| 814 | 934 | config EXTRA_TARGETS |
|---|
| 815 | 935 | string "Additional default image types" |
|---|
| .. | .. |
|---|
| 828 | 948 | def_bool y |
|---|
| 829 | 949 | depends on ADB_PMU |
|---|
| 830 | 950 | |
|---|
| 831 | | -source kernel/power/Kconfig |
|---|
| 832 | | - |
|---|
| 833 | | -config SECCOMP |
|---|
| 834 | | - bool "Enable seccomp to safely compute untrusted bytecode" |
|---|
| 835 | | - depends on PROC_FS |
|---|
| 836 | | - default y |
|---|
| 837 | | - help |
|---|
| 838 | | - This kernel feature is useful for number crunching applications |
|---|
| 839 | | - that may need to compute untrusted bytecode during their |
|---|
| 840 | | - execution. By using pipes or other transports made available to |
|---|
| 841 | | - the process as file descriptors supporting the read/write |
|---|
| 842 | | - syscalls, it's possible to isolate those applications in |
|---|
| 843 | | - their own address space using seccomp. Once seccomp is |
|---|
| 844 | | - enabled via /proc/<pid>/seccomp, it cannot be disabled |
|---|
| 845 | | - and the task is only allowed to execute a few safe syscalls |
|---|
| 846 | | - defined by each seccomp mode. |
|---|
| 847 | | - |
|---|
| 848 | | - If unsure, say Y. Only embedded should say N here. |
|---|
| 951 | +source "kernel/power/Kconfig" |
|---|
| 849 | 952 | |
|---|
| 850 | 953 | config PPC_MEM_KEYS |
|---|
| 851 | 954 | prompt "PowerPC Memory Protection Keys" |
|---|
| .. | .. |
|---|
| 858 | 961 | page-based protections, but without requiring modification of the |
|---|
| 859 | 962 | page tables when an application changes protection domains. |
|---|
| 860 | 963 | |
|---|
| 861 | | - For details, see Documentation/vm/protection-keys.rst |
|---|
| 964 | + For details, see Documentation/core-api/protection-keys.rst |
|---|
| 862 | 965 | |
|---|
| 863 | 966 | If unsure, say y. |
|---|
| 967 | + |
|---|
| 968 | +config PPC_SECURE_BOOT |
|---|
| 969 | + prompt "Enable secure boot support" |
|---|
| 970 | + bool |
|---|
| 971 | + depends on PPC_POWERNV || PPC_PSERIES |
|---|
| 972 | + depends on IMA_ARCH_POLICY |
|---|
| 973 | + imply IMA_SECURE_AND_OR_TRUSTED_BOOT |
|---|
| 974 | + help |
|---|
| 975 | + Systems with firmware secure boot enabled need to define security |
|---|
| 976 | + policies to extend secure boot to the OS. This config allows a user |
|---|
| 977 | + to enable OS secure boot on systems that have firmware support for |
|---|
| 978 | + it. If in doubt say N. |
|---|
| 979 | + |
|---|
| 980 | +config PPC_SECVAR_SYSFS |
|---|
| 981 | + bool "Enable sysfs interface for POWER secure variables" |
|---|
| 982 | + default y |
|---|
| 983 | + depends on PPC_SECURE_BOOT |
|---|
| 984 | + depends on SYSFS |
|---|
| 985 | + help |
|---|
| 986 | + POWER secure variables are managed and controlled by firmware. |
|---|
| 987 | + These variables are exposed to userspace via sysfs to enable |
|---|
| 988 | + read/write operations on these variables. Say Y if you have |
|---|
| 989 | + secure boot enabled and want to expose variables to userspace. |
|---|
| 990 | + |
|---|
| 991 | +config PPC_RTAS_FILTER |
|---|
| 992 | + bool "Enable filtering of RTAS syscalls" |
|---|
| 993 | + default y |
|---|
| 994 | + depends on PPC_RTAS |
|---|
| 995 | + help |
|---|
| 996 | + The RTAS syscall API has security issues that could be used to |
|---|
| 997 | + compromise system integrity. This option enforces restrictions on the |
|---|
| 998 | + RTAS calls and arguments passed by userspace programs to mitigate |
|---|
| 999 | + these issues. |
|---|
| 1000 | + |
|---|
| 1001 | + Say Y unless you know what you are doing and the filter is causing |
|---|
| 1002 | + problems for you. |
|---|
| 864 | 1003 | |
|---|
| 865 | 1004 | endmenu |
|---|
| 866 | 1005 | |
|---|
| .. | .. |
|---|
| 881 | 1020 | have an IBM RS/6000 or pSeries machine, say Y. If you have an |
|---|
| 882 | 1021 | embedded board, consult your board documentation. |
|---|
| 883 | 1022 | |
|---|
| 884 | | -config ZONE_DMA |
|---|
| 885 | | - bool |
|---|
| 886 | | - default y |
|---|
| 887 | | - |
|---|
| 888 | 1023 | config GENERIC_ISA_DMA |
|---|
| 889 | 1024 | bool |
|---|
| 890 | 1025 | depends on ISA_DMA_API |
|---|
| .. | .. |
|---|
| 894 | 1029 | bool |
|---|
| 895 | 1030 | depends on PCI |
|---|
| 896 | 1031 | default y if 40x || 44x |
|---|
| 897 | | - default n |
|---|
| 898 | | - |
|---|
| 899 | | -config EISA |
|---|
| 900 | | - bool |
|---|
| 901 | 1032 | |
|---|
| 902 | 1033 | config SBUS |
|---|
| 903 | 1034 | bool |
|---|
| .. | .. |
|---|
| 906 | 1037 | bool |
|---|
| 907 | 1038 | |
|---|
| 908 | 1039 | config FSL_PCI |
|---|
| 909 | | - bool |
|---|
| 1040 | + bool |
|---|
| 1041 | + select ARCH_HAS_DMA_SET_MASK |
|---|
| 910 | 1042 | select PPC_INDIRECT_PCI |
|---|
| 911 | 1043 | select PCI_QUIRKS |
|---|
| 912 | 1044 | |
|---|
| .. | .. |
|---|
| 943 | 1075 | help |
|---|
| 944 | 1076 | Freescale General-purpose Timers support |
|---|
| 945 | 1077 | |
|---|
| 946 | | -# Yes MCA RS/6000s exist but Linux-PPC does not currently support any |
|---|
| 947 | | -config MCA |
|---|
| 948 | | - bool |
|---|
| 949 | | - |
|---|
| 950 | | -# Platforms that what PCI turned unconditionally just do select PCI |
|---|
| 951 | | -# in their config node. Platforms that want to choose at config |
|---|
| 952 | | -# time should select PPC_PCI_CHOICE |
|---|
| 953 | | -config PPC_PCI_CHOICE |
|---|
| 954 | | - bool |
|---|
| 955 | | - |
|---|
| 956 | | -config PCI |
|---|
| 957 | | - bool "PCI support" if PPC_PCI_CHOICE |
|---|
| 958 | | - default y if !40x && !CPM2 && !PPC_8xx && !PPC_83xx \ |
|---|
| 959 | | - && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON |
|---|
| 960 | | - default PCI_QSPAN if PPC_8xx |
|---|
| 961 | | - select GENERIC_PCI_IOMAP |
|---|
| 962 | | - help |
|---|
| 963 | | - Find out whether your system includes a PCI bus. PCI is the name of |
|---|
| 964 | | - a bus system, i.e. the way the CPU talks to the other stuff inside |
|---|
| 965 | | - your box. If you say Y here, the kernel will include drivers and |
|---|
| 966 | | - infrastructure code to support PCI bus devices. |
|---|
| 967 | | - |
|---|
| 968 | | -config PCI_DOMAINS |
|---|
| 969 | | - def_bool PCI |
|---|
| 970 | | - |
|---|
| 971 | | -config PCI_SYSCALL |
|---|
| 972 | | - def_bool PCI |
|---|
| 973 | | - |
|---|
| 974 | | -config PCI_QSPAN |
|---|
| 975 | | - bool "QSpan PCI" |
|---|
| 976 | | - depends on PPC_8xx |
|---|
| 977 | | - select PPC_I8259 |
|---|
| 978 | | - help |
|---|
| 979 | | - Say Y here if you have a system based on a Motorola 8xx-series |
|---|
| 980 | | - embedded processor with a QSPAN PCI interface, otherwise say N. |
|---|
| 981 | | - |
|---|
| 982 | 1078 | config PCI_8260 |
|---|
| 983 | 1079 | bool |
|---|
| 984 | 1080 | depends on PCI && 8260 |
|---|
| 985 | 1081 | select PPC_INDIRECT_PCI |
|---|
| 986 | 1082 | default y |
|---|
| 987 | 1083 | |
|---|
| 988 | | -source "drivers/pci/Kconfig" |
|---|
| 989 | | - |
|---|
| 990 | | -source "drivers/pcmcia/Kconfig" |
|---|
| 991 | | - |
|---|
| 992 | | -config HAS_RAPIDIO |
|---|
| 993 | | - bool |
|---|
| 994 | | - default n |
|---|
| 995 | | - |
|---|
| 996 | | -config RAPIDIO |
|---|
| 997 | | - tristate "RapidIO support" |
|---|
| 998 | | - depends on HAS_RAPIDIO || PCI |
|---|
| 999 | | - help |
|---|
| 1000 | | - If you say Y here, the kernel will include drivers and |
|---|
| 1001 | | - infrastructure code to support RapidIO interconnect devices. |
|---|
| 1002 | | - |
|---|
| 1003 | 1084 | config FSL_RIO |
|---|
| 1004 | 1085 | bool "Freescale Embedded SRIO Controller support" |
|---|
| 1005 | | - depends on RAPIDIO = y && HAS_RAPIDIO |
|---|
| 1086 | + depends on RAPIDIO = y && HAVE_RAPIDIO |
|---|
| 1006 | 1087 | default "n" |
|---|
| 1007 | | - ---help--- |
|---|
| 1088 | + help |
|---|
| 1008 | 1089 | Include support for RapidIO controller on Freescale embedded |
|---|
| 1009 | 1090 | processors (MPC8548, MPC8641, etc). |
|---|
| 1010 | | - |
|---|
| 1011 | | -source "drivers/rapidio/Kconfig" |
|---|
| 1012 | | - |
|---|
| 1013 | | -config PPC_RTAS_FILTER |
|---|
| 1014 | | - bool "Enable filtering of RTAS syscalls" |
|---|
| 1015 | | - default y |
|---|
| 1016 | | - depends on PPC_RTAS |
|---|
| 1017 | | - help |
|---|
| 1018 | | - The RTAS syscall API has security issues that could be used to |
|---|
| 1019 | | - compromise system integrity. This option enforces restrictions on the |
|---|
| 1020 | | - RTAS calls and arguments passed by userspace programs to mitigate |
|---|
| 1021 | | - these issues. |
|---|
| 1022 | | - |
|---|
| 1023 | | - Say Y unless you know what you are doing and the filter is causing |
|---|
| 1024 | | - problems for you. |
|---|
| 1025 | 1091 | |
|---|
| 1026 | 1092 | endmenu |
|---|
| 1027 | 1093 | |
|---|
| 1028 | 1094 | config NONSTATIC_KERNEL |
|---|
| 1029 | 1095 | bool |
|---|
| 1030 | | - default n |
|---|
| 1031 | 1096 | |
|---|
| 1032 | 1097 | menu "Advanced setup" |
|---|
| 1033 | 1098 | depends on PPC32 |
|---|
| .. | .. |
|---|
| 1084 | 1149 | select NONSTATIC_KERNEL |
|---|
| 1085 | 1150 | help |
|---|
| 1086 | 1151 | This option enables the kernel to be loaded at any page aligned |
|---|
| 1087 | | - physical address. The kernel creates a mapping from KERNELBASE to |
|---|
| 1152 | + physical address. The kernel creates a mapping from KERNELBASE to |
|---|
| 1088 | 1153 | the address where the kernel is loaded. The page size here implies |
|---|
| 1089 | 1154 | the TLB page size of the mapping for kernel on the particular platform. |
|---|
| 1090 | 1155 | Please refer to the init code for finding the TLB page size. |
|---|
| 1091 | 1156 | |
|---|
| 1092 | 1157 | DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE |
|---|
| 1093 | 1158 | kernel image, where the only restriction is the page aligned kernel |
|---|
| 1094 | | - load address. When this option is enabled, the compile time physical |
|---|
| 1159 | + load address. When this option is enabled, the compile time physical |
|---|
| 1095 | 1160 | address CONFIG_PHYSICAL_START is ignored. |
|---|
| 1096 | 1161 | |
|---|
| 1097 | 1162 | This option is overridden by CONFIG_RELOCATABLE |
|---|
| .. | .. |
|---|
| 1137 | 1202 | |
|---|
| 1138 | 1203 | config PHYSICAL_START |
|---|
| 1139 | 1204 | hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL |
|---|
| 1140 | | - default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !NONSTATIC_KERNEL |
|---|
| 1205 | + default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL |
|---|
| 1141 | 1206 | default "0x00000000" |
|---|
| 1142 | 1207 | |
|---|
| 1143 | 1208 | config PHYSICAL_ALIGN |
|---|
| .. | .. |
|---|
| 1161 | 1226 | config TASK_SIZE |
|---|
| 1162 | 1227 | hex "Size of user task space" if TASK_SIZE_BOOL |
|---|
| 1163 | 1228 | default "0x80000000" if PPC_8xx |
|---|
| 1229 | + default "0xb0000000" if PPC_BOOK3S_32 && STRICT_KERNEL_RWX |
|---|
| 1164 | 1230 | default "0xc0000000" |
|---|
| 1165 | | - |
|---|
| 1166 | | -config CONSISTENT_SIZE_BOOL |
|---|
| 1167 | | - bool "Set custom consistent memory pool size" |
|---|
| 1168 | | - depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE |
|---|
| 1169 | | - help |
|---|
| 1170 | | - This option allows you to set the size of the |
|---|
| 1171 | | - consistent memory pool. This pool of virtual memory |
|---|
| 1172 | | - is used to make consistent memory allocations. |
|---|
| 1173 | | - |
|---|
| 1174 | | -config CONSISTENT_SIZE |
|---|
| 1175 | | - hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL |
|---|
| 1176 | | - default "0x00200000" if NOT_COHERENT_CACHE |
|---|
| 1177 | | - |
|---|
| 1178 | | -config PIN_TLB |
|---|
| 1179 | | - bool "Pinned Kernel TLBs (860 ONLY)" |
|---|
| 1180 | | - depends on ADVANCED_OPTIONS && PPC_8xx && \ |
|---|
| 1181 | | - !DEBUG_PAGEALLOC && !STRICT_KERNEL_RWX |
|---|
| 1182 | | - |
|---|
| 1183 | | -config PIN_TLB_DATA |
|---|
| 1184 | | - bool "Pinned TLB for DATA" |
|---|
| 1185 | | - depends on PIN_TLB |
|---|
| 1186 | | - default y |
|---|
| 1187 | | - |
|---|
| 1188 | | -config PIN_TLB_IMMR |
|---|
| 1189 | | - bool "Pinned TLB for IMMR" |
|---|
| 1190 | | - depends on PIN_TLB |
|---|
| 1191 | | - default y |
|---|
| 1192 | | - |
|---|
| 1193 | | -config PIN_TLB_TEXT |
|---|
| 1194 | | - bool "Pinned TLB for TEXT" |
|---|
| 1195 | | - depends on PIN_TLB |
|---|
| 1196 | | - default y |
|---|
| 1197 | 1231 | endmenu |
|---|
| 1198 | 1232 | |
|---|
| 1199 | 1233 | if PPC64 |
|---|