1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2a0ae9c7cSArnd Bergmannsource "arch/powerpc/platforms/Kconfig.cputype" 317e638bcSJohannes Berg 414cf11afSPaul Mackerrasconfig PPC32 514cf11afSPaul Mackerras bool 614cf11afSPaul Mackerras default y if !PPC64 714cf11afSPaul Mackerras 8234a71a7Skerstin jonssonconfig 32BIT 9234a71a7Skerstin jonsson bool 10234a71a7Skerstin jonsson default y if PPC32 11234a71a7Skerstin jonsson 1214cf11afSPaul Mackerrasconfig 64BIT 1314cf11afSPaul Mackerras bool 1414cf11afSPaul Mackerras default y if PPC64 1514cf11afSPaul Mackerras 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 62c2a7e818STejun Heoconfig HAVE_SETUP_PER_CPU_AREA 63e74e3962STejun Heo def_bool PPC64 64e74e3962STejun Heo 65c2a7e818STejun Heoconfig NEED_PER_CPU_EMBED_FIRST_CHUNK 66b32ef636Stravis@sgi.com def_bool PPC64 67b32ef636Stravis@sgi.com 68551b81f2SMichael Ellermanconfig NR_IRQS 69551b81f2SMichael Ellerman int "Number of virtual interrupt numbers" 70859aefc5SAnton Blanchard range 32 32768 71551b81f2SMichael Ellerman default "512" 72551b81f2SMichael Ellerman help 73551b81f2SMichael Ellerman This defines the number of virtual interrupt numbers the kernel 74551b81f2SMichael Ellerman can manage. Virtual interrupt numbers are what you see in 75551b81f2SMichael Ellerman /proc/interrupts. If you configure your system to have too few, 76551b81f2SMichael Ellerman drivers will fail to load or worse - handle with care. 77551b81f2SMichael Ellerman 78ddd703caSNicholas Pigginconfig NMI_IPI 79ddd703caSNicholas Piggin bool 802104180aSNicholas Piggin depends on SMP && (DEBUGGER || KEXEC_CORE || HARDLOCKUP_DETECTOR) 81ddd703caSNicholas Piggin default y 82ddd703caSNicholas Piggin 8375eb767eSNicholas Pigginconfig PPC_WATCHDOG 8475eb767eSNicholas Piggin bool 8575eb767eSNicholas Piggin depends on HARDLOCKUP_DETECTOR 8675eb767eSNicholas Piggin depends on HAVE_HARDLOCKUP_DETECTOR_ARCH 8775eb767eSNicholas Piggin default y 8875eb767eSNicholas Piggin help 8975eb767eSNicholas Piggin This is a placeholder when the powerpc hardlockup detector 9075eb767eSNicholas Piggin watchdog is selected (arch/powerpc/kernel/watchdog.c). It is 9175eb767eSNicholas Piggin seleted via the generic lockup detector menu which is why we 9275eb767eSNicholas Piggin have no standalone config option for it here. 9375eb767eSNicholas Piggin 94fd3e0bbcSChristoph Hellwigconfig STACKTRACE_SUPPORT 95fd3e0bbcSChristoph Hellwig bool 96fd3e0bbcSChristoph Hellwig default y 97fd3e0bbcSChristoph Hellwig 98945feb17SBenjamin Herrenschmidtconfig TRACE_IRQFLAGS_SUPPORT 99945feb17SBenjamin Herrenschmidt bool 100945feb17SBenjamin Herrenschmidt default y 101945feb17SBenjamin Herrenschmidt 102945feb17SBenjamin Herrenschmidtconfig LOCKDEP_SUPPORT 103945feb17SBenjamin Herrenschmidt bool 104945feb17SBenjamin Herrenschmidt default y 105945feb17SBenjamin Herrenschmidt 10614cf11afSPaul Mackerrasconfig RWSEM_GENERIC_SPINLOCK 10714cf11afSPaul Mackerras bool 10814cf11afSPaul Mackerras 10914cf11afSPaul Mackerrasconfig RWSEM_XCHGADD_ALGORITHM 11014cf11afSPaul Mackerras bool 11114cf11afSPaul Mackerras default y 11214cf11afSPaul Mackerras 11395c354feSNick Pigginconfig GENERIC_LOCKBREAK 11495c354feSNick Piggin bool 11595c354feSNick Piggin default y 11695c354feSNick Piggin depends on SMP && PREEMPT 11795c354feSNick Piggin 118e779b2f9SAkinobu Mitaconfig GENERIC_HWEIGHT 119e779b2f9SAkinobu Mita bool 120e779b2f9SAkinobu Mita default y 121e779b2f9SAkinobu Mita 12214cf11afSPaul Mackerrasconfig PPC 12314cf11afSPaul Mackerras bool 12414cf11afSPaul Mackerras default y 125a7d2475aSMichael Ellerman # 126a7d2475aSMichael Ellerman # Please keep this list sorted alphabetically. 127a7d2475aSMichael Ellerman # 1286bf752daSChristophe Leroy select ARCH_HAS_DEBUG_VIRTUAL 129a7d2475aSMichael Ellerman select ARCH_HAS_DEVMEM_IS_ALLOWED 130a7d2475aSMichael Ellerman select ARCH_HAS_ELF_RANDOMIZE 1316974f0c4SDaniel Micay select ARCH_HAS_FORTIFY_SOURCE 132a7d2475aSMichael Ellerman select ARCH_HAS_GCOV_PROFILE_ALL 133ea8c64acSChristoph Hellwig select ARCH_HAS_PHYS_TO_DMA 13432ce3862SOliver O'Halloran select ARCH_HAS_PMEM_API if PPC64 1353010a5eaSLaurent Dufour select ARCH_HAS_PTE_SPECIAL 1363ccfebedSMathieu Desnoyers select ARCH_HAS_MEMBARRIER_CALLBACKS 137abcff86dSChristophe Leroy select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC64 1384ec591e5SChristophe Leroy select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION) 139a7d2475aSMichael Ellerman select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 1406c44741dSOliver O'Halloran select ARCH_HAS_UACCESS_FLUSHCACHE if PPC64 141a7d2475aSMichael Ellerman select ARCH_HAS_UBSAN_SANITIZE_ALL 142c0742441SOliver O'Halloran select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64 143a7d2475aSMichael Ellerman select ARCH_HAVE_NMI_SAFE_CMPXCHG 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 147a7d2475aSMichael Ellerman select ARCH_SUPPORTS_ATOMIC_RMW 148a7d2475aSMichael Ellerman select ARCH_USE_BUILTIN_BSWAP 149a7d2475aSMichael Ellerman select ARCH_USE_CMPXCHG_LOCKREF if PPC64 150a7d2475aSMichael Ellerman select ARCH_WANT_IPC_PARSE_VERSION 15177e58496SPaul E. McKenney select ARCH_WEAK_RELEASE_ACQUIRE 152d812c0e1SStephen Rothwell select BINFMT_ELF 153a7d2475aSMichael Ellerman select BUILDTIME_EXTABLE_SORT 154a7d2475aSMichael Ellerman select CLONE_BACKWARDS 155a7d2475aSMichael Ellerman select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN 1560c0c5230SMichael Ellerman select DYNAMIC_FTRACE if FUNCTION_TRACER 157a7d2475aSMichael Ellerman select EDAC_ATOMIC_SCRUB 158a7d2475aSMichael Ellerman select EDAC_SUPPORT 159a7d2475aSMichael Ellerman select GENERIC_ATOMIC64 if PPC32 160a7d2475aSMichael Ellerman select GENERIC_CLOCKEVENTS 161a7d2475aSMichael Ellerman select GENERIC_CLOCKEVENTS_BROADCAST if SMP 162a7d2475aSMichael Ellerman select GENERIC_CMOS_UPDATE 163a7d2475aSMichael Ellerman select GENERIC_CPU_AUTOPROBE 164179ab1cbSMichael Ellerman select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC 165a7d2475aSMichael Ellerman select GENERIC_IRQ_SHOW 166a7d2475aSMichael Ellerman select GENERIC_IRQ_SHOW_LEVEL 167eb01d42aSChristoph Hellwig select GENERIC_PCI_IOMAP if PCI 168a7d2475aSMichael Ellerman select GENERIC_SMP_IDLE_THREAD 169a7d2475aSMichael Ellerman select GENERIC_STRNCPY_FROM_USER 170a7d2475aSMichael Ellerman select GENERIC_STRNLEN_USER 171d4cfb113SPaul Mackerras select GENERIC_TIME_VSYSCALL 172a7d2475aSMichael Ellerman select HAVE_ARCH_AUDITSYSCALL 173a7d2475aSMichael Ellerman select HAVE_ARCH_JUMP_LABEL 174a7d2475aSMichael Ellerman select HAVE_ARCH_KGDB 1759fea59bdSMichael Ellerman select HAVE_ARCH_MMAP_RND_BITS 1769fea59bdSMichael Ellerman select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT 177a7d2475aSMichael Ellerman select HAVE_ARCH_SECCOMP_FILTER 178a7d2475aSMichael Ellerman select HAVE_ARCH_TRACEHOOK 179a7d2475aSMichael Ellerman select HAVE_CBPF_JIT if !PPC64 180bf6cbd0cSMichael Ellerman select HAVE_STACKPROTECTOR if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13) 181bf6cbd0cSMichael Ellerman select HAVE_STACKPROTECTOR if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2) 182a7d2475aSMichael Ellerman select HAVE_CONTEXT_TRACKING if PPC64 183a7d2475aSMichael Ellerman select HAVE_DEBUG_KMEMLEAK 184a7d2475aSMichael Ellerman select HAVE_DEBUG_STACKOVERFLOW 185a7d2475aSMichael Ellerman select HAVE_DYNAMIC_FTRACE 186a7d2475aSMichael Ellerman select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL 187a7d2475aSMichael Ellerman select HAVE_EBPF_JIT if PPC64 188a7d2475aSMichael Ellerman select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU) 189a7d2475aSMichael Ellerman select HAVE_FTRACE_MCOUNT_RECORD 1907cd01b08SNaveen N. Rao select HAVE_FUNCTION_ERROR_INJECTION 191a7d2475aSMichael Ellerman select HAVE_FUNCTION_GRAPH_TRACER 192a7d2475aSMichael Ellerman select HAVE_FUNCTION_TRACER 1938034c2fbSMasahiro Yamada select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC 194e585513bSKirill A. Shutemov select HAVE_GENERIC_GUP 195a7d2475aSMichael Ellerman select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx) 196a7d2475aSMichael Ellerman select HAVE_IDE 197a7d2475aSMichael Ellerman select HAVE_IOREMAP_PROT 198a7d2475aSMichael Ellerman select HAVE_IRQ_EXIT_ON_IRQ_STACK 199a7d2475aSMichael Ellerman select HAVE_KERNEL_GZIP 20026064848SAaro Koskinen select HAVE_KERNEL_XZ if PPC_BOOK3S 201a7d2475aSMichael Ellerman select HAVE_KPROBES 202ead514d5SNaveen N. Rao select HAVE_KPROBES_ON_FTRACE 203a7d2475aSMichael Ellerman select HAVE_KRETPROBES 2044c1d9bb0SNicholas Piggin select HAVE_LD_DEAD_CODE_DATA_ELIMINATION 205a7d2475aSMichael Ellerman select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS 206a7d2475aSMichael Ellerman select HAVE_MEMBLOCK_NODE_MAP 207a7d2475aSMichael Ellerman select HAVE_MOD_ARCH_SPECIFIC 2082104180aSNicholas Piggin select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) 2092104180aSNicholas Piggin select HAVE_HARDLOCKUP_DETECTOR_ARCH if (PPC64 && PPC_BOOK3S) 210a7d2475aSMichael Ellerman select HAVE_OPROFILE 211a7d2475aSMichael Ellerman select HAVE_OPTPROBES if PPC64 212a7d2475aSMichael Ellerman select HAVE_PERF_EVENTS 213a7d2475aSMichael Ellerman select HAVE_PERF_EVENTS_NMI if PPC64 21492e5aae4SNicholas Piggin select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH 215a7d2475aSMichael Ellerman select HAVE_PERF_REGS 216a7d2475aSMichael Ellerman select HAVE_PERF_USER_STACK_DUMP 217a7d2475aSMichael Ellerman select HAVE_RCU_TABLE_FREE if SMP 218a7d2475aSMichael Ellerman select HAVE_REGS_AND_STACK_ACCESS_API 219df78d3f6STorsten Duwe select HAVE_RELIABLE_STACKTRACE if PPC64 && CPU_LITTLE_ENDIAN 220a7d2475aSMichael Ellerman select HAVE_SYSCALL_TRACEPOINTS 221a7d2475aSMichael Ellerman select HAVE_VIRT_CPU_ACCOUNTING 222518470feSAnton Blanchard select HAVE_IRQ_TIME_ACCOUNTING 2238a417c48SBoqun Feng select HAVE_RSEQ 224a4ce5a48SChristoph Hellwig select IOMMU_HELPER if PPC64 225a7d2475aSMichael Ellerman select IRQ_DOMAIN 226a7d2475aSMichael Ellerman select IRQ_FORCED_THREADING 227a7d2475aSMichael Ellerman select MODULES_USE_ELF_RELA 22806832fc0SChristoph Hellwig select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE 22986596f0aSChristoph Hellwig select NEED_SG_DMA_LENGTH 23010f85f43SStephen Rothwell select OF 231e6ce1324SStephen Neuendorffer select OF_EARLY_FLATTREE 232708b7eefSMarek Szyprowski select OF_RESERVED_MEM 233a7d2475aSMichael Ellerman select OLD_SIGACTION if PPC32 234a7d2475aSMichael Ellerman select OLD_SIGSUSPEND 2352eac9c2dSChristoph Hellwig select PCI_DOMAINS if PCI 23620f1b79dSChristoph Hellwig select PCI_SYSCALL if PCI 2376e8cef38SArnd Bergmann select RTC_LIB 238a7d2475aSMichael Ellerman select SPARSE_IRQ 2397ac57a89SCatalin Marinas select SYSCTL_EXCEPTION_TRACE 2404febd95aSStephen Rothwell select VIRT_TO_BUS if !PPC64 241a7d2475aSMichael Ellerman # 242a7d2475aSMichael Ellerman # Please keep this list sorted alphabetically. 243a7d2475aSMichael Ellerman # 24414cf11afSPaul Mackerras 245179ab1cbSMichael Ellermanconfig PPC_BARRIER_NOSPEC 246179ab1cbSMichael Ellerman bool 247179ab1cbSMichael Ellerman default y 248ebcd1bfcSDiana Craciun depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E 249179ab1cbSMichael Ellerman 2507a332b0cSAnton Blanchardconfig GENERIC_CSUM 251d4fde568SPaul Mackerras def_bool n 2527a332b0cSAnton Blanchard 25314cf11afSPaul Mackerrasconfig EARLY_PRINTK 25414cf11afSPaul Mackerras bool 25551d3082fSBenjamin Herrenschmidt default y 25614cf11afSPaul Mackerras 257b71d47c1SJason Baronconfig PANIC_TIMEOUT 258b71d47c1SJason Baron int 259b71d47c1SJason Baron default 180 260b71d47c1SJason Baron 26114cf11afSPaul Mackerrasconfig COMPAT 26214cf11afSPaul Mackerras bool 26314cf11afSPaul Mackerras default y if PPC64 26401e31dbaSRoland McGrath select COMPAT_BINFMT_ELF 26548b25c43SChris Metcalf select ARCH_WANT_OLD_COMPAT_IPC 26609a4d5d0SAl Viro select COMPAT_OLD_SIGACTION 26714cf11afSPaul Mackerras 26814cf11afSPaul Mackerrasconfig SYSVIPC_COMPAT 26914cf11afSPaul Mackerras bool 27014cf11afSPaul Mackerras depends on COMPAT && SYSVIPC 27114cf11afSPaul Mackerras default y 27214cf11afSPaul Mackerras 27314cf11afSPaul Mackerras# All PPC32s use generic nvram driver through ppc_md 27414cf11afSPaul Mackerrasconfig GENERIC_NVRAM 27514cf11afSPaul Mackerras bool 27614cf11afSPaul Mackerras default y if PPC32 27714cf11afSPaul Mackerras 278ae1e9130SIngo Molnarconfig SCHED_OMIT_FRAME_POINTER 27914cf11afSPaul Mackerras bool 28014cf11afSPaul Mackerras default y 28114cf11afSPaul Mackerras 28214cf11afSPaul Mackerrasconfig ARCH_MAY_HAVE_PC_FDC 28314cf11afSPaul Mackerras bool 2843484a31fSPranith Kumar default PCI 28514cf11afSPaul Mackerras 28608264cbcSKumar Galaconfig PPC_UDBG_16550 28708264cbcSKumar Gala bool 28808264cbcSKumar Gala 28908264cbcSKumar Galaconfig GENERIC_TBSYNC 29008264cbcSKumar Gala bool 29108264cbcSKumar Gala default y if PPC32 && SMP 29208264cbcSKumar Gala 293e65e1fc2SAl Viroconfig AUDIT_ARCH 294e65e1fc2SAl Viro bool 295e65e1fc2SAl Viro default y 296e65e1fc2SAl Viro 29773c9ceabSJeremy Fitzhardingeconfig GENERIC_BUG 29873c9ceabSJeremy Fitzhardinge bool 29973c9ceabSJeremy Fitzhardinge default y 30073c9ceabSJeremy Fitzhardinge depends on BUG 30173c9ceabSJeremy Fitzhardinge 302b3028878SJohannes Bergconfig SYS_SUPPORTS_APM_EMULATION 30358da10bbSKumar Gala default y if PMAC_APM_EMU 304b3028878SJohannes Berg bool 305b3028878SJohannes Berg 3066c5b59b9SDavid Gibsonconfig EPAPR_BOOT 3076c5b59b9SDavid Gibson bool 3086c5b59b9SDavid Gibson help 3096c5b59b9SDavid Gibson Used to allow a board to specify it wants an ePAPR compliant wrapper. 3106c5b59b9SDavid Gibson 311f4fc4a5bSKumar Galaconfig DEFAULT_UIMAGE 312f4fc4a5bSKumar Gala bool 313f4fc4a5bSKumar Gala help 314f4fc4a5bSKumar Gala Used to allow a board to specify it wants a uImage built by default 315f4fc4a5bSKumar Gala 316801e4062SJohannes Bergconfig ARCH_HIBERNATION_POSSIBLE 317801e4062SJohannes Berg bool 318543b9fd3SJohannes Berg default y 319543b9fd3SJohannes Berg 320f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE 321f4cb5700SJohannes Berg def_bool y 3224ffd6952SAnton Vorontsov depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \ 323d0832a75SZhao Chenhui (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \ 324d0832a75SZhao Chenhui || 44x || 40x 325f4cb5700SJohannes Berg 3264c75a6f4SBenjamin Herrenschmidtconfig PPC_DCR_NATIVE 3274c75a6f4SBenjamin Herrenschmidt bool 3284c75a6f4SBenjamin Herrenschmidt 3294c75a6f4SBenjamin Herrenschmidtconfig PPC_DCR_MMIO 3304c75a6f4SBenjamin Herrenschmidt bool 3314c75a6f4SBenjamin Herrenschmidt 3324c75a6f4SBenjamin Herrenschmidtconfig PPC_DCR 3334c75a6f4SBenjamin Herrenschmidt bool 3344c75a6f4SBenjamin Herrenschmidt depends on PPC_DCR_NATIVE || PPC_DCR_MMIO 3354c75a6f4SBenjamin Herrenschmidt default y 3364c75a6f4SBenjamin Herrenschmidt 3374c9d2800SBenjamin Herrenschmidtconfig PPC_OF_PLATFORM_PCI 3384c9d2800SBenjamin Herrenschmidt bool 339373a6da1SStephen Rothwell depends on PCI 3404c9d2800SBenjamin Herrenschmidt depends on PPC64 # not supported on 32 bits yet 3414c9d2800SBenjamin Herrenschmidt 3426a11f75bSAkinobu Mitaconfig ARCH_SUPPORTS_DEBUG_PAGEALLOC 3434e003747SMichael Ellerman depends on PPC32 || PPC_BOOK3S_64 3446a11f75bSAkinobu Mita def_bool y 3456a11f75bSAkinobu Mita 3468b7b80b9SAnanth N Mavinakayanahalliconfig ARCH_SUPPORTS_UPROBES 3478b7b80b9SAnanth N Mavinakayanahalli def_bool y 3488b7b80b9SAnanth N Mavinakayanahalli 349172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_REGS 350172ae2e7SDave Kleikamp bool 351172ae2e7SDave Kleikamp depends on 40x || BOOKE 352172ae2e7SDave Kleikamp default y 353172ae2e7SDave Kleikamp 354172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_IACS 355172ae2e7SDave Kleikamp int 356172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS 357172ae2e7SDave Kleikamp default 4 if 44x 358172ae2e7SDave Kleikamp default 2 359172ae2e7SDave Kleikamp 360172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_DACS 361172ae2e7SDave Kleikamp int 362172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS 363172ae2e7SDave Kleikamp default 2 364172ae2e7SDave Kleikamp 365172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_DVCS 366172ae2e7SDave Kleikamp int 367172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS 368172ae2e7SDave Kleikamp default 2 if 44x 369172ae2e7SDave Kleikamp default 0 370172ae2e7SDave Kleikamp 371172ae2e7SDave Kleikampconfig PPC_ADV_DEBUG_DAC_RANGE 372172ae2e7SDave Kleikamp bool 373172ae2e7SDave Kleikamp depends on PPC_ADV_DEBUG_REGS && 44x 374172ae2e7SDave Kleikamp default y 375172ae2e7SDave Kleikamp 37625078dc1SChristoph Hellwigconfig ZONE_DMA 3771c98025cSScott Wood bool 37825078dc1SChristoph Hellwig default y if PPC_BOOK3E_64 3791c98025cSScott Wood 38006ef42a1SKirill A. Shutemovconfig PGTABLE_LEVELS 38106ef42a1SKirill A. Shutemov int 38206ef42a1SKirill A. Shutemov default 2 if !PPC64 383368ced78SAneesh Kumar K.V default 3 if PPC_64K_PAGES && !PPC_BOOK3S_64 38406ef42a1SKirill A. Shutemov default 4 38506ef42a1SKirill A. Shutemov 386a2d2e1ecSBenjamin Herrenschmidtsource "arch/powerpc/sysdev/Kconfig" 3874330f5daSKumar Galasource "arch/powerpc/platforms/Kconfig" 38814cf11afSPaul Mackerras 38914cf11afSPaul Mackerrasmenu "Kernel options" 39014cf11afSPaul Mackerras 39114cf11afSPaul Mackerrasconfig HIGHMEM 39214cf11afSPaul Mackerras bool "High memory support" 39314cf11afSPaul Mackerras depends on PPC32 39414cf11afSPaul Mackerras 3958636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz" 39614cf11afSPaul Mackerras 397ba72cb8cSMel Gormanconfig HUGETLB_PAGE_SIZE_VARIABLE 398ba72cb8cSMel Gorman bool 399ba72cb8cSMel Gorman depends on HUGETLB_PAGE 400ba72cb8cSMel Gorman default y 401ba72cb8cSMel Gorman 40214cf11afSPaul Mackerrasconfig MATH_EMULATION 40314cf11afSPaul Mackerras bool "Math emulation" 404968159c0SChristophe Leroy depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE 40514cf11afSPaul Mackerras ---help--- 40614cf11afSPaul Mackerras Some PowerPC chips designed for embedded applications do not have 40714cf11afSPaul Mackerras a floating-point unit and therefore do not implement the 40814cf11afSPaul Mackerras floating-point instructions in the PowerPC instruction set. If you 40914cf11afSPaul Mackerras say Y here, the kernel will include code to emulate a floating-point 41014cf11afSPaul Mackerras unit, which will allow programs that use floating-point 41114cf11afSPaul Mackerras instructions to run. 41214cf11afSPaul Mackerras 4134e63f8edSBenjamin Herrenschmidt This is also useful to emulate missing (optional) instructions 4144e63f8edSBenjamin Herrenschmidt such as fsqrt on cores that do have an FPU but do not implement 4154e63f8edSBenjamin Herrenschmidt them (such as Freescale BookE). 4164e63f8edSBenjamin Herrenschmidt 417e05c0e81SKevin Haochoice 418e05c0e81SKevin Hao prompt "Math emulation options" 419e05c0e81SKevin Hao default MATH_EMULATION_FULL 420e05c0e81SKevin Hao depends on MATH_EMULATION 421e05c0e81SKevin Hao 422e05c0e81SKevin Haoconfig MATH_EMULATION_FULL 423e05c0e81SKevin Hao bool "Emulate all the floating point instructions" 424e05c0e81SKevin Hao ---help--- 425e05c0e81SKevin Hao Select this option will enable the kernel to support to emulate 426e05c0e81SKevin Hao all the floating point instructions. If your SoC doesn't have 427e05c0e81SKevin Hao a FPU, you should select this. 428e05c0e81SKevin Hao 429e05c0e81SKevin Haoconfig MATH_EMULATION_HW_UNIMPLEMENTED 430e05c0e81SKevin Hao bool "Just emulate the FPU unimplemented instructions" 431e05c0e81SKevin Hao ---help--- 432e05c0e81SKevin Hao Select this if you know there does have a hardware FPU on your 433e05c0e81SKevin Hao SoC, but some floating point instructions are not implemented by that. 434e05c0e81SKevin Hao 435e05c0e81SKevin Haoendchoice 436e05c0e81SKevin Hao 4373d72bbc4SMichael Neulingconfig PPC_TRANSACTIONAL_MEM 4383d72bbc4SMichael Neuling bool "Transactional Memory support for POWERPC" 4393d72bbc4SMichael Neuling depends on PPC_BOOK3S_64 4403d72bbc4SMichael Neuling depends on SMP 4417b37a123SMichael Neuling select ALTIVEC 4427b37a123SMichael Neuling select VSX 4433d72bbc4SMichael Neuling ---help--- 4443d72bbc4SMichael Neuling Support user-mode Transactional Memory on POWERPC. 4453d72bbc4SMichael Neuling 446951eedebSNicholas Pigginconfig LD_HEAD_STUB_CATCH 447951eedebSNicholas Piggin bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT 448951eedebSNicholas Piggin depends on PPC64 449951eedebSNicholas Piggin help 450951eedebSNicholas Piggin Very large kernels can cause linker branch stubs to be generated by 451951eedebSNicholas Piggin code in head_64.S, which moves the head text sections out of their 452951eedebSNicholas Piggin specified location. This option can work around the problem. 453951eedebSNicholas Piggin 454951eedebSNicholas Piggin If unsure, say "N". 455951eedebSNicholas Piggin 4568c50b72aSTorsten Duweconfig MPROFILE_KERNEL 4578c50b72aSTorsten Duwe depends on PPC64 && CPU_LITTLE_ENDIAN 458abba7597SNicholas Piggin def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) 4598c50b72aSTorsten Duwe 46014cf11afSPaul Mackerrasconfig HOTPLUG_CPU 46114cf11afSPaul Mackerras bool "Support for enabling/disabling CPUs" 46240b31360SStephen Rothwell depends on SMP && (PPC_PSERIES || \ 4632f4f1f81Schenhui zhao PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE) 46414cf11afSPaul Mackerras ---help--- 46514cf11afSPaul Mackerras Say Y here to be able to disable and re-enable individual 46614cf11afSPaul Mackerras CPUs at runtime on SMP machines. 46714cf11afSPaul Mackerras 46814cf11afSPaul Mackerras Say N if you are unsure. 46914cf11afSPaul Mackerras 47012633e80SNathan Fontenotconfig ARCH_CPU_PROBE_RELEASE 47112633e80SNathan Fontenot def_bool y 47212633e80SNathan Fontenot depends on HOTPLUG_CPU 47312633e80SNathan Fontenot 474cc57637bSYasunori Gotoconfig ARCH_ENABLE_MEMORY_HOTPLUG 475cc57637bSYasunori Goto def_bool y 476cc57637bSYasunori Goto 477a99824f3SBadari Pulavartyconfig ARCH_HAS_WALK_MEMORY 478a99824f3SBadari Pulavarty def_bool y 479a99824f3SBadari Pulavarty 4801482471dSBadari Pulavartyconfig ARCH_ENABLE_MEMORY_HOTREMOVE 4811482471dSBadari Pulavarty def_bool y 4821482471dSBadari Pulavarty 483f2296a3dSMahesh Salgaonkarconfig PPC64_SUPPORTS_MEMORY_FAILURE 484f2296a3dSMahesh Salgaonkar bool "Add support for memory hwpoison" 485f2296a3dSMahesh Salgaonkar depends on PPC_BOOK3S_64 486f2296a3dSMahesh Salgaonkar default "y" if PPC_POWERNV 487f2296a3dSMahesh Salgaonkar select ARCH_SUPPORTS_MEMORY_FAILURE 488f2296a3dSMahesh Salgaonkar 48914cf11afSPaul Mackerrasconfig KEXEC 490642e56ffSKees Cook bool "kexec system call" 49196eea642STiejun Chen depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) || PPC_BOOK3E 4922965faa5SDave Young select KEXEC_CORE 49314cf11afSPaul Mackerras help 49414cf11afSPaul Mackerras kexec is a system call that implements the ability to shutdown your 49514cf11afSPaul Mackerras current kernel, and to start another kernel. It is like a reboot 4961f1332f7SMatt LaPlante but it is independent of the system firmware. And like a reboot 49714cf11afSPaul Mackerras you can start any kernel with it, not just Linux. 49814cf11afSPaul Mackerras 4991f1332f7SMatt LaPlante The name comes from the similarity to the exec system call. 50014cf11afSPaul Mackerras 50114cf11afSPaul Mackerras It is an ongoing process to be certain the hardware in a machine 50214cf11afSPaul Mackerras is properly shutdown, so do not be surprised if this code does not 503bf220695SGeert Uytterhoeven initially work for you. As of this writing the exact hardware 504bf220695SGeert Uytterhoeven interface is strongly in flux, so no good recommendation can be 505bf220695SGeert Uytterhoeven made. 50614cf11afSPaul Mackerras 50780f60e50SThiago Jung Bauermannconfig KEXEC_FILE 50880f60e50SThiago Jung Bauermann bool "kexec file based system call" 50980f60e50SThiago Jung Bauermann select KEXEC_CORE 510467d2782SThiago Jung Bauermann select HAVE_IMA_KEXEC 51180f60e50SThiago Jung Bauermann select BUILD_BIN2C 51280f60e50SThiago Jung Bauermann depends on PPC64 51380f60e50SThiago Jung Bauermann depends on CRYPTO=y 51480f60e50SThiago Jung Bauermann depends on CRYPTO_SHA256=y 51580f60e50SThiago Jung Bauermann help 51680f60e50SThiago Jung Bauermann This is a new version of the kexec system call. This call is 51780f60e50SThiago Jung Bauermann file based and takes in file descriptors as system call arguments 51880f60e50SThiago Jung Bauermann for kernel and initramfs as opposed to a list of segments as is the 51980f60e50SThiago Jung Bauermann case for the older kexec call. 52080f60e50SThiago Jung Bauermann 521b799a09fSAKASHI Takahiroconfig ARCH_HAS_KEXEC_PURGATORY 522b799a09fSAKASHI Takahiro def_bool KEXEC_FILE 523b799a09fSAKASHI Takahiro 5244c91bd6eSKevin Haoconfig RELOCATABLE 5254c91bd6eSKevin Hao bool "Build a relocatable kernel" 526084a275eSNicholas Piggin depends on PPC64 || (FLATMEM && (44x || FSL_BOOKE)) 5274c91bd6eSKevin Hao select NONSTATIC_KERNEL 52871810db2SArd Biesheuvel select MODULE_REL_CRCS if MODVERSIONS 5294c91bd6eSKevin Hao help 5304c91bd6eSKevin Hao This builds a kernel image that is capable of running at the 5314c91bd6eSKevin Hao location the kernel is loaded at. For ppc32, there is no any 5324c91bd6eSKevin Hao alignment restrictions, and this feature is a superset of 5334c91bd6eSKevin Hao DYNAMIC_MEMSTART and hence overrides it. For ppc64, we should use 5344c91bd6eSKevin Hao 16k-aligned base address. The kernel is linked as a 5354c91bd6eSKevin Hao position-independent executable (PIE) and contains dynamic relocations 5364c91bd6eSKevin Hao which are processed early in the bootup process. 5374c91bd6eSKevin Hao 5384c91bd6eSKevin Hao One use is for the kexec on panic case where the recovery kernel 5394c91bd6eSKevin Hao must live at a different physical address than the primary 5404c91bd6eSKevin Hao kernel. 5414c91bd6eSKevin Hao 5424c91bd6eSKevin Hao Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address 5434c91bd6eSKevin Hao it has been loaded at and the compile time physical addresses 5444c91bd6eSKevin Hao CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START 5454c91bd6eSKevin Hao setting can still be useful to bootwrappers that need to know the 5464c91bd6eSKevin Hao load address of the kernel (eg. u-boot/mkimage). 5474c91bd6eSKevin Hao 54870839d20SNicholas Pigginconfig RELOCATABLE_TEST 54970839d20SNicholas Piggin bool "Test relocatable kernel" 55070839d20SNicholas Piggin depends on (PPC64 && RELOCATABLE) 55170839d20SNicholas Piggin help 55270839d20SNicholas Piggin This runs the relocatable kernel at the address it was initially 55370839d20SNicholas Piggin loaded at, which tends to be non-zero and therefore test the 55470839d20SNicholas Piggin relocation code. 55570839d20SNicholas Piggin 556e8625d46SHaren Myneniconfig CRASH_DUMP 55722bd0177SHari Bathini bool "Build a dump capture kernel" 558be34fff0SChristophe Leroy depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP) 559084a275eSNicholas Piggin select RELOCATABLE if PPC64 || 44x || FSL_BOOKE 560e8625d46SHaren Myneni help 56122bd0177SHari Bathini Build a kernel suitable for use as a dump capture kernel. 56254622f10SMohan Kumar M The same kernel binary can be used as production kernel and dump 56354622f10SMohan Kumar M capture kernel. 564e8625d46SHaren Myneni 565eb39c880SMahesh Salgaonkarconfig FA_DUMP 566eb39c880SMahesh Salgaonkar bool "Firmware-assisted dump" 56722bd0177SHari Bathini depends on PPC64 && PPC_RTAS 56822bd0177SHari Bathini select CRASH_CORE 56922bd0177SHari Bathini select CRASH_DUMP 570242f271cSManish Ahuja help 571eb39c880SMahesh Salgaonkar A robust mechanism to get reliable kernel crash dump with 572eb39c880SMahesh Salgaonkar assistance from firmware. This approach does not use kexec, 57322bd0177SHari Bathini instead firmware assists in booting the capture kernel 574eb39c880SMahesh Salgaonkar while preserving memory contents. Firmware-assisted dump 575eb39c880SMahesh Salgaonkar is meant to be a kdump replacement offering robustness and 576eb39c880SMahesh Salgaonkar speed not possible without system firmware assistance. 577242f271cSManish Ahuja 578242f271cSManish Ahuja If unsure, say "N" 579242f271cSManish Ahuja 58014cf11afSPaul Mackerrasconfig IRQ_ALL_CPUS 58114cf11afSPaul Mackerras bool "Distribute interrupts on all CPUs by default" 5826cf09b9dSPaul Bolle depends on SMP 58314cf11afSPaul Mackerras help 58414cf11afSPaul Mackerras This option gives the kernel permission to distribute IRQs across 58514cf11afSPaul Mackerras multiple CPUs. Saying N here will route all IRQs to the first 58614cf11afSPaul Mackerras CPU. Generally saying Y is safe, although some problems have been 58714cf11afSPaul Mackerras reported with SMP Power Macintoshes with this option enabled. 58814cf11afSPaul Mackerras 589ffa27b6bSAndy Whitcroftconfig NUMA 590ffa27b6bSAndy Whitcroft bool "NUMA support" 591ffa27b6bSAndy Whitcroft depends on PPC64 592ffa27b6bSAndy Whitcroft default y if SMP && PPC_PSERIES 593ffa27b6bSAndy Whitcroft 594c80d79d7SYasunori Gotoconfig NODES_SHIFT 595c80d79d7SYasunori Goto int 596ea55bf29SAnton Blanchard default "8" if PPC64 597c80d79d7SYasunori Goto default "4" 598c80d79d7SYasunori Goto depends on NEED_MULTIPLE_NODES 599c80d79d7SYasunori Goto 6008c272261SNishanth Aravamudanconfig USE_PERCPU_NUMA_NODE_ID 6018c272261SNishanth Aravamudan def_bool y 6028c272261SNishanth Aravamudan depends on NUMA 6038c272261SNishanth Aravamudan 60464bb80d8SNishanth Aravamudanconfig HAVE_MEMORYLESS_NODES 60564bb80d8SNishanth Aravamudan def_bool y 60664bb80d8SNishanth Aravamudan depends on NUMA 60764bb80d8SNishanth Aravamudan 60814cf11afSPaul Mackerrasconfig ARCH_SELECT_MEMORY_MODEL 60914cf11afSPaul Mackerras def_bool y 61014cf11afSPaul Mackerras depends on PPC64 61114cf11afSPaul Mackerras 61214cf11afSPaul Mackerrasconfig ARCH_FLATMEM_ENABLE 61314cf11afSPaul Mackerras def_bool y 6149100b205SAndy Whitcroft depends on (PPC64 && !NUMA) || PPC32 61514cf11afSPaul Mackerras 61614cf11afSPaul Mackerrasconfig ARCH_SPARSEMEM_ENABLE 61714cf11afSPaul Mackerras def_bool y 6189100b205SAndy Whitcroft depends on PPC64 619d29eff7bSAndy Whitcroft select SPARSEMEM_VMEMMAP_ENABLE 62045fb6ceaSAnton Blanchard 62145fb6ceaSAnton Blanchardconfig ARCH_SPARSEMEM_DEFAULT 62245fb6ceaSAnton Blanchard def_bool y 6237b3912f4SMichael Ellerman depends on PPC_BOOK3S_64 62414cf11afSPaul Mackerras 6255a1eb5c4SBenjamin Herrenschmidtconfig SYS_SUPPORTS_HUGETLBFS 62641151e77SBecky Bruce bool 6275a1eb5c4SBenjamin Herrenschmidt 628f6853eb5SMichael Ellermanconfig ILLEGAL_POINTER_VALUE 629f6853eb5SMichael Ellerman hex 630f6853eb5SMichael Ellerman # This is roughly half way between the top of user space and the bottom 631f6853eb5SMichael Ellerman # of kernel space, which seems about as good as we can get. 632f6853eb5SMichael Ellerman default 0x5deadbeef0000000 if PPC64 633f6853eb5SMichael Ellerman default 0 634f6853eb5SMichael Ellerman 6357e9191daSMike Kravetzconfig ARCH_MEMORY_PROBE 6367e9191daSMike Kravetz def_bool y 6377e9191daSMike Kravetz depends on MEMORY_HOTPLUG 6387e9191daSMike Kravetz 63975167957SAndy Whitcroft# Some NUMA nodes have memory ranges that span 64075167957SAndy Whitcroft# other nodes. Even though a pfn is valid and 64175167957SAndy Whitcroft# between a node's start and end pfns, it may not 64275167957SAndy Whitcroft# reside on that node. See memmap_init_zone() 64375167957SAndy Whitcroft# for details. 64475167957SAndy Whitcroftconfig NODES_SPAN_OTHER_NODES 64575167957SAndy Whitcroft def_bool y 64675167957SAndy Whitcroft depends on NEED_MULTIPLE_NODES 64775167957SAndy Whitcroft 648e1240122SYuri Tikhonovconfig STDBINUTILS 649e1240122SYuri Tikhonov bool "Using standard binutils settings" 650e1240122SYuri Tikhonov depends on 44x 651e1240122SYuri Tikhonov default y 652e1240122SYuri Tikhonov help 653e1240122SYuri Tikhonov Turning this option off allows you to select 256KB PAGE_SIZE on 44x. 654e1240122SYuri Tikhonov Note, that kernel will be able to run only those applications, 655e1240122SYuri Tikhonov which had been compiled using binutils later than 2.17.50.0.3 with 656e1240122SYuri Tikhonov '-zmax-page-size' set to 256K (the default is 64K). Or, if using 657e1240122SYuri Tikhonov the older binutils, you can patch them with a trivial patch, which 658e1240122SYuri Tikhonov changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000. 659e1240122SYuri Tikhonov 660ca9153a3SIlya Yanokchoice 661ca9153a3SIlya Yanok prompt "Page size" 662ca9153a3SIlya Yanok default PPC_4K_PAGES 6633c726f8dSBenjamin Herrenschmidt help 664ca9153a3SIlya Yanok Select the kernel logical page size. Increasing the page size 665ca9153a3SIlya Yanok will reduce software overhead at each page boundary, allow 666ca9153a3SIlya Yanok hardware prefetch mechanisms to be more effective, and allow 667ca9153a3SIlya Yanok larger dma transfers increasing IO efficiency and reducing 668ca9153a3SIlya Yanok overhead. However the utilization of memory will increase. 669ca9153a3SIlya Yanok For example, each cached file will using a multiple of the 670ca9153a3SIlya Yanok page size to hold its contents and the difference between the 671ca9153a3SIlya Yanok end of file and the end of page is wasted. 672ca9153a3SIlya Yanok 673ca9153a3SIlya Yanok Some dedicated systems, such as software raid serving with 674ca9153a3SIlya Yanok accelerated calculations, have shown significant increases. 675ca9153a3SIlya Yanok 676ca9153a3SIlya Yanok If you configure a 64 bit kernel for 64k pages but the 677ca9153a3SIlya Yanok processor does not support them, then the kernel will simulate 678ca9153a3SIlya Yanok them with 4k pages, loading them on demand, but with the 679ca9153a3SIlya Yanok reduced software overhead and larger internal fragmentation. 680ca9153a3SIlya Yanok For the 32 bit kernel, a large page option will not be offered 681ca9153a3SIlya Yanok unless it is supported by the configured processor. 682ca9153a3SIlya Yanok 683ca9153a3SIlya Yanok If unsure, choose 4K_PAGES. 684ca9153a3SIlya Yanok 685ca9153a3SIlya Yanokconfig PPC_4K_PAGES 686ca9153a3SIlya Yanok bool "4k page size" 68719f97c98SAneesh Kumar K.V select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64 688ca9153a3SIlya Yanok 689ca9153a3SIlya Yanokconfig PPC_16K_PAGES 69055f8b5b8SMichael Ellerman bool "16k page size" 69155c8fc3fSChristophe Leroy depends on 44x || PPC_8xx 692ca9153a3SIlya Yanok 693ca9153a3SIlya Yanokconfig PPC_64K_PAGES 69455f8b5b8SMichael Ellerman bool "64k page size" 6954e003747SMichael Ellerman depends on !PPC_FSL_BOOK3E && (44x || PPC_BOOK3S_64 || PPC_BOOK3E_64) 69619f97c98SAneesh Kumar K.V select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64 697ca9153a3SIlya Yanok 698e1240122SYuri Tikhonovconfig PPC_256K_PAGES 69955f8b5b8SMichael Ellerman bool "256k page size" 70055f8b5b8SMichael Ellerman depends on 44x && !STDBINUTILS 701e1240122SYuri Tikhonov help 702e1240122SYuri Tikhonov Make the page size 256k. 703e1240122SYuri Tikhonov 704e1240122SYuri Tikhonov As the ELF standard only requires alignment to support page 705e1240122SYuri Tikhonov sizes up to 64k, you will need to compile all of your user 706e1240122SYuri Tikhonov space applications with a non-standard binutils settings 707e1240122SYuri Tikhonov (see the STDBINUTILS description for details). 708e1240122SYuri Tikhonov 709e1240122SYuri Tikhonov Say N unless you know what you are doing. 710e1240122SYuri Tikhonov 711ca9153a3SIlya Yanokendchoice 7123c726f8dSBenjamin Herrenschmidt 71347613407SHamish Martinconfig THREAD_SHIFT 71447613407SHamish Martin int "Thread shift" if EXPERT 71547613407SHamish Martin range 13 15 71647613407SHamish Martin default "15" if PPC_256K_PAGES 71747613407SHamish Martin default "14" if PPC64 71847613407SHamish Martin default "13" 71947613407SHamish Martin help 72047613407SHamish Martin Used to define the stack size. The default is almost always what you 72147613407SHamish Martin want. Only change this if you know what you are doing. 72247613407SHamish Martin 72353bcddb9SStephen Rothwellconfig FORCE_MAX_ZONEORDER 72453bcddb9SStephen Rothwell int "Maximum zone order" 725a7ee5395SRashmica Gupta range 8 9 if PPC64 && PPC_64K_PAGES 726066c4b87SBenjamin Herrenschmidt default "9" if PPC64 && PPC_64K_PAGES 727d5a1e42cSAneesh Kumar K.V range 13 13 if PPC64 && !PPC_64K_PAGES 728066c4b87SBenjamin Herrenschmidt default "13" if PPC64 && !PPC_64K_PAGES 729066c4b87SBenjamin Herrenschmidt range 9 64 if PPC32 && PPC_16K_PAGES 730066c4b87SBenjamin Herrenschmidt default "9" if PPC32 && PPC_16K_PAGES 731066c4b87SBenjamin Herrenschmidt range 7 64 if PPC32 && PPC_64K_PAGES 732066c4b87SBenjamin Herrenschmidt default "7" if PPC32 && PPC_64K_PAGES 733066c4b87SBenjamin Herrenschmidt range 5 64 if PPC32 && PPC_256K_PAGES 734066c4b87SBenjamin Herrenschmidt default "5" if PPC32 && PPC_256K_PAGES 735ebe40c5cSJohannes Berg range 11 64 73653bcddb9SStephen Rothwell default "11" 73753bcddb9SStephen Rothwell help 73853bcddb9SStephen Rothwell The kernel memory allocator divides physically contiguous memory 73953bcddb9SStephen Rothwell blocks into "zones", where each zone is a power of two number of 74053bcddb9SStephen Rothwell pages. This option selects the largest power of two that the kernel 74153bcddb9SStephen Rothwell keeps in the memory allocator. If you need to allocate very large 74253bcddb9SStephen Rothwell blocks of physically contiguous memory, then you may need to 74353bcddb9SStephen Rothwell increase this value. 74453bcddb9SStephen Rothwell 74553bcddb9SStephen Rothwell This config option is actually maximum order plus one. For example, 74653bcddb9SStephen Rothwell a value of 11 means that the largest free memory block is 2^10 pages. 74753bcddb9SStephen Rothwell 74853bcddb9SStephen Rothwell The page size is not necessarily 4KB. For example, on 64-bit 74953bcddb9SStephen Rothwell systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep 75053bcddb9SStephen Rothwell this in mind when choosing a value for this option. 75153bcddb9SStephen Rothwell 752fa28237cSPaul Mackerrasconfig PPC_SUBPAGE_PROT 753fa28237cSPaul Mackerras bool "Support setting protections for 4k subpages" 7544e003747SMichael Ellerman depends on PPC_BOOK3S_64 && PPC_64K_PAGES 755fa28237cSPaul Mackerras help 756fa28237cSPaul Mackerras This option adds support for a system call to allow user programs 757fa28237cSPaul Mackerras to set access permissions (read/write, readonly, or no access) 758fa28237cSPaul Mackerras on the 4k subpages of each 64k page. 759fa28237cSPaul Mackerras 760e83d0169SIan Munsieconfig PPC_COPRO_BASE 761e83d0169SIan Munsie bool 762e83d0169SIan Munsie 76314cf11afSPaul Mackerrasconfig SCHED_SMT 76414cf11afSPaul Mackerras bool "SMT (Hyperthreading) scheduler support" 76514cf11afSPaul Mackerras depends on PPC64 && SMP 76614cf11afSPaul Mackerras help 76714cf11afSPaul Mackerras SMT scheduler support improves the CPU scheduler's decision making 76814cf11afSPaul Mackerras when dealing with POWER5 cpus at a cost of slightly increased 76914cf11afSPaul Mackerras overhead in some places. If unsure say N here. 77014cf11afSPaul Mackerras 771b92a66a6SMichael Neulingconfig PPC_DENORMALISATION 772b92a66a6SMichael Neuling bool "PowerPC denormalisation exception handling" 773b92a66a6SMichael Neuling depends on PPC_BOOK3S_64 7744e90a2a7SAnton Blanchard default "y" if PPC_POWERNV 775b92a66a6SMichael Neuling ---help--- 776b92a66a6SMichael Neuling Add support for handling denormalisation of single precision 777b92a66a6SMichael Neuling values. Useful for bare metal only. If unsure say Y here. 778b92a66a6SMichael Neuling 77914cf11afSPaul Mackerrasconfig CMDLINE_BOOL 78014cf11afSPaul Mackerras bool "Default bootloader kernel arguments" 78114cf11afSPaul Mackerras 78214cf11afSPaul Mackerrasconfig CMDLINE 78314cf11afSPaul Mackerras string "Initial kernel command string" 78414cf11afSPaul Mackerras depends on CMDLINE_BOOL 78514cf11afSPaul Mackerras default "console=ttyS0,9600 console=tty0 root=/dev/sda2" 78614cf11afSPaul Mackerras help 78714cf11afSPaul Mackerras On some platforms, there is currently no way for the boot loader to 78814cf11afSPaul Mackerras pass arguments to the kernel. For these platforms, you can supply 78914cf11afSPaul Mackerras some command-line options at build time by entering them here. In 79014cf11afSPaul Mackerras most cases you will need to specify the root device here. 79114cf11afSPaul Mackerras 792eb3b80f6SSebastian Siewiorconfig CMDLINE_FORCE 793eb3b80f6SSebastian Siewior bool "Always use the default kernel command string" 794eb3b80f6SSebastian Siewior depends on CMDLINE_BOOL 795eb3b80f6SSebastian Siewior help 796eb3b80f6SSebastian Siewior Always use the default kernel command string, even if the boot 797eb3b80f6SSebastian Siewior loader passes other arguments to the kernel. 798eb3b80f6SSebastian Siewior This is useful if you cannot or don't want to change the 799eb3b80f6SSebastian Siewior command-line options your boot loader passes to the kernel. 800eb3b80f6SSebastian Siewior 801c356aa45SGrant Likelyconfig EXTRA_TARGETS 802c356aa45SGrant Likely string "Additional default image types" 803c356aa45SGrant Likely help 804c356aa45SGrant Likely List additional targets to be built by the bootwrapper here (separated 805c356aa45SGrant Likely by spaces). This is useful for targets that depend of device tree 806c356aa45SGrant Likely files in the .dts directory. 807c356aa45SGrant Likely 808c356aa45SGrant Likely Targets in this list will be build as part of the default build 809c356aa45SGrant Likely target, or when the user does a 'make zImage' or a 810c356aa45SGrant Likely 'make zImage.initrd'. 811c356aa45SGrant Likely 812c356aa45SGrant Likely If unsure, leave blank 813c356aa45SGrant Likely 814b28f5081SJohannes Bergconfig ARCH_WANTS_FREEZER_CONTROL 815b28f5081SJohannes Berg def_bool y 816b28f5081SJohannes Berg depends on ADB_PMU 817b28f5081SJohannes Berg 8188636a1f9SMasahiro Yamadasource "kernel/power/Kconfig" 81914cf11afSPaul Mackerras 82014cf11afSPaul Mackerrasconfig SECCOMP 82114cf11afSPaul Mackerras bool "Enable seccomp to safely compute untrusted bytecode" 82214cf11afSPaul Mackerras depends on PROC_FS 82314cf11afSPaul Mackerras default y 82414cf11afSPaul Mackerras help 82514cf11afSPaul Mackerras This kernel feature is useful for number crunching applications 82614cf11afSPaul Mackerras that may need to compute untrusted bytecode during their 82714cf11afSPaul Mackerras execution. By using pipes or other transports made available to 82814cf11afSPaul Mackerras the process as file descriptors supporting the read/write 82914cf11afSPaul Mackerras syscalls, it's possible to isolate those applications in 83014cf11afSPaul Mackerras their own address space using seccomp. Once seccomp is 83114cf11afSPaul Mackerras enabled via /proc/<pid>/seccomp, it cannot be disabled 83214cf11afSPaul Mackerras and the task is only allowed to execute a few safe syscalls 83314cf11afSPaul Mackerras defined by each seccomp mode. 83414cf11afSPaul Mackerras 83514cf11afSPaul Mackerras If unsure, say Y. Only embedded should say N here. 83614cf11afSPaul Mackerras 83792e3da3cSRam Paiconfig PPC_MEM_KEYS 83892e3da3cSRam Pai prompt "PowerPC Memory Protection Keys" 83992e3da3cSRam Pai def_bool y 84092e3da3cSRam Pai depends on PPC_BOOK3S_64 84192e3da3cSRam Pai select ARCH_USES_HIGH_VMA_FLAGS 84292e3da3cSRam Pai select ARCH_HAS_PKEYS 84392e3da3cSRam Pai help 84492e3da3cSRam Pai Memory Protection Keys provides a mechanism for enforcing 84592e3da3cSRam Pai page-based protections, but without requiring modification of the 84692e3da3cSRam Pai page tables when an application changes protection domains. 84792e3da3cSRam Pai 848ad56b738SMike Rapoport For details, see Documentation/vm/protection-keys.rst 84992e3da3cSRam Pai 85092e3da3cSRam Pai If unsure, say y. 85192e3da3cSRam Pai 85214cf11afSPaul Mackerrasendmenu 85314cf11afSPaul Mackerras 85414cf11afSPaul Mackerrasconfig ISA_DMA_API 85514cf11afSPaul Mackerras bool 8563d066d77SStephen Rothwell default PCI 85714cf11afSPaul Mackerras 85814cf11afSPaul Mackerrasmenu "Bus options" 85914cf11afSPaul Mackerras 86014cf11afSPaul Mackerrasconfig ISA 86114cf11afSPaul Mackerras bool "Support for ISA-bus hardware" 862933ee711SPaul Bolle depends on PPC_CHRP 863f9bd170aSPaul Mackerras select PPC_I8259 86414cf11afSPaul Mackerras help 86514cf11afSPaul Mackerras Find out whether you have ISA slots on your motherboard. ISA is the 86614cf11afSPaul Mackerras name of a bus system, i.e. the way the CPU talks to the other stuff 86714cf11afSPaul Mackerras inside your box. If you have an Apple machine, say N here; if you 868933ee711SPaul Bolle have an IBM RS/6000 or pSeries machine, say Y. If you have an 869933ee711SPaul Bolle embedded board, consult your board documentation. 87014cf11afSPaul Mackerras 87114cf11afSPaul Mackerrasconfig GENERIC_ISA_DMA 87214cf11afSPaul Mackerras bool 8731927445aSAnton Vorontsov depends on ISA_DMA_API 87414cf11afSPaul Mackerras default y 87514cf11afSPaul Mackerras 87625635c71SPaul Mackerrasconfig PPC_INDIRECT_PCI 87725635c71SPaul Mackerras bool 87825635c71SPaul Mackerras depends on PCI 87963dafe57SBecky Bruce default y if 40x || 44x 88025635c71SPaul Mackerras 88114cf11afSPaul Mackerrasconfig SBUS 88214cf11afSPaul Mackerras bool 88314cf11afSPaul Mackerras 88408264cbcSKumar Galaconfig FSL_SOC 88508264cbcSKumar Gala bool 88608264cbcSKumar Gala 88755c44991SRoy Zangconfig FSL_PCI 88855c44991SRoy Zang bool 889*11ddce15SChristoph Hellwig select ARCH_HAS_DMA_SET_MASK 89055c44991SRoy Zang select PPC_INDIRECT_PCI 891d0839118SKumar Gala select PCI_QUIRKS 89255c44991SRoy Zang 8934ffd6952SAnton Vorontsovconfig FSL_PMC 8944ffd6952SAnton Vorontsov bool 8954ffd6952SAnton Vorontsov default y 8964ffd6952SAnton Vorontsov depends on SUSPEND && (PPC_85xx || PPC_86xx) 8974ffd6952SAnton Vorontsov help 8984ffd6952SAnton Vorontsov Freescale MPC85xx/MPC86xx power management controller support 8994ffd6952SAnton Vorontsov (suspend/resume). For MPC83xx see platforms/83xx/suspend.c 9004ffd6952SAnton Vorontsov 901d164f6d4SVictor Gallardoconfig PPC4xx_CPM 902d164f6d4SVictor Gallardo bool 903d164f6d4SVictor Gallardo default y 904d164f6d4SVictor Gallardo depends on SUSPEND && (44x || 40x) 905d164f6d4SVictor Gallardo help 906d164f6d4SVictor Gallardo PPC4xx Clock Power Management (CPM) support (suspend/resume). 907d164f6d4SVictor Gallardo It also enables support for two different idle states (idle-wait 908d164f6d4SVictor Gallardo and idle-doze). 909d164f6d4SVictor Gallardo 9102a706919SStefan Roeseconfig 4xx_SOC 9112a706919SStefan Roese bool 9122a706919SStefan Roese 913acaa7aa3SAnton Vorontsovconfig FSL_LBC 9143ab8f2a2SRoy Zang bool "Freescale Local Bus support" 915acaa7aa3SAnton Vorontsov help 9163ab8f2a2SRoy Zang Enables reporting of errors from the Freescale local bus 9173ab8f2a2SRoy Zang controller. Also contains some common code used by 9183ab8f2a2SRoy Zang drivers for specific local bus peripherals. 919acaa7aa3SAnton Vorontsov 92083ff9dcfSAnton Vorontsovconfig FSL_GTM 92183ff9dcfSAnton Vorontsov bool 92283ff9dcfSAnton Vorontsov depends on PPC_83xx || QUICC_ENGINE || CPM2 92383ff9dcfSAnton Vorontsov help 92483ff9dcfSAnton Vorontsov Freescale General-purpose Timers support 92583ff9dcfSAnton Vorontsov 92614cf11afSPaul Mackerrasconfig PCI_8260 92714cf11afSPaul Mackerras bool 92814cf11afSPaul Mackerras depends on PCI && 8260 92925635c71SPaul Mackerras select PPC_INDIRECT_PCI 93014cf11afSPaul Mackerras default y 93114cf11afSPaul Mackerras 932388b78adSAlexandre Bounineconfig FSL_RIO 933388b78adSAlexandre Bounine bool "Freescale Embedded SRIO Controller support" 9341753d50cSChristoph Hellwig depends on RAPIDIO = y && HAVE_RAPIDIO 935388b78adSAlexandre Bounine default "n" 936388b78adSAlexandre Bounine ---help--- 937388b78adSAlexandre Bounine Include support for RapidIO controller on Freescale embedded 938388b78adSAlexandre Bounine processors (MPC8548, MPC8641, etc). 939388b78adSAlexandre Bounine 94014cf11afSPaul Mackerrasendmenu 94114cf11afSPaul Mackerras 9420f890c8dSSuzuki Pouloseconfig NONSTATIC_KERNEL 9430f890c8dSSuzuki Poulose bool 9440f890c8dSSuzuki Poulose 94514cf11afSPaul Mackerrasmenu "Advanced setup" 94614cf11afSPaul Mackerras depends on PPC32 94714cf11afSPaul Mackerras 94814cf11afSPaul Mackerrasconfig ADVANCED_OPTIONS 94914cf11afSPaul Mackerras bool "Prompt for advanced kernel configuration options" 95014cf11afSPaul Mackerras help 95114cf11afSPaul Mackerras This option will enable prompting for a variety of advanced kernel 95214cf11afSPaul Mackerras configuration options. These options can cause the kernel to not 95314cf11afSPaul Mackerras work if they are set incorrectly, but can be used to optimize certain 95414cf11afSPaul Mackerras aspects of kernel memory management. 95514cf11afSPaul Mackerras 95614cf11afSPaul Mackerras Unless you know what you are doing, say N here. 95714cf11afSPaul Mackerras 95814cf11afSPaul Mackerrascomment "Default settings for advanced configuration options are used" 95914cf11afSPaul Mackerras depends on !ADVANCED_OPTIONS 96014cf11afSPaul Mackerras 96114cf11afSPaul Mackerrasconfig LOWMEM_SIZE_BOOL 96214cf11afSPaul Mackerras bool "Set maximum low memory" 96314cf11afSPaul Mackerras depends on ADVANCED_OPTIONS 96414cf11afSPaul Mackerras help 96514cf11afSPaul Mackerras This option allows you to set the maximum amount of memory which 96614cf11afSPaul Mackerras will be used as "low memory", that is, memory which the kernel can 96714cf11afSPaul Mackerras access directly, without having to set up a kernel virtual mapping. 96814cf11afSPaul Mackerras This can be useful in optimizing the layout of kernel virtual 96914cf11afSPaul Mackerras memory. 97014cf11afSPaul Mackerras 97114cf11afSPaul Mackerras Say N here unless you know what you are doing. 97214cf11afSPaul Mackerras 97314cf11afSPaul Mackerrasconfig LOWMEM_SIZE 97414cf11afSPaul Mackerras hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL 97514cf11afSPaul Mackerras default "0x30000000" 97614cf11afSPaul Mackerras 97796051465STrent Piephoconfig LOWMEM_CAM_NUM_BOOL 97896051465STrent Piepho bool "Set number of CAMs to use to map low memory" 97996051465STrent Piepho depends on ADVANCED_OPTIONS && FSL_BOOKE 98096051465STrent Piepho help 98196051465STrent Piepho This option allows you to set the maximum number of CAM slots that 98296051465STrent Piepho will be used to map low memory. There are a limited number of slots 98396051465STrent Piepho available and even more limited number that will fit in the L1 MMU. 98496051465STrent Piepho However, using more entries will allow mapping more low memory. This 98596051465STrent Piepho can be useful in optimizing the layout of kernel virtual memory. 98696051465STrent Piepho 98796051465STrent Piepho Say N here unless you know what you are doing. 98896051465STrent Piepho 98996051465STrent Piephoconfig LOWMEM_CAM_NUM 9909b71dbd3SJosh Boyer depends on FSL_BOOKE 99196051465STrent Piepho int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL 99296051465STrent Piepho default 3 99396051465STrent Piepho 9940f890c8dSSuzuki Pouloseconfig DYNAMIC_MEMSTART 995642e56ffSKees Cook bool "Enable page aligned dynamic load address for kernel" 996642e56ffSKees Cook depends on ADVANCED_OPTIONS && FLATMEM && (FSL_BOOKE || 44x) 9970f890c8dSSuzuki Poulose select NONSTATIC_KERNEL 99837dd2badSKumar Gala help 9990f890c8dSSuzuki Poulose This option enables the kernel to be loaded at any page aligned 10000f890c8dSSuzuki Poulose physical address. The kernel creates a mapping from KERNELBASE to 10010f890c8dSSuzuki Poulose the address where the kernel is loaded. The page size here implies 10020f890c8dSSuzuki Poulose the TLB page size of the mapping for kernel on the particular platform. 10030f890c8dSSuzuki Poulose Please refer to the init code for finding the TLB page size. 100437dd2badSKumar Gala 10050f890c8dSSuzuki Poulose DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE 10060f890c8dSSuzuki Poulose kernel image, where the only restriction is the page aligned kernel 10070f890c8dSSuzuki Poulose load address. When this option is enabled, the compile time physical 10080f890c8dSSuzuki Poulose address CONFIG_PHYSICAL_START is ignored. 100937dd2badSKumar Gala 10109c5f7d39SSuzuki Poulose This option is overridden by CONFIG_RELOCATABLE 10119c5f7d39SSuzuki Poulose 101237dd2badSKumar Galaconfig PAGE_OFFSET_BOOL 101337dd2badSKumar Gala bool "Set custom page offset address" 101437dd2badSKumar Gala depends on ADVANCED_OPTIONS 101537dd2badSKumar Gala help 101637dd2badSKumar Gala This option allows you to set the kernel virtual address at which 101737dd2badSKumar Gala the kernel will map low memory. This can be useful in optimizing 101837dd2badSKumar Gala the virtual memory layout of the system. 101937dd2badSKumar Gala 102037dd2badSKumar Gala Say N here unless you know what you are doing. 102137dd2badSKumar Gala 102237dd2badSKumar Galaconfig PAGE_OFFSET 102337dd2badSKumar Gala hex "Virtual address of memory base" if PAGE_OFFSET_BOOL 102437dd2badSKumar Gala default "0xc0000000" 102537dd2badSKumar Gala 102614cf11afSPaul Mackerrasconfig KERNEL_START_BOOL 102714cf11afSPaul Mackerras bool "Set custom kernel base address" 102814cf11afSPaul Mackerras depends on ADVANCED_OPTIONS 102914cf11afSPaul Mackerras help 103014cf11afSPaul Mackerras This option allows you to set the kernel virtual address at which 103137dd2badSKumar Gala the kernel will be loaded. Normally this should match PAGE_OFFSET 103237dd2badSKumar Gala however there are times (like kdump) that one might not want them 103337dd2badSKumar Gala to be the same. 103414cf11afSPaul Mackerras 103514cf11afSPaul Mackerras Say N here unless you know what you are doing. 103614cf11afSPaul Mackerras 103714cf11afSPaul Mackerrasconfig KERNEL_START 103814cf11afSPaul Mackerras hex "Virtual address of kernel base" if KERNEL_START_BOOL 103937dd2badSKumar Gala default PAGE_OFFSET if PAGE_OFFSET_BOOL 10400f890c8dSSuzuki Poulose default "0xc2000000" if CRASH_DUMP && !NONSTATIC_KERNEL 104114cf11afSPaul Mackerras default "0xc0000000" 104214cf11afSPaul Mackerras 104337dd2badSKumar Galaconfig PHYSICAL_START_BOOL 104437dd2badSKumar Gala bool "Set physical address where the kernel is loaded" 104537dd2badSKumar Gala depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE 104637dd2badSKumar Gala help 104737dd2badSKumar Gala This gives the physical address where the kernel is loaded. 104837dd2badSKumar Gala 104937dd2badSKumar Gala Say N here unless you know what you are doing. 105037dd2badSKumar Gala 105137dd2badSKumar Galaconfig PHYSICAL_START 105237dd2badSKumar Gala hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL 105326598f28SChristophe Leroy default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL 105437dd2badSKumar Gala default "0x00000000" 105537dd2badSKumar Gala 105637dd2badSKumar Galaconfig PHYSICAL_ALIGN 105737dd2badSKumar Gala hex 1058c8f3570bSTrent Piepho default "0x04000000" if FSL_BOOKE 105937dd2badSKumar Gala help 106037dd2badSKumar Gala This value puts the alignment restrictions on physical address 106137dd2badSKumar Gala where kernel is loaded and run from. Kernel is compiled for an 106237dd2badSKumar Gala address which meets above alignment restriction. 106337dd2badSKumar Gala 106414cf11afSPaul Mackerrasconfig TASK_SIZE_BOOL 106514cf11afSPaul Mackerras bool "Set custom user task size" 106614cf11afSPaul Mackerras depends on ADVANCED_OPTIONS 106714cf11afSPaul Mackerras help 106814cf11afSPaul Mackerras This option allows you to set the amount of virtual address space 106914cf11afSPaul Mackerras allocated to user tasks. This can be useful in optimizing the 107014cf11afSPaul Mackerras virtual memory layout of the system. 107114cf11afSPaul Mackerras 107214cf11afSPaul Mackerras Say N here unless you know what you are doing. 107314cf11afSPaul Mackerras 107414cf11afSPaul Mackerrasconfig TASK_SIZE 107514cf11afSPaul Mackerras hex "Size of user task space" if TASK_SIZE_BOOL 1076933ee711SPaul Bolle default "0x80000000" if PPC_8xx 10774d9e5510SKumar Gala default "0xc0000000" 107814cf11afSPaul Mackerras 107984532a0fSBenjamin Herrenschmidtconfig CONSISTENT_SIZE_BOOL 108084532a0fSBenjamin Herrenschmidt bool "Set custom consistent memory pool size" 108184532a0fSBenjamin Herrenschmidt depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE 108284532a0fSBenjamin Herrenschmidt help 108384532a0fSBenjamin Herrenschmidt This option allows you to set the size of the 108484532a0fSBenjamin Herrenschmidt consistent memory pool. This pool of virtual memory 108584532a0fSBenjamin Herrenschmidt is used to make consistent memory allocations. 108684532a0fSBenjamin Herrenschmidt 108784532a0fSBenjamin Herrenschmidtconfig CONSISTENT_SIZE 108884532a0fSBenjamin Herrenschmidt hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL 108984532a0fSBenjamin Herrenschmidt default "0x00200000" if NOT_COHERENT_CACHE 109084532a0fSBenjamin Herrenschmidt 109114cf11afSPaul Mackerrasconfig PIN_TLB 109214cf11afSPaul Mackerras bool "Pinned Kernel TLBs (860 ONLY)" 109387be3e2dSChristophe Leroy depends on ADVANCED_OPTIONS && PPC_8xx && \ 109487be3e2dSChristophe Leroy !DEBUG_PAGEALLOC && !STRICT_KERNEL_RWX 109562f64b49SChristophe Leroy 1096a3059b0cSChristophe Leroyconfig PIN_TLB_DATA 1097a3059b0cSChristophe Leroy bool "Pinned TLB for DATA" 1098a3059b0cSChristophe Leroy depends on PIN_TLB 1099a3059b0cSChristophe Leroy default y 110062f64b49SChristophe Leroy 110162f64b49SChristophe Leroyconfig PIN_TLB_IMMR 110262f64b49SChristophe Leroy bool "Pinned TLB for IMMR" 110396d19d70SChristophe Leroy depends on PIN_TLB || PPC_EARLY_DEBUG_CPM 110462f64b49SChristophe Leroy default y 1105a3059b0cSChristophe Leroy 1106a3059b0cSChristophe Leroyconfig PIN_TLB_TEXT 1107a3059b0cSChristophe Leroy bool "Pinned TLB for TEXT" 1108a3059b0cSChristophe Leroy depends on PIN_TLB 1109a3059b0cSChristophe Leroy default y 111014cf11afSPaul Mackerrasendmenu 111114cf11afSPaul Mackerras 1112cabb5587SStephen Rothwellif PPC64 1113bdbc29c1SPaul Mackerras# This value must have zeroes in the bottom 60 bits otherwise lots will break 111437dd2badSKumar Galaconfig PAGE_OFFSET 1115cabb5587SStephen Rothwell hex 1116eeb2d218SStephen Rothwell default "0xc000000000000000" 111737dd2badSKumar Galaconfig KERNEL_START 111837dd2badSKumar Gala hex 111937dd2badSKumar Gala default "0xc000000000000000" 112037dd2badSKumar Galaconfig PHYSICAL_START 112137dd2badSKumar Gala hex 112237dd2badSKumar Gala default "0x00000000" 1123cabb5587SStephen Rothwellendif 1124cabb5587SStephen Rothwell 1125a4da0d50SMichael Ellermanconfig ARCH_RANDOM 1126a4da0d50SMichael Ellerman def_bool n 1127a4da0d50SMichael Ellerman 11281088a209SSylvain Munautconfig PPC_LIB_RHEAP 11291088a209SSylvain Munaut bool 11301088a209SSylvain Munaut 1131bbf45ba5SHollis Blanchardsource "arch/powerpc/kvm/Kconfig" 113285baa095SMichael Ellerman 113385baa095SMichael Ellermansource "kernel/livepatch/Kconfig" 1134