1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2a0ae9c7cSArnd Bergmannsource "arch/powerpc/platforms/Kconfig.cputype" 317e638bcSJohannes Berg 4234a71a7Skerstin jonssonconfig 32BIT 5234a71a7Skerstin jonsson bool 6234a71a7Skerstin jonsson default y if PPC32 7234a71a7Skerstin jonsson 814cf11afSPaul Mackerrasconfig 64BIT 914cf11afSPaul Mackerras bool 1014cf11afSPaul Mackerras default y if PPC64 1114cf11afSPaul Mackerras 12a4520b25SChristophe Leroyconfig LIVEPATCH_64 13a4520b25SChristophe Leroy def_bool PPC64 14a4520b25SChristophe Leroy depends on LIVEPATCH 15a4520b25SChristophe Leroy 1614cf11afSPaul Mackerrasconfig MMU 1714cf11afSPaul Mackerras bool 1814cf11afSPaul Mackerras default y 1914cf11afSPaul Mackerras 209fea59bdSMichael Ellermanconfig ARCH_MMAP_RND_BITS_MAX 219fea59bdSMichael Ellerman # On Book3S 64, the default virtual address space for 64-bit processes 229fea59bdSMichael Ellerman # is 2^47 (128TB). As a maximum, allow randomisation to consume up to 239fea59bdSMichael Ellerman # 32T of address space (2^45), which should ensure a reasonable gap 249fea59bdSMichael Ellerman # between bottom-up and top-down allocations for applications that 259fea59bdSMichael Ellerman # consume "normal" amounts of address space. Book3S 64 only supports 64K 269fea59bdSMichael Ellerman # and 4K page sizes. 279fea59bdSMichael Ellerman default 29 if PPC_BOOK3S_64 && PPC_64K_PAGES # 29 = 45 (32T) - 16 (64K) 289fea59bdSMichael Ellerman default 33 if PPC_BOOK3S_64 # 33 = 45 (32T) - 12 (4K) 299fea59bdSMichael Ellerman # 309fea59bdSMichael Ellerman # On all other 64-bit platforms (currently only Book3E), the virtual 319fea59bdSMichael Ellerman # address space is 2^46 (64TB). Allow randomisation to consume up to 16T 329fea59bdSMichael Ellerman # of address space (2^44). Only 4K page sizes are supported. 339fea59bdSMichael Ellerman default 32 if 64BIT # 32 = 44 (16T) - 12 (4K) 349fea59bdSMichael Ellerman # 359fea59bdSMichael Ellerman # For 32-bit, use the compat values, as they're the same. 369fea59bdSMichael Ellerman default ARCH_MMAP_RND_COMPAT_BITS_MAX 379fea59bdSMichael Ellerman 389fea59bdSMichael Ellermanconfig ARCH_MMAP_RND_BITS_MIN 399fea59bdSMichael Ellerman # Allow randomisation to consume up to 1GB of address space (2^30). 409fea59bdSMichael Ellerman default 14 if 64BIT && PPC_64K_PAGES # 14 = 30 (1GB) - 16 (64K) 419fea59bdSMichael Ellerman default 18 if 64BIT # 18 = 30 (1GB) - 12 (4K) 429fea59bdSMichael Ellerman # 439fea59bdSMichael Ellerman # For 32-bit, use the compat values, as they're the same. 449fea59bdSMichael Ellerman default ARCH_MMAP_RND_COMPAT_BITS_MIN 459fea59bdSMichael Ellerman 469fea59bdSMichael Ellermanconfig ARCH_MMAP_RND_COMPAT_BITS_MAX 479fea59bdSMichael Ellerman # Total virtual address space for 32-bit processes is 2^31 (2GB). 489fea59bdSMichael Ellerman # Allow randomisation to consume up to 512MB of address space (2^29). 499fea59bdSMichael Ellerman default 11 if PPC_256K_PAGES # 11 = 29 (512MB) - 18 (256K) 509fea59bdSMichael Ellerman default 13 if PPC_64K_PAGES # 13 = 29 (512MB) - 16 (64K) 519fea59bdSMichael Ellerman default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K) 529fea59bdSMichael Ellerman default 17 # 17 = 29 (512MB) - 12 (4K) 539fea59bdSMichael Ellerman 549fea59bdSMichael Ellermanconfig ARCH_MMAP_RND_COMPAT_BITS_MIN 559fea59bdSMichael Ellerman # Total virtual address space for 32-bit processes is 2^31 (2GB). 569fea59bdSMichael Ellerman # Allow randomisation to consume up to 8MB of address space (2^23). 579fea59bdSMichael Ellerman default 5 if PPC_256K_PAGES # 5 = 23 (8MB) - 18 (256K) 589fea59bdSMichael Ellerman default 7 if PPC_64K_PAGES # 7 = 23 (8MB) - 16 (64K) 599fea59bdSMichael Ellerman default 9 if PPC_16K_PAGES # 9 = 23 (8MB) - 14 (16K) 609fea59bdSMichael Ellerman default 11 # 11 = 23 (8MB) - 12 (4K) 619fea59bdSMichael Ellerman 62551b81f2SMichael Ellermanconfig NR_IRQS 63551b81f2SMichael Ellerman int "Number of virtual interrupt numbers" 647b3b3de3SCédric Le Goater range 32 1048576 65551b81f2SMichael Ellerman default "512" 66551b81f2SMichael Ellerman help 67551b81f2SMichael Ellerman This defines the number of virtual interrupt numbers the kernel 68551b81f2SMichael Ellerman can manage. Virtual interrupt numbers are what you see in 69551b81f2SMichael Ellerman /proc/interrupts. If you configure your system to have too few, 70551b81f2SMichael Ellerman drivers will fail to load or worse - handle with care. 71551b81f2SMichael Ellerman 72ddd703caSNicholas Pigginconfig NMI_IPI 73ddd703caSNicholas Piggin bool 742104180aSNicholas Piggin depends on SMP && (DEBUGGER || KEXEC_CORE || HARDLOCKUP_DETECTOR) 75ddd703caSNicholas Piggin default y 76ddd703caSNicholas Piggin 7775eb767eSNicholas Pigginconfig PPC_WATCHDOG 7875eb767eSNicholas Piggin bool 7975eb767eSNicholas Piggin depends on HARDLOCKUP_DETECTOR 8075eb767eSNicholas Piggin depends on HAVE_HARDLOCKUP_DETECTOR_ARCH 8175eb767eSNicholas Piggin default y 8275eb767eSNicholas Piggin help 8375eb767eSNicholas Piggin This is a placeholder when the powerpc hardlockup detector 8475eb767eSNicholas Piggin watchdog is selected (arch/powerpc/kernel/watchdog.c). It is 85f8a4b277SColin Ian King selected via the generic lockup detector menu which is why we 8675eb767eSNicholas Piggin have no standalone config option for it here. 8775eb767eSNicholas Piggin 88fd3e0bbcSChristoph Hellwigconfig STACKTRACE_SUPPORT 89fd3e0bbcSChristoph Hellwig bool 90fd3e0bbcSChristoph Hellwig default y 91fd3e0bbcSChristoph Hellwig 92945feb17SBenjamin Herrenschmidtconfig LOCKDEP_SUPPORT 93945feb17SBenjamin Herrenschmidt bool 94945feb17SBenjamin Herrenschmidt default y 95945feb17SBenjamin Herrenschmidt 9695c354feSNick Pigginconfig GENERIC_LOCKBREAK 9795c354feSNick Piggin bool 9895c354feSNick Piggin default y 99fdc5569eSThomas Gleixner depends on SMP && PREEMPTION 10095c354feSNick Piggin 101e779b2f9SAkinobu Mitaconfig GENERIC_HWEIGHT 102e779b2f9SAkinobu Mita bool 103e779b2f9SAkinobu Mita default y 104e779b2f9SAkinobu Mita 10514cf11afSPaul Mackerrasconfig PPC 10614cf11afSPaul Mackerras bool 10714cf11afSPaul Mackerras default y 108a7d2475aSMichael Ellerman # 109a7d2475aSMichael Ellerman # Please keep this list sorted alphabetically. 110a7d2475aSMichael Ellerman # 111942fa985SYury Norov select ARCH_32BIT_OFF_T if PPC32 11291024b3cSAnshuman Khandual select ARCH_ENABLE_MEMORY_HOTPLUG 11391024b3cSAnshuman Khandual select ARCH_ENABLE_MEMORY_HOTREMOVE 114c6b05f4eSChristophe Leroy select ARCH_HAS_COPY_MC if PPC64 1156bf752daSChristophe Leroy select ARCH_HAS_DEBUG_VIRTUAL 116937c49d1SAneesh Kumar K.V select ARCH_HAS_DEBUG_VM_PGTABLE 117e0847283SChristophe Leroy select ARCH_HAS_DEBUG_WX if STRICT_KERNEL_RWX 118a7d2475aSMichael Ellerman select ARCH_HAS_DEVMEM_IS_ALLOWED 119c6b05f4eSChristophe Leroy select ARCH_HAS_DMA_MAP_DIRECT if PPC_PSERIES 120a7d2475aSMichael Ellerman select ARCH_HAS_ELF_RANDOMIZE 1216974f0c4SDaniel Micay select ARCH_HAS_FORTIFY_SOURCE 122a7d2475aSMichael Ellerman select ARCH_HAS_GCOV_PROFILE_ALL 123cbd34da7SChristoph Hellwig select ARCH_HAS_HUGEPD if HUGETLB_PAGE 124c6b05f4eSChristophe Leroy select ARCH_HAS_KCOV 1253ccfebedSMathieu Desnoyers select ARCH_HAS_MEMBARRIER_CALLBACKS 1262384b36fSNicholas Piggin select ARCH_HAS_MEMBARRIER_SYNC_CORE 127387e220aSNicholas Piggin select ARCH_HAS_MEMREMAP_COMPAT_ALIGN if PPC_64S_HASH_MMU 128c6b05f4eSChristophe Leroy select ARCH_HAS_MMIOWB if PPC64 129c6b05f4eSChristophe Leroy select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE 130c6b05f4eSChristophe Leroy select ARCH_HAS_PHYS_TO_DMA 131c6b05f4eSChristophe Leroy select ARCH_HAS_PMEM_API 132c6b05f4eSChristophe Leroy select ARCH_HAS_PTE_DEVMAP if PPC_BOOK3S_64 133c6b05f4eSChristophe Leroy select ARCH_HAS_PTE_SPECIAL 134b4645ffcSChristophe Leroy select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64 1351f9ad21cSRussell Currey select ARCH_HAS_SET_MEMORY 13668b44f94SChristophe Leroy select ARCH_HAS_STRICT_KERNEL_RWX if (PPC_BOOK3S || PPC_8xx || 40x) && !HIBERNATION 13749e3d8eaSChristophe Leroy select ARCH_HAS_STRICT_KERNEL_RWX if FSL_BOOKE && !HIBERNATION && !RANDOMIZE_BASE 138*0670010fSChristophe Leroy select ARCH_HAS_STRICT_MODULE_RWX if ARCH_HAS_STRICT_KERNEL_RWX 139a7d2475aSMichael Ellerman select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 140461cef2aSChristophe Leroy select ARCH_HAS_UACCESS_FLUSHCACHE 141a7d2475aSMichael Ellerman select ARCH_HAS_UBSAN_SANITIZE_ALL 142a7d2475aSMichael Ellerman select ARCH_HAVE_NMI_SAFE_CMPXCHG 143350e88baSMike Rapoport select ARCH_KEEP_MEMBLOCK 144b7e7c37bSMark Salter select ARCH_MIGHT_HAVE_PC_PARPORT 145c74e6d3dSMark Salter select ARCH_MIGHT_HAVE_PC_SERIO 1464ec591e5SChristophe Leroy select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX 147fdacae8aSChristophe Leroy select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT 148a1cdef04SChristophe Leroy select ARCH_STACKWALK 149a7d2475aSMichael Ellerman select ARCH_SUPPORTS_ATOMIC_RMW 15068b44f94SChristophe Leroy select ARCH_SUPPORTS_DEBUG_PAGEALLOC if PPC_BOOK3S || PPC_8xx || 40x 151a7d2475aSMichael Ellerman select ARCH_USE_BUILTIN_BSWAP 152a7d2475aSMichael Ellerman select ARCH_USE_CMPXCHG_LOCKREF if PPC64 153dce44566SAnshuman Khandual select ARCH_USE_MEMTEST 154aa65ff6bSNicholas Piggin select ARCH_USE_QUEUED_RWLOCKS if PPC_QUEUED_SPINLOCKS 155aa65ff6bSNicholas Piggin select ARCH_USE_QUEUED_SPINLOCKS if PPC_QUEUED_SPINLOCKS 156a7d2475aSMichael Ellerman select ARCH_WANT_IPC_PARSE_VERSION 15766acd460SNicholas Piggin select ARCH_WANT_IRQS_OFF_ACTIVATE_MM 15859612b24SNathan Chancellor select ARCH_WANT_LD_ORPHAN_WARN 15977e58496SPaul E. McKenney select ARCH_WEAK_RELEASE_ACQUIRE 160d812c0e1SStephen Rothwell select BINFMT_ELF 16110916706SShile Zhang select BUILDTIME_TABLE_SORT 162a7d2475aSMichael Ellerman select CLONE_BACKWARDS 1632eafc474SNicholas Piggin select CPUMASK_OFFSTACK if NR_CPUS >= 8192 164a7d2475aSMichael Ellerman select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN 165f1565c24SChristoph Hellwig select DMA_OPS_BYPASS if PPC64 166c6b05f4eSChristophe Leroy select DMA_OPS if PPC64 1670c0c5230SMichael Ellerman select DYNAMIC_FTRACE if FUNCTION_TRACER 168a7d2475aSMichael Ellerman select EDAC_ATOMIC_SCRUB 169a7d2475aSMichael Ellerman select EDAC_SUPPORT 170a7d2475aSMichael Ellerman select GENERIC_ATOMIC64 if PPC32 171a7d2475aSMichael Ellerman select GENERIC_CLOCKEVENTS_BROADCAST if SMP 172a7d2475aSMichael Ellerman select GENERIC_CMOS_UPDATE 173a7d2475aSMichael Ellerman select GENERIC_CPU_AUTOPROBE 174179ab1cbSMichael Ellerman select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC 175265c3491SChristophe Leroy select GENERIC_EARLY_IOREMAP 17674205b3fSChristophe Leroy select GENERIC_GETTIMEOFDAY 177a7d2475aSMichael Ellerman select GENERIC_IRQ_SHOW 178a7d2475aSMichael Ellerman select GENERIC_IRQ_SHOW_LEVEL 179eb01d42aSChristoph Hellwig select GENERIC_PCI_IOMAP if PCI 180e0847283SChristophe Leroy select GENERIC_PTDUMP 181a7d2475aSMichael Ellerman select GENERIC_SMP_IDLE_THREAD 182d4cfb113SPaul Mackerras select GENERIC_TIME_VSYSCALL 18374205b3fSChristophe Leroy select GENERIC_VDSO_TIME_NS 184a7d2475aSMichael Ellerman select HAVE_ARCH_AUDITSYSCALL 1858abddd96SNicholas Piggin select HAVE_ARCH_HUGE_VMALLOC if HAVE_ARCH_HUGE_VMAP 186a6a8f7c4SChristophe Leroy select HAVE_ARCH_HUGE_VMAP if PPC_RADIX_MMU || PPC_8xx 187a7d2475aSMichael Ellerman select HAVE_ARCH_JUMP_LABEL 188b0b3b2c7SChristophe Leroy select HAVE_ARCH_JUMP_LABEL_RELATIVE 189888468ceSChristophe Leroy select HAVE_ARCH_KASAN if PPC32 && PPC_PAGE_SHIFT <= 14 190888468ceSChristophe Leroy select HAVE_ARCH_KASAN_VMALLOC if PPC32 && PPC_PAGE_SHIFT <= 14 19168b44f94SChristophe Leroy select HAVE_ARCH_KFENCE if PPC_BOOK3S_32 || PPC_8xx || 40x 192c6b05f4eSChristophe Leroy select HAVE_ARCH_KGDB 1939fea59bdSMichael Ellerman select HAVE_ARCH_MMAP_RND_BITS 1949fea59bdSMichael Ellerman select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT 19520e07af7SFinn Thain select HAVE_ARCH_NVRAM_OPS 196a7d2475aSMichael Ellerman select HAVE_ARCH_SECCOMP_FILTER 197a7d2475aSMichael Ellerman select HAVE_ARCH_TRACEHOOK 1982ff2b7ecSMasahiro Yamada select HAVE_ASM_MODVERSIONS 199a7d2475aSMichael Ellerman select HAVE_CONTEXT_TRACKING if PPC64 200c6b05f4eSChristophe Leroy select HAVE_C_RECORDMCOUNT 201a7d2475aSMichael Ellerman select HAVE_DEBUG_KMEMLEAK 202a7d2475aSMichael Ellerman select HAVE_DEBUG_STACKOVERFLOW 203a7d2475aSMichael Ellerman select HAVE_DYNAMIC_FTRACE 20440b035efSChristophe Leroy select HAVE_DYNAMIC_FTRACE_WITH_ARGS if MPROFILE_KERNEL || PPC32 2057dfbfb87SChristophe Leroy select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL || PPC32 20651c66ad8SChristophe Leroy select HAVE_EBPF_JIT 207a7d2475aSMichael Ellerman select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU) 20867a929e0SChristoph Hellwig select HAVE_FAST_GUP 209a7d2475aSMichael Ellerman select HAVE_FTRACE_MCOUNT_RECORD 2107cd01b08SNaveen N. Rao select HAVE_FUNCTION_ERROR_INJECTION 211a7d2475aSMichael Ellerman select HAVE_FUNCTION_GRAPH_TRACER 212a7d2475aSMichael Ellerman select HAVE_FUNCTION_TRACER 2138034c2fbSMasahiro Yamada select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC 214ab037dd8SChristophe Leroy select HAVE_GENERIC_VDSO 215c6b05f4eSChristophe Leroy select HAVE_HARDLOCKUP_DETECTOR_ARCH if PPC_BOOK3S_64 && SMP 216c6b05f4eSChristophe Leroy select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH 217a7d2475aSMichael Ellerman select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx) 218a7d2475aSMichael Ellerman select HAVE_IOREMAP_PROT 219a7d2475aSMichael Ellerman select HAVE_IRQ_EXIT_ON_IRQ_STACK 220c6b05f4eSChristophe Leroy select HAVE_IRQ_TIME_ACCOUNTING 221a7d2475aSMichael Ellerman select HAVE_KERNEL_GZIP 2221cc9a21bSChristophe Leroy select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE 223264bffadSChristophe Leroy select HAVE_KERNEL_LZO if DEFAULT_UIMAGE 224423bfc69SChristian Lamparter select HAVE_KERNEL_XZ if PPC_BOOK3S || 44x 225a7d2475aSMichael Ellerman select HAVE_KPROBES 226ead514d5SNaveen N. Rao select HAVE_KPROBES_ON_FTRACE 227a7d2475aSMichael Ellerman select HAVE_KRETPROBES 2284c1d9bb0SNicholas Piggin select HAVE_LD_DEAD_CODE_DATA_ELIMINATION 229a4520b25SChristophe Leroy select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS 230a7d2475aSMichael Ellerman select HAVE_MOD_ARCH_SPECIFIC 2312104180aSNicholas Piggin select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) 232eacf4c02SChristophe Leroy select HAVE_OPTPROBES 233a7d2475aSMichael Ellerman select HAVE_PERF_EVENTS 234a7d2475aSMichael Ellerman select HAVE_PERF_EVENTS_NMI if PPC64 235a7d2475aSMichael Ellerman select HAVE_PERF_REGS 236a7d2475aSMichael Ellerman select HAVE_PERF_USER_STACK_DUMP 237a7d2475aSMichael Ellerman select HAVE_REGS_AND_STACK_ACCESS_API 238accdd093SChristophe Leroy select HAVE_RELIABLE_STACKTRACE 239c6b05f4eSChristophe Leroy select HAVE_RSEQ 2407ecd19cfSKefeng Wang select HAVE_SETUP_PER_CPU_AREA if PPC64 241cd1a41ceSThomas Gleixner select HAVE_SOFTIRQ_ON_OWN_STACK 242c6b05f4eSChristophe Leroy select HAVE_STACKPROTECTOR if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2) 243c6b05f4eSChristophe Leroy select HAVE_STACKPROTECTOR if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13) 2445c810cedSChristophe Leroy select HAVE_STATIC_CALL if PPC32 245a7d2475aSMichael Ellerman select HAVE_SYSCALL_TRACEPOINTS 246a7d2475aSMichael Ellerman select HAVE_VIRT_CPU_ACCOUNTING 247f96271ceSMichael Ellerman select HUGETLB_PAGE_SIZE_VARIABLE if PPC_BOOK3S_64 && HUGETLB_PAGE 248a4ce5a48SChristoph Hellwig select IOMMU_HELPER if PPC64 249a7d2475aSMichael Ellerman select IRQ_DOMAIN 250a7d2475aSMichael Ellerman select IRQ_FORCED_THREADING 251c6b05f4eSChristophe Leroy select MMU_GATHER_PAGE_SIZE 252c6b05f4eSChristophe Leroy select MMU_GATHER_RCU_TABLE_FREE 253a7d2475aSMichael Ellerman select MODULES_USE_ELF_RELA 25406832fc0SChristoph Hellwig select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE 2557ecd19cfSKefeng Wang select NEED_PER_CPU_EMBED_FIRST_CHUNK if PPC64 2567ecd19cfSKefeng Wang select NEED_PER_CPU_PAGE_FIRST_CHUNK if PPC64 25786596f0aSChristoph Hellwig select NEED_SG_DMA_LENGTH 25810f85f43SStephen Rothwell select OF 259dabf6b36SMichael Ellerman select OF_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE 260e6ce1324SStephen Neuendorffer select OF_EARLY_FLATTREE 261a7d2475aSMichael Ellerman select OLD_SIGACTION if PPC32 262a7d2475aSMichael Ellerman select OLD_SIGSUSPEND 2632eac9c2dSChristoph Hellwig select PCI_DOMAINS if PCI 264981aa1d3SThomas Gleixner select PCI_MSI_ARCH_FALLBACKS if PCI_MSI 26520f1b79dSChristoph Hellwig select PCI_SYSCALL if PCI 266a278e7eaSMichael Neuling select PPC_DAWR if PPC64 2676e8cef38SArnd Bergmann select RTC_LIB 268a7d2475aSMichael Ellerman select SPARSE_IRQ 269c35717c7SRussell Currey select STRICT_KERNEL_RWX if STRICT_MODULE_RWX 2707ac57a89SCatalin Marinas select SYSCTL_EXCEPTION_TRACE 271ed1cd6deSChristophe Leroy select THREAD_INFO_IN_TASK 2724aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 2734febd95aSStephen Rothwell select VIRT_TO_BUS if !PPC64 274a7d2475aSMichael Ellerman # 275a7d2475aSMichael Ellerman # Please keep this list sorted alphabetically. 276a7d2475aSMichael Ellerman # 27714cf11afSPaul Mackerras 278179ab1cbSMichael Ellermanconfig PPC_BARRIER_NOSPEC 279179ab1cbSMichael Ellerman bool 280179ab1cbSMichael Ellerman default y 281ebcd1bfcSDiana Craciun depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E 282179ab1cbSMichael Ellerman 28314cf11afSPaul Mackerrasconfig EARLY_PRINTK 28414cf11afSPaul Mackerras bool 28551d3082fSBenjamin Herrenschmidt default y 28614cf11afSPaul Mackerras 287b71d47c1SJason Baronconfig PANIC_TIMEOUT 288b71d47c1SJason Baron int 289b71d47c1SJason Baron default 180 290b71d47c1SJason Baron 29114cf11afSPaul Mackerrasconfig COMPAT 2926e944aedSMichal Suchanek bool "Enable support for 32bit binaries" 2936e944aedSMichal Suchanek depends on PPC64 2946fcb5741SNick Desaulniers depends on !CC_IS_CLANG || CLANG_VERSION >= 120000 2956e944aedSMichal Suchanek default y if !CPU_LITTLE_ENDIAN 29648b25c43SChris Metcalf select ARCH_WANT_OLD_COMPAT_IPC 29709a4d5d0SAl Viro select COMPAT_OLD_SIGACTION 29814cf11afSPaul Mackerras 29914cf11afSPaul Mackerrasconfig SYSVIPC_COMPAT 30014cf11afSPaul Mackerras bool 30114cf11afSPaul Mackerras depends on COMPAT && SYSVIPC 30214cf11afSPaul Mackerras default y 30314cf11afSPaul Mackerras 304ae1e9130SIngo Molnarconfig SCHED_OMIT_FRAME_POINTER 30514cf11afSPaul Mackerras bool 30614cf11afSPaul Mackerras default y 30714cf11afSPaul Mackerras 30814cf11afSPaul Mackerrasconfig ARCH_MAY_HAVE_PC_FDC 30914cf11afSPaul Mackerras bool 3103484a31fSPranith Kumar default PCI 31114cf11afSPaul Mackerras 31208264cbcSKumar Galaconfig PPC_UDBG_16550 31308264cbcSKumar Gala bool 31408264cbcSKumar Gala 31508264cbcSKumar Galaconfig GENERIC_TBSYNC 31608264cbcSKumar Gala bool 31708264cbcSKumar Gala default y if PPC32 && SMP 31808264cbcSKumar Gala 319b7472e17SMichael Ellermanconfig AUDIT_ARCH 320b7472e17SMichael Ellerman bool 321b7472e17SMichael Ellerman default y 322b7472e17SMichael Ellerman 32373c9ceabSJeremy Fitzhardingeconfig GENERIC_BUG 32473c9ceabSJeremy Fitzhardinge bool 32573c9ceabSJeremy Fitzhardinge default y 32673c9ceabSJeremy Fitzhardinge depends on BUG 32773c9ceabSJeremy Fitzhardinge 3281baa1f70SJordan Nietheconfig GENERIC_BUG_RELATIVE_POINTERS 3291baa1f70SJordan Niethe def_bool y 3301baa1f70SJordan Niethe depends on GENERIC_BUG 3311baa1f70SJordan Niethe 332b3028878SJohannes Bergconfig SYS_SUPPORTS_APM_EMULATION 33358da10bbSKumar Gala default y if PMAC_APM_EMU 334b3028878SJohannes Berg bool 335b3028878SJohannes Berg 3366c5b59b9SDavid Gibsonconfig EPAPR_BOOT 3376c5b59b9SDavid Gibson bool 3386c5b59b9SDavid Gibson help 3396c5b59b9SDavid Gibson Used to allow a board to specify it wants an ePAPR compliant wrapper. 3406c5b59b9SDavid Gibson 341f4fc4a5bSKumar Galaconfig DEFAULT_UIMAGE 342f4fc4a5bSKumar Gala bool 343f4fc4a5bSKumar Gala help 344f4fc4a5bSKumar Gala Used to allow a board to specify it wants a uImage built by default 345f4fc4a5bSKumar Gala 346801e4062SJohannes Bergconfig ARCH_HIBERNATION_POSSIBLE 347801e4062SJohannes Berg bool 348543b9fd3SJohannes Berg default y 349543b9fd3SJohannes Berg 350f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE 351f4cb5700SJohannes Berg def_bool y 3524ffd6952SAnton Vorontsov depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \ 353d0832a75SZhao Chenhui (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \ 354d0832a75SZhao Chenhui || 44x || 40x 355f4cb5700SJohannes Berg 3569ca12ac0SNicholas Pigginconfig ARCH_SUSPEND_NONZERO_CPU 3579ca12ac0SNicholas Piggin def_bool y 3589ca12ac0SNicholas Piggin depends on PPC_POWERNV || PPC_PSERIES 3599ca12ac0SNicholas Piggin 3604c75a6f4SBenjamin Herrenschmidtconfig PPC_DCR_NATIVE 3614c75a6f4SBenjamin Herrenschmidt bool 3624c75a6f4SBenjamin Herrenschmidt 3634c75a6f4SBenjamin Herrenschmidtconfig PPC_DCR_MMIO 3644c75a6f4SBenjamin Herrenschmidt bool 3654c75a6f4SBenjamin Herrenschmidt 3664c75a6f4SBenjamin Herrenschmidtconfig PPC_DCR 3674c75a6f4SBenjamin Herrenschmidt bool 3684c75a6f4SBenjamin Herrenschmidt depends on PPC_DCR_NATIVE || PPC_DCR_MMIO 3694c75a6f4SBenjamin Herrenschmidt default y 3704c75a6f4SBenjamin Herrenschmidt 3714c9d2800SBenjamin Herrenschmidtconfig PPC_OF_PLATFORM_PCI 3724c9d2800SBenjamin Herrenschmidt bool 373373a6da1SStephen Rothwell depends on PCI 3744c9d2800SBenjamin Herrenschmidt depends on PPC64 # not supported on 32 bits yet 3754c9d2800SBenjamin Herrenschmidt 3768b7b80b9SAnanth N Mavinakayanahalliconfig ARCH_SUPPORTS_UPROBES 3778b7b80b9SAnanth N Mavinakayanahalli def_bool y 3788b7b80b9SAnanth N Mavinakayanahalli 379172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_REGS 380172ae2e7SDave Kleikamp bool 381172ae2e7SDave Kleikamp depends on 40x || BOOKE 382172ae2e7SDave Kleikamp default y 383172ae2e7SDave Kleikamp 384172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_IACS 385172ae2e7SDave Kleikamp int 386172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS 387172ae2e7SDave Kleikamp default 4 if 44x 388172ae2e7SDave Kleikamp default 2 389172ae2e7SDave Kleikamp 390172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_DACS 391172ae2e7SDave Kleikamp int 392172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS 393172ae2e7SDave Kleikamp default 2 394172ae2e7SDave Kleikamp 395172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_DVCS 396172ae2e7SDave Kleikamp int 397172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS 398172ae2e7SDave Kleikamp default 2 if 44x 399172ae2e7SDave Kleikamp default 0 400172ae2e7SDave Kleikamp 401172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_DAC_RANGE 402172ae2e7SDave Kleikamp bool 403172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS && 44x 404172ae2e7SDave Kleikamp default y 405172ae2e7SDave Kleikamp 406a278e7eaSMichael Neulingconfig PPC_DAWR 407a278e7eaSMichael Neuling bool 408a278e7eaSMichael Neuling 40906ef42a1SKirill A. Shutemovconfig PGTABLE_LEVELS 41006ef42a1SKirill A. Shutemov int 41106ef42a1SKirill A. Shutemov default 2 if !PPC64 41206ef42a1SKirill A. Shutemov default 4 41306ef42a1SKirill A. Shutemov 414a2d2e1ecSBenjamin Herrenschmidtsource "arch/powerpc/sysdev/Kconfig" 4154330f5daSKumar Galasource "arch/powerpc/platforms/Kconfig" 41614cf11afSPaul Mackerras 41714cf11afSPaul Mackerrasmenu "Kernel options" 41814cf11afSPaul Mackerras 41914cf11afSPaul Mackerrasconfig HIGHMEM 42014cf11afSPaul Mackerras bool "High memory support" 42114cf11afSPaul Mackerras depends on PPC32 42247da42b2SThomas Gleixner select KMAP_LOCAL 42314cf11afSPaul Mackerras 4248636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz" 42514cf11afSPaul Mackerras 42614cf11afSPaul Mackerrasconfig MATH_EMULATION 42714cf11afSPaul Mackerras bool "Math emulation" 42853d143feSPaul Mackerras depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE || PPC_MICROWATT 429b6254cedSChristophe Leroy select PPC_FPU_REGS 4304f44e8aeSEnrico Weigelt, metux IT consult help 43114cf11afSPaul Mackerras Some PowerPC chips designed for embedded applications do not have 43214cf11afSPaul Mackerras a floating-point unit and therefore do not implement the 43314cf11afSPaul Mackerras floating-point instructions in the PowerPC instruction set. If you 43414cf11afSPaul Mackerras say Y here, the kernel will include code to emulate a floating-point 43514cf11afSPaul Mackerras unit, which will allow programs that use floating-point 43614cf11afSPaul Mackerras instructions to run. 43714cf11afSPaul Mackerras 4384e63f8edSBenjamin Herrenschmidt This is also useful to emulate missing (optional) instructions 4394e63f8edSBenjamin Herrenschmidt such as fsqrt on cores that do have an FPU but do not implement 4404e63f8edSBenjamin Herrenschmidt them (such as Freescale BookE). 4414e63f8edSBenjamin Herrenschmidt 442e05c0e81SKevin Haochoice 443e05c0e81SKevin Hao prompt "Math emulation options" 444e05c0e81SKevin Hao default MATH_EMULATION_FULL 445e05c0e81SKevin Hao depends on MATH_EMULATION 446e05c0e81SKevin Hao 447e05c0e81SKevin Haoconfig MATH_EMULATION_FULL 448e05c0e81SKevin Hao bool "Emulate all the floating point instructions" 4494f44e8aeSEnrico Weigelt, metux IT consult help 450e05c0e81SKevin Hao Select this option will enable the kernel to support to emulate 451e05c0e81SKevin Hao all the floating point instructions. If your SoC doesn't have 452e05c0e81SKevin Hao a FPU, you should select this. 453e05c0e81SKevin Hao 454e05c0e81SKevin Haoconfig MATH_EMULATION_HW_UNIMPLEMENTED 455e05c0e81SKevin Hao bool "Just emulate the FPU unimplemented instructions" 4564f44e8aeSEnrico Weigelt, metux IT consult help 457e05c0e81SKevin Hao Select this if you know there does have a hardware FPU on your 458e05c0e81SKevin Hao SoC, but some floating point instructions are not implemented by that. 459e05c0e81SKevin Hao 460e05c0e81SKevin Haoendchoice 461e05c0e81SKevin Hao 4623d72bbc4SMichael Neulingconfig PPC_TRANSACTIONAL_MEM 4633d72bbc4SMichael Neuling bool "Transactional Memory support for POWERPC" 4643d72bbc4SMichael Neuling depends on PPC_BOOK3S_64 4653d72bbc4SMichael Neuling depends on SMP 4667b37a123SMichael Neuling select ALTIVEC 4677b37a123SMichael Neuling select VSX 4684f44e8aeSEnrico Weigelt, metux IT consult help 4693d72bbc4SMichael Neuling Support user-mode Transactional Memory on POWERPC. 4703d72bbc4SMichael Neuling 471013a53f2SAnshuman Khandualconfig PPC_UV 472013a53f2SAnshuman Khandual bool "Ultravisor support" 473013a53f2SAnshuman Khandual depends on KVM_BOOK3S_HV_POSSIBLE 474a2db55ddSBharata B Rao depends on DEVICE_PRIVATE 475013a53f2SAnshuman Khandual default n 476013a53f2SAnshuman Khandual help 477013a53f2SAnshuman Khandual This option paravirtualizes the kernel to run in POWER platforms that 478013a53f2SAnshuman Khandual supports the Protected Execution Facility (PEF). On such platforms, 479013a53f2SAnshuman Khandual the ultravisor firmware runs at a privilege level above the 480013a53f2SAnshuman Khandual hypervisor. 481013a53f2SAnshuman Khandual 482013a53f2SAnshuman Khandual If unsure, say "N". 483013a53f2SAnshuman Khandual 484951eedebSNicholas Pigginconfig LD_HEAD_STUB_CATCH 485951eedebSNicholas Piggin bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT 486951eedebSNicholas Piggin depends on PPC64 487951eedebSNicholas Piggin help 488951eedebSNicholas Piggin Very large kernels can cause linker branch stubs to be generated by 489951eedebSNicholas Piggin code in head_64.S, which moves the head text sections out of their 490951eedebSNicholas Piggin specified location. This option can work around the problem. 491951eedebSNicholas Piggin 492951eedebSNicholas Piggin If unsure, say "N". 493951eedebSNicholas Piggin 4948c50b72aSTorsten Duweconfig MPROFILE_KERNEL 49557b3ed94SNaveen N. Rao depends on PPC64 && CPU_LITTLE_ENDIAN && FUNCTION_TRACER 496abba7597SNicholas Piggin def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) 4978c50b72aSTorsten Duwe 49814cf11afSPaul Mackerrasconfig HOTPLUG_CPU 49914cf11afSPaul Mackerras bool "Support for enabling/disabling CPUs" 50040b31360SStephen Rothwell depends on SMP && (PPC_PSERIES || \ 5012f4f1f81Schenhui zhao PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE) 5024f44e8aeSEnrico Weigelt, metux IT consult help 50314cf11afSPaul Mackerras Say Y here to be able to disable and re-enable individual 50414cf11afSPaul Mackerras CPUs at runtime on SMP machines. 50514cf11afSPaul Mackerras 50614cf11afSPaul Mackerras Say N if you are unsure. 50714cf11afSPaul Mackerras 508aa65ff6bSNicholas Pigginconfig PPC_QUEUED_SPINLOCKS 509c9f34013SNicholas Piggin bool "Queued spinlocks" if EXPERT 510aa65ff6bSNicholas Piggin depends on SMP 511c9f34013SNicholas Piggin default PPC_BOOK3S_64 512aa65ff6bSNicholas Piggin help 513aa65ff6bSNicholas Piggin Say Y here to use queued spinlocks which give better scalability and 514aa65ff6bSNicholas Piggin fairness on large SMP and NUMA systems without harming single threaded 515aa65ff6bSNicholas Piggin performance. 516aa65ff6bSNicholas Piggin 51712633e80SNathan Fontenotconfig ARCH_CPU_PROBE_RELEASE 51812633e80SNathan Fontenot def_bool y 51912633e80SNathan Fontenot depends on HOTPLUG_CPU 52012633e80SNathan Fontenot 521f2296a3dSMahesh Salgaonkarconfig PPC64_SUPPORTS_MEMORY_FAILURE 522f2296a3dSMahesh Salgaonkar bool "Add support for memory hwpoison" 523f2296a3dSMahesh Salgaonkar depends on PPC_BOOK3S_64 524f2296a3dSMahesh Salgaonkar default "y" if PPC_POWERNV 525f2296a3dSMahesh Salgaonkar select ARCH_SUPPORTS_MEMORY_FAILURE 526f2296a3dSMahesh Salgaonkar 52714cf11afSPaul Mackerrasconfig KEXEC 528642e56ffSKees Cook bool "kexec system call" 52996eea642STiejun Chen depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) || PPC_BOOK3E 5302965faa5SDave Young select KEXEC_CORE 53114cf11afSPaul Mackerras help 53214cf11afSPaul Mackerras kexec is a system call that implements the ability to shutdown your 53314cf11afSPaul Mackerras current kernel, and to start another kernel. It is like a reboot 5341f1332f7SMatt LaPlante but it is independent of the system firmware. And like a reboot 53514cf11afSPaul Mackerras you can start any kernel with it, not just Linux. 53614cf11afSPaul Mackerras 5371f1332f7SMatt LaPlante The name comes from the similarity to the exec system call. 53814cf11afSPaul Mackerras 53914cf11afSPaul Mackerras It is an ongoing process to be certain the hardware in a machine 54014cf11afSPaul Mackerras is properly shutdown, so do not be surprised if this code does not 541bf220695SGeert Uytterhoeven initially work for you. As of this writing the exact hardware 542bf220695SGeert Uytterhoeven interface is strongly in flux, so no good recommendation can be 543bf220695SGeert Uytterhoeven made. 54414cf11afSPaul Mackerras 54580f60e50SThiago Jung Bauermannconfig KEXEC_FILE 54680f60e50SThiago Jung Bauermann bool "kexec file based system call" 54780f60e50SThiago Jung Bauermann select KEXEC_CORE 54839652741SLakshmi Ramasubramanian select HAVE_IMA_KEXEC if IMA 54980f60e50SThiago Jung Bauermann select BUILD_BIN2C 550175fca3bSSven Schnelle select KEXEC_ELF 55180f60e50SThiago Jung Bauermann depends on PPC64 55280f60e50SThiago Jung Bauermann depends on CRYPTO=y 55380f60e50SThiago Jung Bauermann depends on CRYPTO_SHA256=y 55480f60e50SThiago Jung Bauermann help 55580f60e50SThiago Jung Bauermann This is a new version of the kexec system call. This call is 55680f60e50SThiago Jung Bauermann file based and takes in file descriptors as system call arguments 55780f60e50SThiago Jung Bauermann for kernel and initramfs as opposed to a list of segments as is the 55880f60e50SThiago Jung Bauermann case for the older kexec call. 55980f60e50SThiago Jung Bauermann 560b799a09fSAKASHI Takahiroconfig ARCH_HAS_KEXEC_PURGATORY 561b799a09fSAKASHI Takahiro def_bool KEXEC_FILE 562b799a09fSAKASHI Takahiro 5634c91bd6eSKevin Haoconfig RELOCATABLE 5644c91bd6eSKevin Hao bool "Build a relocatable kernel" 565084a275eSNicholas Piggin depends on PPC64 || (FLATMEM && (44x || FSL_BOOKE)) 5664c91bd6eSKevin Hao select NONSTATIC_KERNEL 56771810db2SArd Biesheuvel select MODULE_REL_CRCS if MODVERSIONS 5684c91bd6eSKevin Hao help 5694c91bd6eSKevin Hao This builds a kernel image that is capable of running at the 5704c91bd6eSKevin Hao location the kernel is loaded at. For ppc32, there is no any 5714c91bd6eSKevin Hao alignment restrictions, and this feature is a superset of 5724c91bd6eSKevin Hao DYNAMIC_MEMSTART and hence overrides it. For ppc64, we should use 5734c91bd6eSKevin Hao 16k-aligned base address. The kernel is linked as a 5744c91bd6eSKevin Hao position-independent executable (PIE) and contains dynamic relocations 5754c91bd6eSKevin Hao which are processed early in the bootup process. 5764c91bd6eSKevin Hao 5774c91bd6eSKevin Hao One use is for the kexec on panic case where the recovery kernel 5784c91bd6eSKevin Hao must live at a different physical address than the primary 5794c91bd6eSKevin Hao kernel. 5804c91bd6eSKevin Hao 5814c91bd6eSKevin Hao Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address 5824c91bd6eSKevin Hao it has been loaded at and the compile time physical addresses 5834c91bd6eSKevin Hao CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START 5844c91bd6eSKevin Hao setting can still be useful to bootwrappers that need to know the 5854c91bd6eSKevin Hao load address of the kernel (eg. u-boot/mkimage). 5864c91bd6eSKevin Hao 5872b0e86ccSJason Yanconfig RANDOMIZE_BASE 5882b0e86ccSJason Yan bool "Randomize the address of the kernel image" 5892b0e86ccSJason Yan depends on (FSL_BOOKE && FLATMEM && PPC32) 5902b0e86ccSJason Yan depends on RELOCATABLE 5912b0e86ccSJason Yan help 5922b0e86ccSJason Yan Randomizes the virtual address at which the kernel image is 5932b0e86ccSJason Yan loaded, as a security feature that deters exploit attempts 5942b0e86ccSJason Yan relying on knowledge of the location of kernel internals. 5952b0e86ccSJason Yan 5962b0e86ccSJason Yan If unsure, say Y. 5972b0e86ccSJason Yan 59870839d20SNicholas Pigginconfig RELOCATABLE_TEST 59970839d20SNicholas Piggin bool "Test relocatable kernel" 60070839d20SNicholas Piggin depends on (PPC64 && RELOCATABLE) 60170839d20SNicholas Piggin help 60270839d20SNicholas Piggin This runs the relocatable kernel at the address it was initially 60370839d20SNicholas Piggin loaded at, which tends to be non-zero and therefore test the 60470839d20SNicholas Piggin relocation code. 60570839d20SNicholas Piggin 606e8625d46SHaren Myneniconfig CRASH_DUMP 60722bd0177SHari Bathini bool "Build a dump capture kernel" 608be34fff0SChristophe Leroy depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP) 609084a275eSNicholas Piggin select RELOCATABLE if PPC64 || 44x || FSL_BOOKE 610e8625d46SHaren Myneni help 61122bd0177SHari Bathini Build a kernel suitable for use as a dump capture kernel. 61254622f10SMohan Kumar M The same kernel binary can be used as production kernel and dump 61354622f10SMohan Kumar M capture kernel. 614e8625d46SHaren Myneni 615eb39c880SMahesh Salgaonkarconfig FA_DUMP 616eb39c880SMahesh Salgaonkar bool "Firmware-assisted dump" 61741df5928SHari Bathini depends on PPC64 && (PPC_RTAS || PPC_POWERNV) 61822bd0177SHari Bathini select CRASH_CORE 61922bd0177SHari Bathini select CRASH_DUMP 620242f271cSManish Ahuja help 621eb39c880SMahesh Salgaonkar A robust mechanism to get reliable kernel crash dump with 622eb39c880SMahesh Salgaonkar assistance from firmware. This approach does not use kexec, 62322bd0177SHari Bathini instead firmware assists in booting the capture kernel 624eb39c880SMahesh Salgaonkar while preserving memory contents. Firmware-assisted dump 625eb39c880SMahesh Salgaonkar is meant to be a kdump replacement offering robustness and 626eb39c880SMahesh Salgaonkar speed not possible without system firmware assistance. 627242f271cSManish Ahuja 62841df5928SHari Bathini If unsure, say "y". Only special kernels like petitboot may 62941df5928SHari Bathini need to say "N" here. 630242f271cSManish Ahuja 631bec53196SHari Bathiniconfig PRESERVE_FA_DUMP 632bec53196SHari Bathini bool "Preserve Firmware-assisted dump" 633bec53196SHari Bathini depends on PPC64 && PPC_POWERNV && !FA_DUMP 634bec53196SHari Bathini help 635bec53196SHari Bathini On a kernel with FA_DUMP disabled, this option helps to preserve 636bec53196SHari Bathini crash data from a previously crash'ed kernel. Useful when the next 637bec53196SHari Bathini memory preserving kernel boot would process this crash data. 638bec53196SHari Bathini Petitboot kernel is the typical usecase for this option. 639bec53196SHari Bathini 6406f713d18SHari Bathiniconfig OPAL_CORE 6416f713d18SHari Bathini bool "Export OPAL memory as /sys/firmware/opal/core" 6426f713d18SHari Bathini depends on PPC64 && PPC_POWERNV 6436f713d18SHari Bathini help 6446f713d18SHari Bathini This option uses the MPIPL support in firmware to provide an 6456f713d18SHari Bathini ELF core of OPAL memory after a crash. The ELF core is exported 6466f713d18SHari Bathini as /sys/firmware/opal/core file which is helpful in debugging 6476f713d18SHari Bathini OPAL crashes using GDB. 64814cf11afSPaul Mackerras 64914cf11afSPaul Mackerrasconfig IRQ_ALL_CPUS 65014cf11afSPaul Mackerras bool "Distribute interrupts on all CPUs by default" 6516cf09b9dSPaul Bolle depends on SMP 65214cf11afSPaul Mackerras help 65314cf11afSPaul Mackerras This option gives the kernel permission to distribute IRQs across 65414cf11afSPaul Mackerras multiple CPUs. Saying N here will route all IRQs to the first 65514cf11afSPaul Mackerras CPU. Generally saying Y is safe, although some problems have been 65614cf11afSPaul Mackerras reported with SMP Power Macintoshes with this option enabled. 65714cf11afSPaul Mackerras 658ffa27b6bSAndy Whitcroftconfig NUMA 659bae80c27SMichael Ellerman bool "NUMA Memory Allocation and Scheduler Support" 66025395cd2SMichael Ellerman depends on PPC64 && SMP 6614c28b32bSMichael Ellerman default y if PPC_PSERIES || PPC_POWERNV 6627ecd19cfSKefeng Wang select USE_PERCPU_NUMA_NODE_ID 663bae80c27SMichael Ellerman help 664bae80c27SMichael Ellerman Enable NUMA (Non-Uniform Memory Access) support. 665bae80c27SMichael Ellerman 666bae80c27SMichael Ellerman The kernel will try to allocate memory used by a CPU on the 667bae80c27SMichael Ellerman local memory controller of the CPU and add some more 668bae80c27SMichael Ellerman NUMA awareness to the kernel. 669ffa27b6bSAndy Whitcroft 670c80d79d7SYasunori Gotoconfig NODES_SHIFT 671c80d79d7SYasunori Goto int 672ea55bf29SAnton Blanchard default "8" if PPC64 673c80d79d7SYasunori Goto default "4" 674a9ee6cf5SMike Rapoport depends on NUMA 675c80d79d7SYasunori Goto 67664bb80d8SNishanth Aravamudanconfig HAVE_MEMORYLESS_NODES 67764bb80d8SNishanth Aravamudan def_bool y 67864bb80d8SNishanth Aravamudan depends on NUMA 67964bb80d8SNishanth Aravamudan 68014cf11afSPaul Mackerrasconfig ARCH_SELECT_MEMORY_MODEL 68114cf11afSPaul Mackerras def_bool y 68214cf11afSPaul Mackerras depends on PPC64 68314cf11afSPaul Mackerras 68414cf11afSPaul Mackerrasconfig ARCH_FLATMEM_ENABLE 68514cf11afSPaul Mackerras def_bool y 6869100b205SAndy Whitcroft depends on (PPC64 && !NUMA) || PPC32 68714cf11afSPaul Mackerras 68814cf11afSPaul Mackerrasconfig ARCH_SPARSEMEM_ENABLE 68914cf11afSPaul Mackerras def_bool y 6909100b205SAndy Whitcroft depends on PPC64 691d29eff7bSAndy Whitcroft select SPARSEMEM_VMEMMAP_ENABLE 69245fb6ceaSAnton Blanchard 69345fb6ceaSAnton Blanchardconfig ARCH_SPARSEMEM_DEFAULT 69445fb6ceaSAnton Blanchard def_bool y 6957b3912f4SMichael Ellerman depends on PPC_BOOK3S_64 69614cf11afSPaul Mackerras 697f6853eb5SMichael Ellermanconfig ILLEGAL_POINTER_VALUE 698f6853eb5SMichael Ellerman hex 699f6853eb5SMichael Ellerman # This is roughly half way between the top of user space and the bottom 700f6853eb5SMichael Ellerman # of kernel space, which seems about as good as we can get. 701f6853eb5SMichael Ellerman default 0x5deadbeef0000000 if PPC64 702f6853eb5SMichael Ellerman default 0 703f6853eb5SMichael Ellerman 7047e9191daSMike Kravetzconfig ARCH_MEMORY_PROBE 7057e9191daSMike Kravetz def_bool y 7067e9191daSMike Kravetz depends on MEMORY_HOTPLUG 7077e9191daSMike Kravetz 708ca9153a3SIlya Yanokchoice 709ca9153a3SIlya Yanok prompt "Page size" 710f22969a6SJoel Stanley default PPC_64K_PAGES if PPC_BOOK3S_64 711ca9153a3SIlya Yanok default PPC_4K_PAGES 7123c726f8dSBenjamin Herrenschmidt help 713ca9153a3SIlya Yanok Select the kernel logical page size. Increasing the page size 714ca9153a3SIlya Yanok will reduce software overhead at each page boundary, allow 715ca9153a3SIlya Yanok hardware prefetch mechanisms to be more effective, and allow 716ca9153a3SIlya Yanok larger dma transfers increasing IO efficiency and reducing 717ca9153a3SIlya Yanok overhead. However the utilization of memory will increase. 718ca9153a3SIlya Yanok For example, each cached file will using a multiple of the 719ca9153a3SIlya Yanok page size to hold its contents and the difference between the 720ca9153a3SIlya Yanok end of file and the end of page is wasted. 721ca9153a3SIlya Yanok 722ca9153a3SIlya Yanok Some dedicated systems, such as software raid serving with 723ca9153a3SIlya Yanok accelerated calculations, have shown significant increases. 724ca9153a3SIlya Yanok 725ca9153a3SIlya Yanok If you configure a 64 bit kernel for 64k pages but the 726ca9153a3SIlya Yanok processor does not support them, then the kernel will simulate 727ca9153a3SIlya Yanok them with 4k pages, loading them on demand, but with the 728ca9153a3SIlya Yanok reduced software overhead and larger internal fragmentation. 729ca9153a3SIlya Yanok For the 32 bit kernel, a large page option will not be offered 730ca9153a3SIlya Yanok unless it is supported by the configured processor. 731ca9153a3SIlya Yanok 732ca9153a3SIlya Yanok If unsure, choose 4K_PAGES. 733ca9153a3SIlya Yanok 734ca9153a3SIlya Yanokconfig PPC_4K_PAGES 735ca9153a3SIlya Yanok bool "4k page size" 73619f97c98SAneesh Kumar K.V select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64 737ca9153a3SIlya Yanok 738ca9153a3SIlya Yanokconfig PPC_16K_PAGES 73955f8b5b8SMichael Ellerman bool "16k page size" 74055c8fc3fSChristophe Leroy depends on 44x || PPC_8xx 741ca9153a3SIlya Yanok 742ca9153a3SIlya Yanokconfig PPC_64K_PAGES 74355f8b5b8SMichael Ellerman bool "64k page size" 744bba43630SMichael Ellerman depends on 44x || PPC_BOOK3S_64 74519f97c98SAneesh Kumar K.V select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64 746ca9153a3SIlya Yanok 747e1240122SYuri Tikhonovconfig PPC_256K_PAGES 7484eeef098SChristophe Leroy bool "256k page size (Requires non-standard binutils settings)" 7494eeef098SChristophe Leroy depends on 44x && !PPC_47x 750e1240122SYuri Tikhonov help 751e1240122SYuri Tikhonov Make the page size 256k. 752e1240122SYuri Tikhonov 7534eeef098SChristophe Leroy The kernel will only be able to run applications that have been 7544eeef098SChristophe Leroy compiled with '-zmax-page-size' set to 256K (the default is 64K) using 7554eeef098SChristophe Leroy binutils later than 2.17.50.0.3, or by patching the ELF_MAXPAGESIZE 7564eeef098SChristophe Leroy definition from 0x10000 to 0x40000 in older versions. 757e1240122SYuri Tikhonov 758ca9153a3SIlya Yanokendchoice 7593c726f8dSBenjamin Herrenschmidt 760555f4fdbSChristophe Leroyconfig PPC_PAGE_SHIFT 761555f4fdbSChristophe Leroy int 762555f4fdbSChristophe Leroy default 18 if PPC_256K_PAGES 763555f4fdbSChristophe Leroy default 16 if PPC_64K_PAGES 764555f4fdbSChristophe Leroy default 14 if PPC_16K_PAGES 765555f4fdbSChristophe Leroy default 12 766555f4fdbSChristophe Leroy 76747613407SHamish Martinconfig THREAD_SHIFT 76847613407SHamish Martin int "Thread shift" if EXPERT 76947613407SHamish Martin range 13 15 77047613407SHamish Martin default "15" if PPC_256K_PAGES 77147613407SHamish Martin default "14" if PPC64 772edbadaf0SChristophe Leroy default "14" if KASAN 77347613407SHamish Martin default "13" 77447613407SHamish Martin help 77547613407SHamish Martin Used to define the stack size. The default is almost always what you 77647613407SHamish Martin want. Only change this if you know what you are doing. 77747613407SHamish Martin 7780f4a9041SChristophe Leroyconfig DATA_SHIFT_BOOL 779da1adea0SChristophe Leroy bool "Set custom data alignment" 7800f4a9041SChristophe Leroy depends on ADVANCED_OPTIONS 78190cbac0eSChristophe Leroy depends on STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE 78249e3d8eaSChristophe Leroy depends on PPC_BOOK3S_32 || (PPC_8xx && !PIN_TLB_DATA && !STRICT_KERNEL_RWX) || \ 78349e3d8eaSChristophe Leroy FSL_BOOKE 7840f4a9041SChristophe Leroy help 7850f4a9041SChristophe Leroy This option allows you to set the kernel data alignment. When 7860f4a9041SChristophe Leroy RAM is mapped by blocks, the alignment needs to fit the size and 7870f4a9041SChristophe Leroy number of possible blocks. The default should be OK for most configs. 7880f4a9041SChristophe Leroy 7890f4a9041SChristophe Leroy Say N here unless you know what you are doing. 790166d97d9SChristophe Leroy 791166d97d9SChristophe Leroyconfig DATA_SHIFT 7920f4a9041SChristophe Leroy int "Data shift" if DATA_SHIFT_BOOL 793166d97d9SChristophe Leroy default 24 if STRICT_KERNEL_RWX && PPC64 79490cbac0eSChristophe Leroy range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 79590cbac0eSChristophe Leroy range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_8xx 79649e3d8eaSChristophe Leroy range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_FSL_BOOKE 79763b2bc61SChristophe Leroy default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32 79890cbac0eSChristophe Leroy default 18 if (DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 7998f54a6f7SChristophe Leroy default 23 if STRICT_KERNEL_RWX && PPC_8xx 80090cbac0eSChristophe Leroy default 23 if (DEBUG_PAGEALLOC || KFENCE) && PPC_8xx && PIN_TLB_DATA 80190cbac0eSChristophe Leroy default 19 if (DEBUG_PAGEALLOC || KFENCE) && PPC_8xx 80249e3d8eaSChristophe Leroy default 24 if STRICT_KERNEL_RWX && FSL_BOOKE 803166d97d9SChristophe Leroy default PPC_PAGE_SHIFT 8040f4a9041SChristophe Leroy help 8050f4a9041SChristophe Leroy On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO. 8060f4a9041SChristophe Leroy Smaller is the alignment, greater is the number of necessary DBATs. 807166d97d9SChristophe Leroy 8088f54a6f7SChristophe Leroy On 8xx, large pages (512kb or 8M) are used to map kernel linear 8098f54a6f7SChristophe Leroy memory. Aligning to 8M reduces TLB misses as only 8M pages are used 810da1adea0SChristophe Leroy in that case. If PIN_TLB is selected, it must be aligned to 8M as 811da1adea0SChristophe Leroy 8M pages will be pinned. 8128f54a6f7SChristophe Leroy 81353bcddb9SStephen Rothwellconfig FORCE_MAX_ZONEORDER 81453bcddb9SStephen Rothwell int "Maximum zone order" 815a7ee5395SRashmica Gupta range 8 9 if PPC64 && PPC_64K_PAGES 816066c4b87SBenjamin Herrenschmidt default "9" if PPC64 && PPC_64K_PAGES 817d5a1e42cSAneesh Kumar K.V range 13 13 if PPC64 && !PPC_64K_PAGES 818066c4b87SBenjamin Herrenschmidt default "13" if PPC64 && !PPC_64K_PAGES 819066c4b87SBenjamin Herrenschmidt range 9 64 if PPC32 && PPC_16K_PAGES 820066c4b87SBenjamin Herrenschmidt default "9" if PPC32 && PPC_16K_PAGES 821066c4b87SBenjamin Herrenschmidt range 7 64 if PPC32 && PPC_64K_PAGES 822066c4b87SBenjamin Herrenschmidt default "7" if PPC32 && PPC_64K_PAGES 823066c4b87SBenjamin Herrenschmidt range 5 64 if PPC32 && PPC_256K_PAGES 824066c4b87SBenjamin Herrenschmidt default "5" if PPC32 && PPC_256K_PAGES 825ebe40c5cSJohannes Berg range 11 64 82653bcddb9SStephen Rothwell default "11" 82753bcddb9SStephen Rothwell help 82853bcddb9SStephen Rothwell The kernel memory allocator divides physically contiguous memory 82953bcddb9SStephen Rothwell blocks into "zones", where each zone is a power of two number of 83053bcddb9SStephen Rothwell pages. This option selects the largest power of two that the kernel 83153bcddb9SStephen Rothwell keeps in the memory allocator. If you need to allocate very large 83253bcddb9SStephen Rothwell blocks of physically contiguous memory, then you may need to 83353bcddb9SStephen Rothwell increase this value. 83453bcddb9SStephen Rothwell 83553bcddb9SStephen Rothwell This config option is actually maximum order plus one. For example, 83653bcddb9SStephen Rothwell a value of 11 means that the largest free memory block is 2^10 pages. 83753bcddb9SStephen Rothwell 83853bcddb9SStephen Rothwell The page size is not necessarily 4KB. For example, on 64-bit 83953bcddb9SStephen Rothwell systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep 84053bcddb9SStephen Rothwell this in mind when choosing a value for this option. 84153bcddb9SStephen Rothwell 842fa28237cSPaul Mackerrasconfig PPC_SUBPAGE_PROT 84363396adaSNicholas Piggin bool "Support setting protections for 4k subpages (subpage_prot syscall)" 84463396adaSNicholas Piggin default n 845c2857374SNicholas Piggin depends on PPC_64S_HASH_MMU && PPC_64K_PAGES 846fa28237cSPaul Mackerras help 84763396adaSNicholas Piggin This option adds support for system call to allow user programs 848fa28237cSPaul Mackerras to set access permissions (read/write, readonly, or no access) 849fa28237cSPaul Mackerras on the 4k subpages of each 64k page. 850fa28237cSPaul Mackerras 85163396adaSNicholas Piggin If unsure, say N here. 85263396adaSNicholas Piggin 8539b725a90SShawn Anastasioconfig PPC_PROT_SAO_LPAR 8549b725a90SShawn Anastasio bool "Support PROT_SAO mappings in LPARs" 8559b725a90SShawn Anastasio depends on PPC_BOOK3S_64 8569b725a90SShawn Anastasio help 8579b725a90SShawn Anastasio This option adds support for PROT_SAO mappings from userspace 8589b725a90SShawn Anastasio inside LPARs on supported CPUs. 8599b725a90SShawn Anastasio 8609b725a90SShawn Anastasio This may cause issues when performing guest migration from 8619b725a90SShawn Anastasio a CPU that supports SAO to one that does not. 8629b725a90SShawn Anastasio 8639b725a90SShawn Anastasio If unsure, say N here. 8649b725a90SShawn Anastasio 865e83d0169SIan Munsieconfig PPC_COPRO_BASE 866e83d0169SIan Munsie bool 867e83d0169SIan Munsie 86814cf11afSPaul Mackerrasconfig SCHED_SMT 86914cf11afSPaul Mackerras bool "SMT (Hyperthreading) scheduler support" 87014cf11afSPaul Mackerras depends on PPC64 && SMP 87114cf11afSPaul Mackerras help 87214cf11afSPaul Mackerras SMT scheduler support improves the CPU scheduler's decision making 87314cf11afSPaul Mackerras when dealing with POWER5 cpus at a cost of slightly increased 87414cf11afSPaul Mackerras overhead in some places. If unsure say N here. 87514cf11afSPaul Mackerras 876b92a66a6SMichael Neulingconfig PPC_DENORMALISATION 877b92a66a6SMichael Neuling bool "PowerPC denormalisation exception handling" 878b92a66a6SMichael Neuling depends on PPC_BOOK3S_64 8794e90a2a7SAnton Blanchard default "y" if PPC_POWERNV 8804f44e8aeSEnrico Weigelt, metux IT consult help 881b92a66a6SMichael Neuling Add support for handling denormalisation of single precision 882b92a66a6SMichael Neuling values. Useful for bare metal only. If unsure say Y here. 883b92a66a6SMichael Neuling 88414cf11afSPaul Mackerrasconfig CMDLINE 885f134a7ceSChris Packham string "Initial kernel command string" 886cbe46bd4SChristophe Leroy default "" 88714cf11afSPaul Mackerras help 88814cf11afSPaul Mackerras On some platforms, there is currently no way for the boot loader to 88914cf11afSPaul Mackerras pass arguments to the kernel. For these platforms, you can supply 89014cf11afSPaul Mackerras some command-line options at build time by entering them here. In 89114cf11afSPaul Mackerras most cases you will need to specify the root device here. 89214cf11afSPaul Mackerras 893d79fbb3aSChris Packhamchoice 894d79fbb3aSChris Packham prompt "Kernel command line type" if CMDLINE != "" 895d79fbb3aSChris Packham default CMDLINE_FROM_BOOTLOADER 896d79fbb3aSChris Packham 897d79fbb3aSChris Packhamconfig CMDLINE_FROM_BOOTLOADER 898d79fbb3aSChris Packham bool "Use bootloader kernel arguments if available" 899d79fbb3aSChris Packham help 900d79fbb3aSChris Packham Uses the command-line options passed by the boot loader. If 901d79fbb3aSChris Packham the boot loader doesn't provide any, the default kernel command 902d79fbb3aSChris Packham string provided in CMDLINE will be used. 903d79fbb3aSChris Packham 904d79fbb3aSChris Packhamconfig CMDLINE_EXTEND 905d79fbb3aSChris Packham bool "Extend bootloader kernel arguments" 906d79fbb3aSChris Packham help 907d79fbb3aSChris Packham The command-line arguments provided by the boot loader will be 908d79fbb3aSChris Packham appended to the default kernel command string. 909d79fbb3aSChris Packham 910eb3b80f6SSebastian Siewiorconfig CMDLINE_FORCE 911eb3b80f6SSebastian Siewior bool "Always use the default kernel command string" 912eb3b80f6SSebastian Siewior help 913eb3b80f6SSebastian Siewior Always use the default kernel command string, even if the boot 914eb3b80f6SSebastian Siewior loader passes other arguments to the kernel. 915eb3b80f6SSebastian Siewior This is useful if you cannot or don't want to change the 916eb3b80f6SSebastian Siewior command-line options your boot loader passes to the kernel. 917eb3b80f6SSebastian Siewior 918d79fbb3aSChris Packhamendchoice 919d79fbb3aSChris Packham 920c356aa45SGrant Likelyconfig EXTRA_TARGETS 921c356aa45SGrant Likely string "Additional default image types" 922c356aa45SGrant Likely help 923c356aa45SGrant Likely List additional targets to be built by the bootwrapper here (separated 924c356aa45SGrant Likely by spaces). This is useful for targets that depend of device tree 925c356aa45SGrant Likely files in the .dts directory. 926c356aa45SGrant Likely 927c356aa45SGrant Likely Targets in this list will be build as part of the default build 928c356aa45SGrant Likely target, or when the user does a 'make zImage' or a 929c356aa45SGrant Likely 'make zImage.initrd'. 930c356aa45SGrant Likely 931c356aa45SGrant Likely If unsure, leave blank 932c356aa45SGrant Likely 933b28f5081SJohannes Bergconfig ARCH_WANTS_FREEZER_CONTROL 934b28f5081SJohannes Berg def_bool y 935b28f5081SJohannes Berg depends on ADB_PMU 936b28f5081SJohannes Berg 9378636a1f9SMasahiro Yamadasource "kernel/power/Kconfig" 93814cf11afSPaul Mackerras 93992e3da3cSRam Paiconfig PPC_MEM_KEYS 94092e3da3cSRam Pai prompt "PowerPC Memory Protection Keys" 94192e3da3cSRam Pai def_bool y 94292e3da3cSRam Pai depends on PPC_BOOK3S_64 943c2857374SNicholas Piggin depends on PPC_64S_HASH_MMU 94492e3da3cSRam Pai select ARCH_USES_HIGH_VMA_FLAGS 94592e3da3cSRam Pai select ARCH_HAS_PKEYS 94692e3da3cSRam Pai help 94792e3da3cSRam Pai Memory Protection Keys provides a mechanism for enforcing 94892e3da3cSRam Pai page-based protections, but without requiring modification of the 94992e3da3cSRam Pai page tables when an application changes protection domains. 95092e3da3cSRam Pai 9511eecbcdcSMauro Carvalho Chehab For details, see Documentation/core-api/protection-keys.rst 95292e3da3cSRam Pai 95392e3da3cSRam Pai If unsure, say y. 95492e3da3cSRam Pai 9551a8916eeSNayna Jainconfig PPC_SECURE_BOOT 9561a8916eeSNayna Jain prompt "Enable secure boot support" 9571a8916eeSNayna Jain bool 9585c5e46daSDaniel Axtens depends on PPC_POWERNV || PPC_PSERIES 9594238fad3SNayna Jain depends on IMA_ARCH_POLICY 9609e2b4be3SNayna Jain imply IMA_SECURE_AND_OR_TRUSTED_BOOT 9611a8916eeSNayna Jain help 9621a8916eeSNayna Jain Systems with firmware secure boot enabled need to define security 9631a8916eeSNayna Jain policies to extend secure boot to the OS. This config allows a user 9641a8916eeSNayna Jain to enable OS secure boot on systems that have firmware support for 9651a8916eeSNayna Jain it. If in doubt say N. 9661a8916eeSNayna Jain 967bd5d9c74SNayna Jainconfig PPC_SECVAR_SYSFS 968bd5d9c74SNayna Jain bool "Enable sysfs interface for POWER secure variables" 969bd5d9c74SNayna Jain default y 970bd5d9c74SNayna Jain depends on PPC_SECURE_BOOT 971bd5d9c74SNayna Jain depends on SYSFS 972bd5d9c74SNayna Jain help 973bd5d9c74SNayna Jain POWER secure variables are managed and controlled by firmware. 974bd5d9c74SNayna Jain These variables are exposed to userspace via sysfs to enable 975bd5d9c74SNayna Jain read/write operations on these variables. Say Y if you have 976bd5d9c74SNayna Jain secure boot enabled and want to expose variables to userspace. 977bd5d9c74SNayna Jain 978bd59380cSAndrew Donnellanconfig PPC_RTAS_FILTER 979bd59380cSAndrew Donnellan bool "Enable filtering of RTAS syscalls" 980bd59380cSAndrew Donnellan default y 981bd59380cSAndrew Donnellan depends on PPC_RTAS 982bd59380cSAndrew Donnellan help 983bd59380cSAndrew Donnellan The RTAS syscall API has security issues that could be used to 984bd59380cSAndrew Donnellan compromise system integrity. This option enforces restrictions on the 985bd59380cSAndrew Donnellan RTAS calls and arguments passed by userspace programs to mitigate 986bd59380cSAndrew Donnellan these issues. 987bd59380cSAndrew Donnellan 988bd59380cSAndrew Donnellan Say Y unless you know what you are doing and the filter is causing 989bd59380cSAndrew Donnellan problems for you. 990bd59380cSAndrew Donnellan 99114cf11afSPaul Mackerrasendmenu 99214cf11afSPaul Mackerras 99314cf11afSPaul Mackerrasconfig ISA_DMA_API 99414cf11afSPaul Mackerras bool 9953d066d77SStephen Rothwell default PCI 99614cf11afSPaul Mackerras 99714cf11afSPaul Mackerrasmenu "Bus options" 99814cf11afSPaul Mackerras 99914cf11afSPaul Mackerrasconfig ISA 100014cf11afSPaul Mackerras bool "Support for ISA-bus hardware" 1001933ee711SPaul Bolle depends on PPC_CHRP 1002f9bd170aSPaul Mackerras select PPC_I8259 100314cf11afSPaul Mackerras help 100414cf11afSPaul Mackerras Find out whether you have ISA slots on your motherboard. ISA is the 100514cf11afSPaul Mackerras name of a bus system, i.e. the way the CPU talks to the other stuff 100614cf11afSPaul Mackerras inside your box. If you have an Apple machine, say N here; if you 1007933ee711SPaul Bolle have an IBM RS/6000 or pSeries machine, say Y. If you have an 1008933ee711SPaul Bolle embedded board, consult your board documentation. 100914cf11afSPaul Mackerras 101014cf11afSPaul Mackerrasconfig GENERIC_ISA_DMA 101114cf11afSPaul Mackerras bool 10121927445aSAnton Vorontsov depends on ISA_DMA_API 101314cf11afSPaul Mackerras default y 101414cf11afSPaul Mackerras 101525635c71SPaul Mackerrasconfig PPC_INDIRECT_PCI 101625635c71SPaul Mackerras bool 101725635c71SPaul Mackerras depends on PCI 101863dafe57SBecky Bruce default y if 40x || 44x 101925635c71SPaul Mackerras 102014cf11afSPaul Mackerrasconfig SBUS 102114cf11afSPaul Mackerras bool 102214cf11afSPaul Mackerras 102308264cbcSKumar Galaconfig FSL_SOC 102408264cbcSKumar Gala bool 102508264cbcSKumar Gala 102655c44991SRoy Zangconfig FSL_PCI 102755c44991SRoy Zang bool 102811ddce15SChristoph Hellwig select ARCH_HAS_DMA_SET_MASK 102955c44991SRoy Zang select PPC_INDIRECT_PCI 1030d0839118SKumar Gala select PCI_QUIRKS 103155c44991SRoy Zang 10324ffd6952SAnton Vorontsovconfig FSL_PMC 10334ffd6952SAnton Vorontsov bool 10344ffd6952SAnton Vorontsov default y 10354ffd6952SAnton Vorontsov depends on SUSPEND && (PPC_85xx || PPC_86xx) 10364ffd6952SAnton Vorontsov help 10374ffd6952SAnton Vorontsov Freescale MPC85xx/MPC86xx power management controller support 10384ffd6952SAnton Vorontsov (suspend/resume). For MPC83xx see platforms/83xx/suspend.c 10394ffd6952SAnton Vorontsov 1040d164f6d4SVictor Gallardoconfig PPC4xx_CPM 1041d164f6d4SVictor Gallardo bool 1042d164f6d4SVictor Gallardo default y 1043d164f6d4SVictor Gallardo depends on SUSPEND && (44x || 40x) 1044d164f6d4SVictor Gallardo help 1045d164f6d4SVictor Gallardo PPC4xx Clock Power Management (CPM) support (suspend/resume). 1046d164f6d4SVictor Gallardo It also enables support for two different idle states (idle-wait 1047d164f6d4SVictor Gallardo and idle-doze). 1048d164f6d4SVictor Gallardo 10492a706919SStefan Roeseconfig 4xx_SOC 10502a706919SStefan Roese bool 10512a706919SStefan Roese 1052acaa7aa3SAnton Vorontsovconfig FSL_LBC 10533ab8f2a2SRoy Zang bool "Freescale Local Bus support" 1054acaa7aa3SAnton Vorontsov help 10553ab8f2a2SRoy Zang Enables reporting of errors from the Freescale local bus 10563ab8f2a2SRoy Zang controller. Also contains some common code used by 10573ab8f2a2SRoy Zang drivers for specific local bus peripherals. 1058acaa7aa3SAnton Vorontsov 105983ff9dcfSAnton Vorontsovconfig FSL_GTM 106083ff9dcfSAnton Vorontsov bool 106183ff9dcfSAnton Vorontsov depends on PPC_83xx || QUICC_ENGINE || CPM2 106283ff9dcfSAnton Vorontsov help 106383ff9dcfSAnton Vorontsov Freescale General-purpose Timers support 106483ff9dcfSAnton Vorontsov 106514cf11afSPaul Mackerrasconfig PCI_8260 106614cf11afSPaul Mackerras bool 106714cf11afSPaul Mackerras depends on PCI && 8260 106825635c71SPaul Mackerras select PPC_INDIRECT_PCI 106914cf11afSPaul Mackerras default y 107014cf11afSPaul Mackerras 1071388b78adSAlexandre Bounineconfig FSL_RIO 1072388b78adSAlexandre Bounine bool "Freescale Embedded SRIO Controller support" 10731753d50cSChristoph Hellwig depends on RAPIDIO = y && HAVE_RAPIDIO 1074388b78adSAlexandre Bounine default "n" 10754f44e8aeSEnrico Weigelt, metux IT consult help 1076388b78adSAlexandre Bounine Include support for RapidIO controller on Freescale embedded 1077388b78adSAlexandre Bounine processors (MPC8548, MPC8641, etc). 1078388b78adSAlexandre Bounine 107914cf11afSPaul Mackerrasendmenu 108014cf11afSPaul Mackerras 10810f890c8dSSuzuki Pouloseconfig NONSTATIC_KERNEL 10820f890c8dSSuzuki Poulose bool 10830f890c8dSSuzuki Poulose 108414cf11afSPaul Mackerrasmenu "Advanced setup" 108514cf11afSPaul Mackerras depends on PPC32 108614cf11afSPaul Mackerras 108714cf11afSPaul Mackerrasconfig ADVANCED_OPTIONS 108814cf11afSPaul Mackerras bool "Prompt for advanced kernel configuration options" 108914cf11afSPaul Mackerras help 109014cf11afSPaul Mackerras This option will enable prompting for a variety of advanced kernel 109114cf11afSPaul Mackerras configuration options. These options can cause the kernel to not 109214cf11afSPaul Mackerras work if they are set incorrectly, but can be used to optimize certain 109314cf11afSPaul Mackerras aspects of kernel memory management. 109414cf11afSPaul Mackerras 109514cf11afSPaul Mackerras Unless you know what you are doing, say N here. 109614cf11afSPaul Mackerras 109714cf11afSPaul Mackerrascomment "Default settings for advanced configuration options are used" 109814cf11afSPaul Mackerras depends on !ADVANCED_OPTIONS 109914cf11afSPaul Mackerras 110014cf11afSPaul Mackerrasconfig LOWMEM_SIZE_BOOL 110114cf11afSPaul Mackerras bool "Set maximum low memory" 110214cf11afSPaul Mackerras depends on ADVANCED_OPTIONS 110314cf11afSPaul Mackerras help 110414cf11afSPaul Mackerras This option allows you to set the maximum amount of memory which 110514cf11afSPaul Mackerras will be used as "low memory", that is, memory which the kernel can 110614cf11afSPaul Mackerras access directly, without having to set up a kernel virtual mapping. 110714cf11afSPaul Mackerras This can be useful in optimizing the layout of kernel virtual 110814cf11afSPaul Mackerras memory. 110914cf11afSPaul Mackerras 111014cf11afSPaul Mackerras Say N here unless you know what you are doing. 111114cf11afSPaul Mackerras 111214cf11afSPaul Mackerrasconfig LOWMEM_SIZE 111314cf11afSPaul Mackerras hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL 111414cf11afSPaul Mackerras default "0x30000000" 111514cf11afSPaul Mackerras 111696051465STrent Piephoconfig LOWMEM_CAM_NUM_BOOL 111796051465STrent Piepho bool "Set number of CAMs to use to map low memory" 111896051465STrent Piepho depends on ADVANCED_OPTIONS && FSL_BOOKE 111996051465STrent Piepho help 112096051465STrent Piepho This option allows you to set the maximum number of CAM slots that 112196051465STrent Piepho will be used to map low memory. There are a limited number of slots 112296051465STrent Piepho available and even more limited number that will fit in the L1 MMU. 112396051465STrent Piepho However, using more entries will allow mapping more low memory. This 112496051465STrent Piepho can be useful in optimizing the layout of kernel virtual memory. 112596051465STrent Piepho 112696051465STrent Piepho Say N here unless you know what you are doing. 112796051465STrent Piepho 112896051465STrent Piephoconfig LOWMEM_CAM_NUM 11299b71dbd3SJosh Boyer depends on FSL_BOOKE 113096051465STrent Piepho int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL 113149e3d8eaSChristophe Leroy default 3 if !STRICT_KERNEL_RWX 113249e3d8eaSChristophe Leroy default 9 if DATA_SHIFT >= 24 113349e3d8eaSChristophe Leroy default 12 if DATA_SHIFT >= 22 113449e3d8eaSChristophe Leroy default 15 113596051465STrent Piepho 11360f890c8dSSuzuki Pouloseconfig DYNAMIC_MEMSTART 1137642e56ffSKees Cook bool "Enable page aligned dynamic load address for kernel" 1138642e56ffSKees Cook depends on ADVANCED_OPTIONS && FLATMEM && (FSL_BOOKE || 44x) 11390f890c8dSSuzuki Poulose select NONSTATIC_KERNEL 114037dd2badSKumar Gala help 11410f890c8dSSuzuki Poulose This option enables the kernel to be loaded at any page aligned 11420f890c8dSSuzuki Poulose physical address. The kernel creates a mapping from KERNELBASE to 11430f890c8dSSuzuki Poulose the address where the kernel is loaded. The page size here implies 11440f890c8dSSuzuki Poulose the TLB page size of the mapping for kernel on the particular platform. 11450f890c8dSSuzuki Poulose Please refer to the init code for finding the TLB page size. 114637dd2badSKumar Gala 11470f890c8dSSuzuki Poulose DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE 11480f890c8dSSuzuki Poulose kernel image, where the only restriction is the page aligned kernel 11490f890c8dSSuzuki Poulose load address. When this option is enabled, the compile time physical 11500f890c8dSSuzuki Poulose address CONFIG_PHYSICAL_START is ignored. 115137dd2badSKumar Gala 11529c5f7d39SSuzuki Poulose This option is overridden by CONFIG_RELOCATABLE 11539c5f7d39SSuzuki Poulose 115437dd2badSKumar Galaconfig PAGE_OFFSET_BOOL 115537dd2badSKumar Gala bool "Set custom page offset address" 115637dd2badSKumar Gala depends on ADVANCED_OPTIONS 115737dd2badSKumar Gala help 115837dd2badSKumar Gala This option allows you to set the kernel virtual address at which 115937dd2badSKumar Gala the kernel will map low memory. This can be useful in optimizing 116037dd2badSKumar Gala the virtual memory layout of the system. 116137dd2badSKumar Gala 116237dd2badSKumar Gala Say N here unless you know what you are doing. 116337dd2badSKumar Gala 116437dd2badSKumar Galaconfig PAGE_OFFSET 116537dd2badSKumar Gala hex "Virtual address of memory base" if PAGE_OFFSET_BOOL 116637dd2badSKumar Gala default "0xc0000000" 116737dd2badSKumar Gala 116814cf11afSPaul Mackerrasconfig KERNEL_START_BOOL 116914cf11afSPaul Mackerras bool "Set custom kernel base address" 117014cf11afSPaul Mackerras depends on ADVANCED_OPTIONS 117114cf11afSPaul Mackerras help 117214cf11afSPaul Mackerras This option allows you to set the kernel virtual address at which 117337dd2badSKumar Gala the kernel will be loaded. Normally this should match PAGE_OFFSET 117437dd2badSKumar Gala however there are times (like kdump) that one might not want them 117537dd2badSKumar Gala to be the same. 117614cf11afSPaul Mackerras 117714cf11afSPaul Mackerras Say N here unless you know what you are doing. 117814cf11afSPaul Mackerras 117914cf11afSPaul Mackerrasconfig KERNEL_START 118014cf11afSPaul Mackerras hex "Virtual address of kernel base" if KERNEL_START_BOOL 118137dd2badSKumar Gala default PAGE_OFFSET if PAGE_OFFSET_BOOL 11820f890c8dSSuzuki Poulose default "0xc2000000" if CRASH_DUMP && !NONSTATIC_KERNEL 118314cf11afSPaul Mackerras default "0xc0000000" 118414cf11afSPaul Mackerras 118537dd2badSKumar Galaconfig PHYSICAL_START_BOOL 118637dd2badSKumar Gala bool "Set physical address where the kernel is loaded" 118737dd2badSKumar Gala depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE 118837dd2badSKumar Gala help 118937dd2badSKumar Gala This gives the physical address where the kernel is loaded. 119037dd2badSKumar Gala 119137dd2badSKumar Gala Say N here unless you know what you are doing. 119237dd2badSKumar Gala 119337dd2badSKumar Galaconfig PHYSICAL_START 119437dd2badSKumar Gala hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL 119526598f28SChristophe Leroy default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL 119637dd2badSKumar Gala default "0x00000000" 119737dd2badSKumar Gala 119837dd2badSKumar Galaconfig PHYSICAL_ALIGN 119937dd2badSKumar Gala hex 1200c8f3570bSTrent Piepho default "0x04000000" if FSL_BOOKE 120137dd2badSKumar Gala help 120237dd2badSKumar Gala This value puts the alignment restrictions on physical address 120337dd2badSKumar Gala where kernel is loaded and run from. Kernel is compiled for an 120437dd2badSKumar Gala address which meets above alignment restriction. 120537dd2badSKumar Gala 120614cf11afSPaul Mackerrasconfig TASK_SIZE_BOOL 120714cf11afSPaul Mackerras bool "Set custom user task size" 120814cf11afSPaul Mackerras depends on ADVANCED_OPTIONS 120914cf11afSPaul Mackerras help 121014cf11afSPaul Mackerras This option allows you to set the amount of virtual address space 121114cf11afSPaul Mackerras allocated to user tasks. This can be useful in optimizing the 121214cf11afSPaul Mackerras virtual memory layout of the system. 121314cf11afSPaul Mackerras 121414cf11afSPaul Mackerras Say N here unless you know what you are doing. 121514cf11afSPaul Mackerras 121614cf11afSPaul Mackerrasconfig TASK_SIZE 121714cf11afSPaul Mackerras hex "Size of user task space" if TASK_SIZE_BOOL 1218933ee711SPaul Bolle default "0x80000000" if PPC_8xx 121980edc68eSChristophe Leroy default "0xb0000000" if PPC_BOOK3S_32 12204d9e5510SKumar Gala default "0xc0000000" 122114cf11afSPaul Mackerrasendmenu 122214cf11afSPaul Mackerras 1223cabb5587SStephen Rothwellif PPC64 1224bdbc29c1SPaul Mackerras# This value must have zeroes in the bottom 60 bits otherwise lots will break 122537dd2badSKumar Galaconfig PAGE_OFFSET 1226cabb5587SStephen Rothwell hex 1227eeb2d218SStephen Rothwell default "0xc000000000000000" 122837dd2badSKumar Galaconfig KERNEL_START 122937dd2badSKumar Gala hex 123037dd2badSKumar Gala default "0xc000000000000000" 123137dd2badSKumar Galaconfig PHYSICAL_START 123237dd2badSKumar Gala hex 123337dd2badSKumar Gala default "0x00000000" 1234cabb5587SStephen Rothwellendif 1235cabb5587SStephen Rothwell 1236a4da0d50SMichael Ellermanconfig ARCH_RANDOM 1237a4da0d50SMichael Ellerman def_bool n 1238a4da0d50SMichael Ellerman 12391088a209SSylvain Munautconfig PPC_LIB_RHEAP 12401088a209SSylvain Munaut bool 12411088a209SSylvain Munaut 1242bbf45ba5SHollis Blanchardsource "arch/powerpc/kvm/Kconfig" 124385baa095SMichael Ellerman 124485baa095SMichael Ellermansource "kernel/livepatch/Kconfig" 1245