xref: /kernel/linux/linux-5.10/arch/powerpc/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_cisource "arch/powerpc/platforms/Kconfig.cputype"
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciconfig 32BIT
58c2ecf20Sopenharmony_ci	bool
68c2ecf20Sopenharmony_ci	default y if PPC32
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciconfig 64BIT
98c2ecf20Sopenharmony_ci	bool
108c2ecf20Sopenharmony_ci	default y if PPC64
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig MMU
138c2ecf20Sopenharmony_ci	bool
148c2ecf20Sopenharmony_ci	default y
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_BITS_MAX
178c2ecf20Sopenharmony_ci	# On Book3S 64, the default virtual address space for 64-bit processes
188c2ecf20Sopenharmony_ci	# is 2^47 (128TB). As a maximum, allow randomisation to consume up to
198c2ecf20Sopenharmony_ci	# 32T of address space (2^45), which should ensure a reasonable gap
208c2ecf20Sopenharmony_ci	# between bottom-up and top-down allocations for applications that
218c2ecf20Sopenharmony_ci	# consume "normal" amounts of address space. Book3S 64 only supports 64K
228c2ecf20Sopenharmony_ci	# and 4K page sizes.
238c2ecf20Sopenharmony_ci	default 29 if PPC_BOOK3S_64 && PPC_64K_PAGES # 29 = 45 (32T) - 16 (64K)
248c2ecf20Sopenharmony_ci	default 33 if PPC_BOOK3S_64		     # 33 = 45 (32T) - 12 (4K)
258c2ecf20Sopenharmony_ci	#
268c2ecf20Sopenharmony_ci	# On all other 64-bit platforms (currently only Book3E), the virtual
278c2ecf20Sopenharmony_ci	# address space is 2^46 (64TB). Allow randomisation to consume up to 16T
288c2ecf20Sopenharmony_ci	# of address space (2^44). Only 4K page sizes are supported.
298c2ecf20Sopenharmony_ci	default 32 if 64BIT	# 32 = 44 (16T) - 12 (4K)
308c2ecf20Sopenharmony_ci	#
318c2ecf20Sopenharmony_ci	# For 32-bit, use the compat values, as they're the same.
328c2ecf20Sopenharmony_ci	default ARCH_MMAP_RND_COMPAT_BITS_MAX
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_BITS_MIN
358c2ecf20Sopenharmony_ci	# Allow randomisation to consume up to 1GB of address space (2^30).
368c2ecf20Sopenharmony_ci	default 14 if 64BIT && PPC_64K_PAGES	# 14 = 30 (1GB) - 16 (64K)
378c2ecf20Sopenharmony_ci	default 18 if 64BIT			# 18 = 30 (1GB) - 12 (4K)
388c2ecf20Sopenharmony_ci	#
398c2ecf20Sopenharmony_ci	# For 32-bit, use the compat values, as they're the same.
408c2ecf20Sopenharmony_ci	default ARCH_MMAP_RND_COMPAT_BITS_MIN
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_COMPAT_BITS_MAX
438c2ecf20Sopenharmony_ci	# Total virtual address space for 32-bit processes is 2^31 (2GB).
448c2ecf20Sopenharmony_ci	# Allow randomisation to consume up to 512MB of address space (2^29).
458c2ecf20Sopenharmony_ci	default 11 if PPC_256K_PAGES	# 11 = 29 (512MB) - 18 (256K)
468c2ecf20Sopenharmony_ci	default 13 if PPC_64K_PAGES	# 13 = 29 (512MB) - 16 (64K)
478c2ecf20Sopenharmony_ci	default 15 if PPC_16K_PAGES	# 15 = 29 (512MB) - 14 (16K)
488c2ecf20Sopenharmony_ci	default 17			# 17 = 29 (512MB) - 12 (4K)
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_COMPAT_BITS_MIN
518c2ecf20Sopenharmony_ci	# Total virtual address space for 32-bit processes is 2^31 (2GB).
528c2ecf20Sopenharmony_ci	# Allow randomisation to consume up to 8MB of address space (2^23).
538c2ecf20Sopenharmony_ci	default 5 if PPC_256K_PAGES	#  5 = 23 (8MB) - 18 (256K)
548c2ecf20Sopenharmony_ci	default 7 if PPC_64K_PAGES	#  7 = 23 (8MB) - 16 (64K)
558c2ecf20Sopenharmony_ci	default 9 if PPC_16K_PAGES	#  9 = 23 (8MB) - 14 (16K)
568c2ecf20Sopenharmony_ci	default 11			# 11 = 23 (8MB) - 12 (4K)
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciconfig HAVE_SETUP_PER_CPU_AREA
598c2ecf20Sopenharmony_ci	def_bool PPC64
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciconfig NEED_PER_CPU_EMBED_FIRST_CHUNK
628c2ecf20Sopenharmony_ci	def_bool y if PPC64
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig NEED_PER_CPU_PAGE_FIRST_CHUNK
658c2ecf20Sopenharmony_ci	def_bool y if PPC64
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ciconfig NR_IRQS
688c2ecf20Sopenharmony_ci	int "Number of virtual interrupt numbers"
698c2ecf20Sopenharmony_ci	range 32 32768
708c2ecf20Sopenharmony_ci	default "512"
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  This defines the number of virtual interrupt numbers the kernel
738c2ecf20Sopenharmony_ci	  can manage. Virtual interrupt numbers are what you see in
748c2ecf20Sopenharmony_ci	  /proc/interrupts. If you configure your system to have too few,
758c2ecf20Sopenharmony_ci	  drivers will fail to load or worse - handle with care.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig NMI_IPI
788c2ecf20Sopenharmony_ci	bool
798c2ecf20Sopenharmony_ci	depends on SMP && (DEBUGGER || KEXEC_CORE || HARDLOCKUP_DETECTOR)
808c2ecf20Sopenharmony_ci	default y
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig PPC_WATCHDOG
838c2ecf20Sopenharmony_ci	bool
848c2ecf20Sopenharmony_ci	depends on HARDLOCKUP_DETECTOR
858c2ecf20Sopenharmony_ci	depends on HAVE_HARDLOCKUP_DETECTOR_ARCH
868c2ecf20Sopenharmony_ci	default y
878c2ecf20Sopenharmony_ci	help
888c2ecf20Sopenharmony_ci	  This is a placeholder when the powerpc hardlockup detector
898c2ecf20Sopenharmony_ci	  watchdog is selected (arch/powerpc/kernel/watchdog.c). It is
908c2ecf20Sopenharmony_ci	  seleted via the generic lockup detector menu which is why we
918c2ecf20Sopenharmony_ci	  have no standalone config option for it here.
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT
948c2ecf20Sopenharmony_ci	bool
958c2ecf20Sopenharmony_ci	default y
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig TRACE_IRQFLAGS_SUPPORT
988c2ecf20Sopenharmony_ci	bool
998c2ecf20Sopenharmony_ci	default y
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig LOCKDEP_SUPPORT
1028c2ecf20Sopenharmony_ci	bool
1038c2ecf20Sopenharmony_ci	default y
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ciconfig GENERIC_LOCKBREAK
1068c2ecf20Sopenharmony_ci	bool
1078c2ecf20Sopenharmony_ci	default y
1088c2ecf20Sopenharmony_ci	depends on SMP && PREEMPTION
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT
1118c2ecf20Sopenharmony_ci	bool
1128c2ecf20Sopenharmony_ci	default y
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig PPC
1158c2ecf20Sopenharmony_ci	bool
1168c2ecf20Sopenharmony_ci	default y
1178c2ecf20Sopenharmony_ci	#
1188c2ecf20Sopenharmony_ci	# Please keep this list sorted alphabetically.
1198c2ecf20Sopenharmony_ci	#
1208c2ecf20Sopenharmony_ci	select ARCH_32BIT_OFF_T if PPC32
1218c2ecf20Sopenharmony_ci	select ARCH_HAS_DEBUG_VIRTUAL
1228c2ecf20Sopenharmony_ci	select ARCH_HAS_DEVMEM_IS_ALLOWED
1238c2ecf20Sopenharmony_ci	select ARCH_HAS_ELF_RANDOMIZE
1248c2ecf20Sopenharmony_ci	select ARCH_HAS_FORTIFY_SOURCE
1258c2ecf20Sopenharmony_ci	select ARCH_HAS_GCOV_PROFILE_ALL
1268c2ecf20Sopenharmony_ci	select ARCH_HAS_KCOV
1278c2ecf20Sopenharmony_ci	select ARCH_HAS_HUGEPD			if HUGETLB_PAGE
1288c2ecf20Sopenharmony_ci	select ARCH_HAS_MEMREMAP_COMPAT_ALIGN
1298c2ecf20Sopenharmony_ci	select ARCH_HAS_MMIOWB			if PPC64
1308c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
1318c2ecf20Sopenharmony_ci	select ARCH_HAS_PMEM_API
1328c2ecf20Sopenharmony_ci	select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
1338c2ecf20Sopenharmony_ci	select ARCH_HAS_PTE_DEVMAP		if PPC_BOOK3S_64
1348c2ecf20Sopenharmony_ci	select ARCH_HAS_PTE_SPECIAL
1358c2ecf20Sopenharmony_ci	select ARCH_HAS_MEMBARRIER_CALLBACKS
1368c2ecf20Sopenharmony_ci	select ARCH_HAS_MEMBARRIER_SYNC_CORE
1378c2ecf20Sopenharmony_ci	select ARCH_HAS_SCALED_CPUTIME		if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64
1388c2ecf20Sopenharmony_ci	select ARCH_HAS_STRICT_KERNEL_RWX	if (PPC32 && !HIBERNATION)
1398c2ecf20Sopenharmony_ci	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
1408c2ecf20Sopenharmony_ci	select ARCH_HAS_UACCESS_FLUSHCACHE
1418c2ecf20Sopenharmony_ci	select ARCH_HAS_COPY_MC			if PPC64
1428c2ecf20Sopenharmony_ci	select ARCH_HAS_UBSAN_SANITIZE_ALL
1438c2ecf20Sopenharmony_ci	select ARCH_HAVE_NMI_SAFE_CMPXCHG
1448c2ecf20Sopenharmony_ci	select ARCH_KEEP_MEMBLOCK
1458c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
1468c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
1478c2ecf20Sopenharmony_ci	select ARCH_OPTIONAL_KERNEL_RWX		if ARCH_HAS_STRICT_KERNEL_RWX
1488c2ecf20Sopenharmony_ci	select ARCH_SUPPORTS_ATOMIC_RMW
1498c2ecf20Sopenharmony_ci	select ARCH_USE_BUILTIN_BSWAP
1508c2ecf20Sopenharmony_ci	select ARCH_USE_CMPXCHG_LOCKREF		if PPC64
1518c2ecf20Sopenharmony_ci	select ARCH_USE_QUEUED_RWLOCKS		if PPC_QUEUED_SPINLOCKS
1528c2ecf20Sopenharmony_ci	select ARCH_USE_QUEUED_SPINLOCKS	if PPC_QUEUED_SPINLOCKS
1538c2ecf20Sopenharmony_ci	select ARCH_WANT_IPC_PARSE_VERSION
1548c2ecf20Sopenharmony_ci	select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
1558c2ecf20Sopenharmony_ci	select ARCH_WANT_LD_ORPHAN_WARN
1568c2ecf20Sopenharmony_ci	select ARCH_WEAK_RELEASE_ACQUIRE
1578c2ecf20Sopenharmony_ci	select BINFMT_ELF
1588c2ecf20Sopenharmony_ci	select BUILDTIME_TABLE_SORT
1598c2ecf20Sopenharmony_ci	select CLONE_BACKWARDS
1608c2ecf20Sopenharmony_ci	select DCACHE_WORD_ACCESS		if PPC64 && CPU_LITTLE_ENDIAN
1618c2ecf20Sopenharmony_ci	select DMA_OPS				if PPC64
1628c2ecf20Sopenharmony_ci	select DMA_OPS_BYPASS			if PPC64
1638c2ecf20Sopenharmony_ci	select DYNAMIC_FTRACE			if FUNCTION_TRACER
1648c2ecf20Sopenharmony_ci	select EDAC_ATOMIC_SCRUB
1658c2ecf20Sopenharmony_ci	select EDAC_SUPPORT
1668c2ecf20Sopenharmony_ci	select GENERIC_ATOMIC64			if PPC32
1678c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS
1688c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS_BROADCAST	if SMP
1698c2ecf20Sopenharmony_ci	select GENERIC_CMOS_UPDATE
1708c2ecf20Sopenharmony_ci	select GENERIC_CPU_AUTOPROBE
1718c2ecf20Sopenharmony_ci	select GENERIC_CPU_VULNERABILITIES	if PPC_BARRIER_NOSPEC
1728c2ecf20Sopenharmony_ci	select GENERIC_EARLY_IOREMAP
1738c2ecf20Sopenharmony_ci	select GENERIC_IRQ_SHOW
1748c2ecf20Sopenharmony_ci	select GENERIC_IRQ_SHOW_LEVEL
1758c2ecf20Sopenharmony_ci	select GENERIC_PCI_IOMAP		if PCI
1768c2ecf20Sopenharmony_ci	select GENERIC_SMP_IDLE_THREAD
1778c2ecf20Sopenharmony_ci	select GENERIC_STRNCPY_FROM_USER
1788c2ecf20Sopenharmony_ci	select GENERIC_STRNLEN_USER
1798c2ecf20Sopenharmony_ci	select GENERIC_TIME_VSYSCALL
1808c2ecf20Sopenharmony_ci	select HAVE_ARCH_AUDITSYSCALL
1818c2ecf20Sopenharmony_ci	select HAVE_ARCH_HUGE_VMAP		if PPC_BOOK3S_64 && PPC_RADIX_MMU
1828c2ecf20Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL
1838c2ecf20Sopenharmony_ci	select HAVE_ARCH_KASAN			if PPC32 && PPC_PAGE_SHIFT <= 14
1848c2ecf20Sopenharmony_ci	select HAVE_ARCH_KASAN_VMALLOC		if PPC32 && PPC_PAGE_SHIFT <= 14
1858c2ecf20Sopenharmony_ci	select HAVE_ARCH_KGDB
1868c2ecf20Sopenharmony_ci	select HAVE_ARCH_MMAP_RND_BITS
1878c2ecf20Sopenharmony_ci	select HAVE_ARCH_MMAP_RND_COMPAT_BITS	if COMPAT
1888c2ecf20Sopenharmony_ci	select HAVE_ARCH_NVRAM_OPS
1898c2ecf20Sopenharmony_ci	select HAVE_ARCH_SECCOMP_FILTER
1908c2ecf20Sopenharmony_ci	select HAVE_ARCH_TRACEHOOK
1918c2ecf20Sopenharmony_ci	select HAVE_ASM_MODVERSIONS
1928c2ecf20Sopenharmony_ci	select HAVE_C_RECORDMCOUNT
1938c2ecf20Sopenharmony_ci	select HAVE_CBPF_JIT			if !PPC64
1948c2ecf20Sopenharmony_ci	select HAVE_STACKPROTECTOR		if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13)
1958c2ecf20Sopenharmony_ci	select HAVE_STACKPROTECTOR		if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2)
1968c2ecf20Sopenharmony_ci	select HAVE_CONTEXT_TRACKING		if PPC64
1978c2ecf20Sopenharmony_ci	select HAVE_TIF_NOHZ			if PPC64
1988c2ecf20Sopenharmony_ci	select HAVE_DEBUG_KMEMLEAK
1998c2ecf20Sopenharmony_ci	select HAVE_DEBUG_STACKOVERFLOW
2008c2ecf20Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE
2018c2ecf20Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE_WITH_REGS	if MPROFILE_KERNEL
2028c2ecf20Sopenharmony_ci	select HAVE_EBPF_JIT			if PPC64
2038c2ecf20Sopenharmony_ci	select HAVE_EFFICIENT_UNALIGNED_ACCESS	if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
2048c2ecf20Sopenharmony_ci	select HAVE_FAST_GUP
2058c2ecf20Sopenharmony_ci	select HAVE_FTRACE_MCOUNT_RECORD
2068c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_ERROR_INJECTION
2078c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_GRAPH_TRACER
2088c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_TRACER
2098c2ecf20Sopenharmony_ci	select HAVE_GCC_PLUGINS			if GCC_VERSION >= 50200   # plugin support on gcc <= 5.1 is buggy on PPC
2108c2ecf20Sopenharmony_ci	select HAVE_HW_BREAKPOINT		if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
2118c2ecf20Sopenharmony_ci	select HAVE_IDE
2128c2ecf20Sopenharmony_ci	select HAVE_IOREMAP_PROT
2138c2ecf20Sopenharmony_ci	select HAVE_IRQ_EXIT_ON_IRQ_STACK
2148c2ecf20Sopenharmony_ci	select HAVE_KERNEL_GZIP
2158c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZMA			if DEFAULT_UIMAGE
2168c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZO			if DEFAULT_UIMAGE
2178c2ecf20Sopenharmony_ci	select HAVE_KERNEL_XZ			if PPC_BOOK3S || 44x
2188c2ecf20Sopenharmony_ci	select HAVE_KPROBES
2198c2ecf20Sopenharmony_ci	select HAVE_KPROBES_ON_FTRACE
2208c2ecf20Sopenharmony_ci	select HAVE_KRETPROBES
2218c2ecf20Sopenharmony_ci	select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
2228c2ecf20Sopenharmony_ci	select HAVE_LIVEPATCH			if HAVE_DYNAMIC_FTRACE_WITH_REGS
2238c2ecf20Sopenharmony_ci	select HAVE_MOD_ARCH_SPECIFIC
2248c2ecf20Sopenharmony_ci	select HAVE_NMI				if PERF_EVENTS || (PPC64 && PPC_BOOK3S)
2258c2ecf20Sopenharmony_ci	select HAVE_HARDLOCKUP_DETECTOR_ARCH	if PPC64 && PPC_BOOK3S && SMP
2268c2ecf20Sopenharmony_ci	select HAVE_OPROFILE
2278c2ecf20Sopenharmony_ci	select HAVE_OPTPROBES			if PPC64
2288c2ecf20Sopenharmony_ci	select HAVE_PERF_EVENTS
2298c2ecf20Sopenharmony_ci	select HAVE_PERF_EVENTS_NMI		if PPC64
2308c2ecf20Sopenharmony_ci	select HAVE_HARDLOCKUP_DETECTOR_PERF	if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
2318c2ecf20Sopenharmony_ci	select HAVE_PERF_REGS
2328c2ecf20Sopenharmony_ci	select HAVE_PERF_USER_STACK_DUMP
2338c2ecf20Sopenharmony_ci	select MMU_GATHER_RCU_TABLE_FREE
2348c2ecf20Sopenharmony_ci	select MMU_GATHER_PAGE_SIZE
2358c2ecf20Sopenharmony_ci	select HAVE_REGS_AND_STACK_ACCESS_API
2368c2ecf20Sopenharmony_ci	select HAVE_RELIABLE_STACKTRACE		if PPC_BOOK3S_64 && CPU_LITTLE_ENDIAN
2378c2ecf20Sopenharmony_ci	select HAVE_SYSCALL_TRACEPOINTS
2388c2ecf20Sopenharmony_ci	select HAVE_VIRT_CPU_ACCOUNTING
2398c2ecf20Sopenharmony_ci	select HAVE_IRQ_TIME_ACCOUNTING
2408c2ecf20Sopenharmony_ci	select HAVE_RSEQ
2418c2ecf20Sopenharmony_ci	select IOMMU_HELPER			if PPC64
2428c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
2438c2ecf20Sopenharmony_ci	select IRQ_FORCED_THREADING
2448c2ecf20Sopenharmony_ci	select MODULES_USE_ELF_RELA
2458c2ecf20Sopenharmony_ci	select NEED_DMA_MAP_STATE		if PPC64 || NOT_COHERENT_CACHE
2468c2ecf20Sopenharmony_ci	select NEED_SG_DMA_LENGTH
2478c2ecf20Sopenharmony_ci	select OF
2488c2ecf20Sopenharmony_ci	select OF_DMA_DEFAULT_COHERENT		if !NOT_COHERENT_CACHE
2498c2ecf20Sopenharmony_ci	select OF_EARLY_FLATTREE
2508c2ecf20Sopenharmony_ci	select OLD_SIGACTION			if PPC32
2518c2ecf20Sopenharmony_ci	select OLD_SIGSUSPEND
2528c2ecf20Sopenharmony_ci	select PCI_DOMAINS			if PCI
2538c2ecf20Sopenharmony_ci	select PCI_MSI_ARCH_FALLBACKS		if PCI_MSI
2548c2ecf20Sopenharmony_ci	select PCI_SYSCALL			if PCI
2558c2ecf20Sopenharmony_ci	select PPC_DAWR				if PPC64
2568c2ecf20Sopenharmony_ci	select RTC_LIB
2578c2ecf20Sopenharmony_ci	select SPARSE_IRQ
2588c2ecf20Sopenharmony_ci	select SYSCTL_EXCEPTION_TRACE
2598c2ecf20Sopenharmony_ci	select THREAD_INFO_IN_TASK
2608c2ecf20Sopenharmony_ci	select VIRT_TO_BUS			if !PPC64
2618c2ecf20Sopenharmony_ci	#
2628c2ecf20Sopenharmony_ci	# Please keep this list sorted alphabetically.
2638c2ecf20Sopenharmony_ci	#
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ciconfig PPC_BARRIER_NOSPEC
2668c2ecf20Sopenharmony_ci	bool
2678c2ecf20Sopenharmony_ci	default y
2688c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ciconfig EARLY_PRINTK
2718c2ecf20Sopenharmony_ci	bool
2728c2ecf20Sopenharmony_ci	default y
2738c2ecf20Sopenharmony_ci
2748c2ecf20Sopenharmony_ciconfig PANIC_TIMEOUT
2758c2ecf20Sopenharmony_ci	int
2768c2ecf20Sopenharmony_ci	default 180
2778c2ecf20Sopenharmony_ci
2788c2ecf20Sopenharmony_ciconfig COMPAT
2798c2ecf20Sopenharmony_ci	bool "Enable support for 32bit binaries"
2808c2ecf20Sopenharmony_ci	depends on PPC64
2818c2ecf20Sopenharmony_ci	default y if !CPU_LITTLE_ENDIAN
2828c2ecf20Sopenharmony_ci	select COMPAT_BINFMT_ELF
2838c2ecf20Sopenharmony_ci	select ARCH_WANT_OLD_COMPAT_IPC
2848c2ecf20Sopenharmony_ci	select COMPAT_OLD_SIGACTION
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ciconfig SYSVIPC_COMPAT
2878c2ecf20Sopenharmony_ci	bool
2888c2ecf20Sopenharmony_ci	depends on COMPAT && SYSVIPC
2898c2ecf20Sopenharmony_ci	default y
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ciconfig SCHED_OMIT_FRAME_POINTER
2928c2ecf20Sopenharmony_ci	bool
2938c2ecf20Sopenharmony_ci	default y
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ciconfig ARCH_MAY_HAVE_PC_FDC
2968c2ecf20Sopenharmony_ci	bool
2978c2ecf20Sopenharmony_ci	default PCI
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ciconfig PPC_UDBG_16550
3008c2ecf20Sopenharmony_ci	bool
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ciconfig GENERIC_TBSYNC
3038c2ecf20Sopenharmony_ci	bool
3048c2ecf20Sopenharmony_ci	default y if PPC32 && SMP
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ciconfig AUDIT_ARCH
3078c2ecf20Sopenharmony_ci	bool
3088c2ecf20Sopenharmony_ci	default y
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ciconfig GENERIC_BUG
3118c2ecf20Sopenharmony_ci	bool
3128c2ecf20Sopenharmony_ci	default y
3138c2ecf20Sopenharmony_ci	depends on BUG
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_APM_EMULATION
3168c2ecf20Sopenharmony_ci	default y if PMAC_APM_EMU
3178c2ecf20Sopenharmony_ci	bool
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ciconfig EPAPR_BOOT
3208c2ecf20Sopenharmony_ci	bool
3218c2ecf20Sopenharmony_ci	help
3228c2ecf20Sopenharmony_ci	  Used to allow a board to specify it wants an ePAPR compliant wrapper.
3238c2ecf20Sopenharmony_ci
3248c2ecf20Sopenharmony_ciconfig DEFAULT_UIMAGE
3258c2ecf20Sopenharmony_ci	bool
3268c2ecf20Sopenharmony_ci	help
3278c2ecf20Sopenharmony_ci	  Used to allow a board to specify it wants a uImage built by default
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ciconfig ARCH_HIBERNATION_POSSIBLE
3308c2ecf20Sopenharmony_ci	bool
3318c2ecf20Sopenharmony_ci	default y
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ciconfig ARCH_SUSPEND_POSSIBLE
3348c2ecf20Sopenharmony_ci	def_bool y
3358c2ecf20Sopenharmony_ci	depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
3368c2ecf20Sopenharmony_ci		   (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \
3378c2ecf20Sopenharmony_ci		   || 44x || 40x
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ciconfig ARCH_SUSPEND_NONZERO_CPU
3408c2ecf20Sopenharmony_ci	def_bool y
3418c2ecf20Sopenharmony_ci	depends on PPC_POWERNV || PPC_PSERIES
3428c2ecf20Sopenharmony_ci
3438c2ecf20Sopenharmony_ciconfig PPC_DCR_NATIVE
3448c2ecf20Sopenharmony_ci	bool
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ciconfig PPC_DCR_MMIO
3478c2ecf20Sopenharmony_ci	bool
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ciconfig PPC_DCR
3508c2ecf20Sopenharmony_ci	bool
3518c2ecf20Sopenharmony_ci	depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
3528c2ecf20Sopenharmony_ci	default y
3538c2ecf20Sopenharmony_ci
3548c2ecf20Sopenharmony_ciconfig PPC_OF_PLATFORM_PCI
3558c2ecf20Sopenharmony_ci	bool
3568c2ecf20Sopenharmony_ci	depends on PCI
3578c2ecf20Sopenharmony_ci	depends on PPC64 # not supported on 32 bits yet
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ciconfig ARCH_SUPPORTS_DEBUG_PAGEALLOC
3608c2ecf20Sopenharmony_ci	depends on PPC32 || PPC_BOOK3S_64
3618c2ecf20Sopenharmony_ci	def_bool y
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ciconfig ARCH_SUPPORTS_UPROBES
3648c2ecf20Sopenharmony_ci	def_bool y
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ciconfig PPC_ADV_DEBUG_REGS
3678c2ecf20Sopenharmony_ci	bool
3688c2ecf20Sopenharmony_ci	depends on 40x || BOOKE
3698c2ecf20Sopenharmony_ci	default y
3708c2ecf20Sopenharmony_ci
3718c2ecf20Sopenharmony_ciconfig PPC_ADV_DEBUG_IACS
3728c2ecf20Sopenharmony_ci	int
3738c2ecf20Sopenharmony_ci	depends on PPC_ADV_DEBUG_REGS
3748c2ecf20Sopenharmony_ci	default 4 if 44x
3758c2ecf20Sopenharmony_ci	default 2
3768c2ecf20Sopenharmony_ci
3778c2ecf20Sopenharmony_ciconfig PPC_ADV_DEBUG_DACS
3788c2ecf20Sopenharmony_ci	int
3798c2ecf20Sopenharmony_ci	depends on PPC_ADV_DEBUG_REGS
3808c2ecf20Sopenharmony_ci	default 2
3818c2ecf20Sopenharmony_ci
3828c2ecf20Sopenharmony_ciconfig PPC_ADV_DEBUG_DVCS
3838c2ecf20Sopenharmony_ci	int
3848c2ecf20Sopenharmony_ci	depends on PPC_ADV_DEBUG_REGS
3858c2ecf20Sopenharmony_ci	default 2 if 44x
3868c2ecf20Sopenharmony_ci	default 0
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ciconfig PPC_ADV_DEBUG_DAC_RANGE
3898c2ecf20Sopenharmony_ci	bool
3908c2ecf20Sopenharmony_ci	depends on PPC_ADV_DEBUG_REGS && 44x
3918c2ecf20Sopenharmony_ci	default y
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ciconfig PPC_DAWR
3948c2ecf20Sopenharmony_ci	bool
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ciconfig ZONE_DMA
3978c2ecf20Sopenharmony_ci	bool
3988c2ecf20Sopenharmony_ci	default y if PPC_BOOK3E_64
3998c2ecf20Sopenharmony_ci
4008c2ecf20Sopenharmony_ciconfig PGTABLE_LEVELS
4018c2ecf20Sopenharmony_ci	int
4028c2ecf20Sopenharmony_ci	default 2 if !PPC64
4038c2ecf20Sopenharmony_ci	default 4
4048c2ecf20Sopenharmony_ci
4058c2ecf20Sopenharmony_cisource "arch/powerpc/sysdev/Kconfig"
4068c2ecf20Sopenharmony_cisource "arch/powerpc/platforms/Kconfig"
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_cimenu "Kernel options"
4098c2ecf20Sopenharmony_ci
4108c2ecf20Sopenharmony_ciconfig HIGHMEM
4118c2ecf20Sopenharmony_ci	bool "High memory support"
4128c2ecf20Sopenharmony_ci	depends on PPC32
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_cisource "kernel/Kconfig.hz"
4158c2ecf20Sopenharmony_ci
4168c2ecf20Sopenharmony_ciconfig HUGETLB_PAGE_SIZE_VARIABLE
4178c2ecf20Sopenharmony_ci	bool
4188c2ecf20Sopenharmony_ci	depends on HUGETLB_PAGE && PPC_BOOK3S_64
4198c2ecf20Sopenharmony_ci	default y
4208c2ecf20Sopenharmony_ci
4218c2ecf20Sopenharmony_ciconfig MATH_EMULATION
4228c2ecf20Sopenharmony_ci	bool "Math emulation"
4238c2ecf20Sopenharmony_ci	depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE
4248c2ecf20Sopenharmony_ci	help
4258c2ecf20Sopenharmony_ci	  Some PowerPC chips designed for embedded applications do not have
4268c2ecf20Sopenharmony_ci	  a floating-point unit and therefore do not implement the
4278c2ecf20Sopenharmony_ci	  floating-point instructions in the PowerPC instruction set.  If you
4288c2ecf20Sopenharmony_ci	  say Y here, the kernel will include code to emulate a floating-point
4298c2ecf20Sopenharmony_ci	  unit, which will allow programs that use floating-point
4308c2ecf20Sopenharmony_ci	  instructions to run.
4318c2ecf20Sopenharmony_ci
4328c2ecf20Sopenharmony_ci	  This is also useful to emulate missing (optional) instructions
4338c2ecf20Sopenharmony_ci	  such as fsqrt on cores that do have an FPU but do not implement
4348c2ecf20Sopenharmony_ci	  them (such as Freescale BookE).
4358c2ecf20Sopenharmony_ci
4368c2ecf20Sopenharmony_cichoice
4378c2ecf20Sopenharmony_ci	prompt "Math emulation options"
4388c2ecf20Sopenharmony_ci	default MATH_EMULATION_FULL
4398c2ecf20Sopenharmony_ci	depends on MATH_EMULATION
4408c2ecf20Sopenharmony_ci
4418c2ecf20Sopenharmony_ciconfig	MATH_EMULATION_FULL
4428c2ecf20Sopenharmony_ci	bool "Emulate all the floating point instructions"
4438c2ecf20Sopenharmony_ci	help
4448c2ecf20Sopenharmony_ci	  Select this option will enable the kernel to support to emulate
4458c2ecf20Sopenharmony_ci	  all the floating point instructions. If your SoC doesn't have
4468c2ecf20Sopenharmony_ci	  a FPU, you should select this.
4478c2ecf20Sopenharmony_ci
4488c2ecf20Sopenharmony_ciconfig MATH_EMULATION_HW_UNIMPLEMENTED
4498c2ecf20Sopenharmony_ci	bool "Just emulate the FPU unimplemented instructions"
4508c2ecf20Sopenharmony_ci	help
4518c2ecf20Sopenharmony_ci	  Select this if you know there does have a hardware FPU on your
4528c2ecf20Sopenharmony_ci	  SoC, but some floating point instructions are not implemented by that.
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ciendchoice
4558c2ecf20Sopenharmony_ci
4568c2ecf20Sopenharmony_ciconfig PPC_TRANSACTIONAL_MEM
4578c2ecf20Sopenharmony_ci	bool "Transactional Memory support for POWERPC"
4588c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64
4598c2ecf20Sopenharmony_ci	depends on SMP
4608c2ecf20Sopenharmony_ci	select ALTIVEC
4618c2ecf20Sopenharmony_ci	select VSX
4628c2ecf20Sopenharmony_ci	help
4638c2ecf20Sopenharmony_ci	  Support user-mode Transactional Memory on POWERPC.
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ciconfig PPC_UV
4668c2ecf20Sopenharmony_ci	bool "Ultravisor support"
4678c2ecf20Sopenharmony_ci	depends on KVM_BOOK3S_HV_POSSIBLE
4688c2ecf20Sopenharmony_ci	depends on DEVICE_PRIVATE
4698c2ecf20Sopenharmony_ci	default n
4708c2ecf20Sopenharmony_ci	help
4718c2ecf20Sopenharmony_ci	  This option paravirtualizes the kernel to run in POWER platforms that
4728c2ecf20Sopenharmony_ci	  supports the Protected Execution Facility (PEF). On such platforms,
4738c2ecf20Sopenharmony_ci	  the ultravisor firmware runs at a privilege level above the
4748c2ecf20Sopenharmony_ci	  hypervisor.
4758c2ecf20Sopenharmony_ci
4768c2ecf20Sopenharmony_ci	  If unsure, say "N".
4778c2ecf20Sopenharmony_ci
4788c2ecf20Sopenharmony_ciconfig LD_HEAD_STUB_CATCH
4798c2ecf20Sopenharmony_ci	bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT
4808c2ecf20Sopenharmony_ci	depends on PPC64
4818c2ecf20Sopenharmony_ci	help
4828c2ecf20Sopenharmony_ci	  Very large kernels can cause linker branch stubs to be generated by
4838c2ecf20Sopenharmony_ci	  code in head_64.S, which moves the head text sections out of their
4848c2ecf20Sopenharmony_ci	  specified location. This option can work around the problem.
4858c2ecf20Sopenharmony_ci
4868c2ecf20Sopenharmony_ci	  If unsure, say "N".
4878c2ecf20Sopenharmony_ci
4888c2ecf20Sopenharmony_ciconfig MPROFILE_KERNEL
4898c2ecf20Sopenharmony_ci	depends on PPC64 && CPU_LITTLE_ENDIAN && FUNCTION_TRACER
4908c2ecf20Sopenharmony_ci	def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__)
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ciconfig HOTPLUG_CPU
4938c2ecf20Sopenharmony_ci	bool "Support for enabling/disabling CPUs"
4948c2ecf20Sopenharmony_ci	depends on SMP && (PPC_PSERIES || \
4958c2ecf20Sopenharmony_ci		PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE)
4968c2ecf20Sopenharmony_ci	help
4978c2ecf20Sopenharmony_ci	  Say Y here to be able to disable and re-enable individual
4988c2ecf20Sopenharmony_ci	  CPUs at runtime on SMP machines.
4998c2ecf20Sopenharmony_ci
5008c2ecf20Sopenharmony_ci	  Say N if you are unsure.
5018c2ecf20Sopenharmony_ci
5028c2ecf20Sopenharmony_ciconfig PPC_QUEUED_SPINLOCKS
5038c2ecf20Sopenharmony_ci	bool "Queued spinlocks"
5048c2ecf20Sopenharmony_ci	depends on SMP
5058c2ecf20Sopenharmony_ci	help
5068c2ecf20Sopenharmony_ci	  Say Y here to use queued spinlocks which give better scalability and
5078c2ecf20Sopenharmony_ci	  fairness on large SMP and NUMA systems without harming single threaded
5088c2ecf20Sopenharmony_ci	  performance.
5098c2ecf20Sopenharmony_ci
5108c2ecf20Sopenharmony_ci	  This option is currently experimental, the code is more complex and
5118c2ecf20Sopenharmony_ci	  less tested so it defaults to "N" for the moment.
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ci	  If unsure, say "N".
5148c2ecf20Sopenharmony_ci
5158c2ecf20Sopenharmony_ciconfig ARCH_CPU_PROBE_RELEASE
5168c2ecf20Sopenharmony_ci	def_bool y
5178c2ecf20Sopenharmony_ci	depends on HOTPLUG_CPU
5188c2ecf20Sopenharmony_ci
5198c2ecf20Sopenharmony_ciconfig ARCH_ENABLE_MEMORY_HOTPLUG
5208c2ecf20Sopenharmony_ci	def_bool y
5218c2ecf20Sopenharmony_ci
5228c2ecf20Sopenharmony_ciconfig ARCH_ENABLE_MEMORY_HOTREMOVE
5238c2ecf20Sopenharmony_ci	def_bool y
5248c2ecf20Sopenharmony_ci
5258c2ecf20Sopenharmony_ciconfig PPC64_SUPPORTS_MEMORY_FAILURE
5268c2ecf20Sopenharmony_ci	bool "Add support for memory hwpoison"
5278c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64
5288c2ecf20Sopenharmony_ci	default "y" if PPC_POWERNV
5298c2ecf20Sopenharmony_ci	select ARCH_SUPPORTS_MEMORY_FAILURE
5308c2ecf20Sopenharmony_ci
5318c2ecf20Sopenharmony_ciconfig KEXEC
5328c2ecf20Sopenharmony_ci	bool "kexec system call"
5338c2ecf20Sopenharmony_ci	depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) || PPC_BOOK3E
5348c2ecf20Sopenharmony_ci	select KEXEC_CORE
5358c2ecf20Sopenharmony_ci	help
5368c2ecf20Sopenharmony_ci	  kexec is a system call that implements the ability to shutdown your
5378c2ecf20Sopenharmony_ci	  current kernel, and to start another kernel.  It is like a reboot
5388c2ecf20Sopenharmony_ci	  but it is independent of the system firmware.   And like a reboot
5398c2ecf20Sopenharmony_ci	  you can start any kernel with it, not just Linux.
5408c2ecf20Sopenharmony_ci
5418c2ecf20Sopenharmony_ci	  The name comes from the similarity to the exec system call.
5428c2ecf20Sopenharmony_ci
5438c2ecf20Sopenharmony_ci	  It is an ongoing process to be certain the hardware in a machine
5448c2ecf20Sopenharmony_ci	  is properly shutdown, so do not be surprised if this code does not
5458c2ecf20Sopenharmony_ci	  initially work for you.  As of this writing the exact hardware
5468c2ecf20Sopenharmony_ci	  interface is strongly in flux, so no good recommendation can be
5478c2ecf20Sopenharmony_ci	  made.
5488c2ecf20Sopenharmony_ci
5498c2ecf20Sopenharmony_ciconfig KEXEC_FILE
5508c2ecf20Sopenharmony_ci	bool "kexec file based system call"
5518c2ecf20Sopenharmony_ci	select KEXEC_CORE
5528c2ecf20Sopenharmony_ci	select HAVE_IMA_KEXEC
5538c2ecf20Sopenharmony_ci	select BUILD_BIN2C
5548c2ecf20Sopenharmony_ci	select KEXEC_ELF
5558c2ecf20Sopenharmony_ci	depends on PPC64
5568c2ecf20Sopenharmony_ci	depends on CRYPTO=y
5578c2ecf20Sopenharmony_ci	depends on CRYPTO_SHA256=y
5588c2ecf20Sopenharmony_ci	help
5598c2ecf20Sopenharmony_ci	  This is a new version of the kexec system call. This call is
5608c2ecf20Sopenharmony_ci	  file based and takes in file descriptors as system call arguments
5618c2ecf20Sopenharmony_ci	  for kernel and initramfs as opposed to a list of segments as is the
5628c2ecf20Sopenharmony_ci	  case for the older kexec call.
5638c2ecf20Sopenharmony_ci
5648c2ecf20Sopenharmony_ciconfig ARCH_HAS_KEXEC_PURGATORY
5658c2ecf20Sopenharmony_ci	def_bool KEXEC_FILE
5668c2ecf20Sopenharmony_ci
5678c2ecf20Sopenharmony_ciconfig RELOCATABLE
5688c2ecf20Sopenharmony_ci	bool "Build a relocatable kernel"
5698c2ecf20Sopenharmony_ci	depends on PPC64 || (FLATMEM && (44x || FSL_BOOKE))
5708c2ecf20Sopenharmony_ci	select NONSTATIC_KERNEL
5718c2ecf20Sopenharmony_ci	select MODULE_REL_CRCS if MODVERSIONS
5728c2ecf20Sopenharmony_ci	help
5738c2ecf20Sopenharmony_ci	  This builds a kernel image that is capable of running at the
5748c2ecf20Sopenharmony_ci	  location the kernel is loaded at. For ppc32, there is no any
5758c2ecf20Sopenharmony_ci	  alignment restrictions, and this feature is a superset of
5768c2ecf20Sopenharmony_ci	  DYNAMIC_MEMSTART and hence overrides it. For ppc64, we should use
5778c2ecf20Sopenharmony_ci	  16k-aligned base address. The kernel is linked as a
5788c2ecf20Sopenharmony_ci	  position-independent executable (PIE) and contains dynamic relocations
5798c2ecf20Sopenharmony_ci	  which are processed early in the bootup process.
5808c2ecf20Sopenharmony_ci
5818c2ecf20Sopenharmony_ci	  One use is for the kexec on panic case where the recovery kernel
5828c2ecf20Sopenharmony_ci	  must live at a different physical address than the primary
5838c2ecf20Sopenharmony_ci	  kernel.
5848c2ecf20Sopenharmony_ci
5858c2ecf20Sopenharmony_ci	  Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
5868c2ecf20Sopenharmony_ci	  it has been loaded at and the compile time physical addresses
5878c2ecf20Sopenharmony_ci	  CONFIG_PHYSICAL_START is ignored.  However CONFIG_PHYSICAL_START
5888c2ecf20Sopenharmony_ci	  setting can still be useful to bootwrappers that need to know the
5898c2ecf20Sopenharmony_ci	  load address of the kernel (eg. u-boot/mkimage).
5908c2ecf20Sopenharmony_ci
5918c2ecf20Sopenharmony_ciconfig RANDOMIZE_BASE
5928c2ecf20Sopenharmony_ci	bool "Randomize the address of the kernel image"
5938c2ecf20Sopenharmony_ci	depends on (FSL_BOOKE && FLATMEM && PPC32)
5948c2ecf20Sopenharmony_ci	depends on RELOCATABLE
5958c2ecf20Sopenharmony_ci	help
5968c2ecf20Sopenharmony_ci	  Randomizes the virtual address at which the kernel image is
5978c2ecf20Sopenharmony_ci	  loaded, as a security feature that deters exploit attempts
5988c2ecf20Sopenharmony_ci	  relying on knowledge of the location of kernel internals.
5998c2ecf20Sopenharmony_ci
6008c2ecf20Sopenharmony_ci	  If unsure, say Y.
6018c2ecf20Sopenharmony_ci
6028c2ecf20Sopenharmony_ciconfig RELOCATABLE_TEST
6038c2ecf20Sopenharmony_ci	bool "Test relocatable kernel"
6048c2ecf20Sopenharmony_ci	depends on (PPC64 && RELOCATABLE)
6058c2ecf20Sopenharmony_ci	help
6068c2ecf20Sopenharmony_ci	  This runs the relocatable kernel at the address it was initially
6078c2ecf20Sopenharmony_ci	  loaded at, which tends to be non-zero and therefore test the
6088c2ecf20Sopenharmony_ci	  relocation code.
6098c2ecf20Sopenharmony_ci
6108c2ecf20Sopenharmony_ciconfig CRASH_DUMP
6118c2ecf20Sopenharmony_ci	bool "Build a dump capture kernel"
6128c2ecf20Sopenharmony_ci	depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP)
6138c2ecf20Sopenharmony_ci	select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
6148c2ecf20Sopenharmony_ci	help
6158c2ecf20Sopenharmony_ci	  Build a kernel suitable for use as a dump capture kernel.
6168c2ecf20Sopenharmony_ci	  The same kernel binary can be used as production kernel and dump
6178c2ecf20Sopenharmony_ci	  capture kernel.
6188c2ecf20Sopenharmony_ci
6198c2ecf20Sopenharmony_ciconfig FA_DUMP
6208c2ecf20Sopenharmony_ci	bool "Firmware-assisted dump"
6218c2ecf20Sopenharmony_ci	depends on PPC64 && (PPC_RTAS || PPC_POWERNV)
6228c2ecf20Sopenharmony_ci	select CRASH_CORE
6238c2ecf20Sopenharmony_ci	select CRASH_DUMP
6248c2ecf20Sopenharmony_ci	help
6258c2ecf20Sopenharmony_ci	  A robust mechanism to get reliable kernel crash dump with
6268c2ecf20Sopenharmony_ci	  assistance from firmware. This approach does not use kexec,
6278c2ecf20Sopenharmony_ci	  instead firmware assists in booting the capture kernel
6288c2ecf20Sopenharmony_ci	  while preserving memory contents. Firmware-assisted dump
6298c2ecf20Sopenharmony_ci	  is meant to be a kdump replacement offering robustness and
6308c2ecf20Sopenharmony_ci	  speed not possible without system firmware assistance.
6318c2ecf20Sopenharmony_ci
6328c2ecf20Sopenharmony_ci	  If unsure, say "y". Only special kernels like petitboot may
6338c2ecf20Sopenharmony_ci	  need to say "N" here.
6348c2ecf20Sopenharmony_ci
6358c2ecf20Sopenharmony_ciconfig PRESERVE_FA_DUMP
6368c2ecf20Sopenharmony_ci	bool "Preserve Firmware-assisted dump"
6378c2ecf20Sopenharmony_ci	depends on PPC64 && PPC_POWERNV && !FA_DUMP
6388c2ecf20Sopenharmony_ci	help
6398c2ecf20Sopenharmony_ci	  On a kernel with FA_DUMP disabled, this option helps to preserve
6408c2ecf20Sopenharmony_ci	  crash data from a previously crash'ed kernel. Useful when the next
6418c2ecf20Sopenharmony_ci	  memory preserving kernel boot would process this crash data.
6428c2ecf20Sopenharmony_ci	  Petitboot kernel is the typical usecase for this option.
6438c2ecf20Sopenharmony_ci
6448c2ecf20Sopenharmony_ciconfig OPAL_CORE
6458c2ecf20Sopenharmony_ci	bool "Export OPAL memory as /sys/firmware/opal/core"
6468c2ecf20Sopenharmony_ci	depends on PPC64 && PPC_POWERNV
6478c2ecf20Sopenharmony_ci	help
6488c2ecf20Sopenharmony_ci	  This option uses the MPIPL support in firmware to provide an
6498c2ecf20Sopenharmony_ci	  ELF core of OPAL memory after a crash. The ELF core is exported
6508c2ecf20Sopenharmony_ci	  as /sys/firmware/opal/core file which is helpful in debugging
6518c2ecf20Sopenharmony_ci	  OPAL crashes using GDB.
6528c2ecf20Sopenharmony_ci
6538c2ecf20Sopenharmony_ciconfig IRQ_ALL_CPUS
6548c2ecf20Sopenharmony_ci	bool "Distribute interrupts on all CPUs by default"
6558c2ecf20Sopenharmony_ci	depends on SMP
6568c2ecf20Sopenharmony_ci	help
6578c2ecf20Sopenharmony_ci	  This option gives the kernel permission to distribute IRQs across
6588c2ecf20Sopenharmony_ci	  multiple CPUs.  Saying N here will route all IRQs to the first
6598c2ecf20Sopenharmony_ci	  CPU.  Generally saying Y is safe, although some problems have been
6608c2ecf20Sopenharmony_ci	  reported with SMP Power Macintoshes with this option enabled.
6618c2ecf20Sopenharmony_ci
6628c2ecf20Sopenharmony_ciconfig NUMA
6638c2ecf20Sopenharmony_ci	bool "NUMA support"
6648c2ecf20Sopenharmony_ci	depends on PPC64
6658c2ecf20Sopenharmony_ci	default y if SMP && PPC_PSERIES
6668c2ecf20Sopenharmony_ci
6678c2ecf20Sopenharmony_ciconfig NODES_SHIFT
6688c2ecf20Sopenharmony_ci	int
6698c2ecf20Sopenharmony_ci	default "8" if PPC64
6708c2ecf20Sopenharmony_ci	default "4"
6718c2ecf20Sopenharmony_ci	depends on NEED_MULTIPLE_NODES
6728c2ecf20Sopenharmony_ci
6738c2ecf20Sopenharmony_ciconfig USE_PERCPU_NUMA_NODE_ID
6748c2ecf20Sopenharmony_ci	def_bool y
6758c2ecf20Sopenharmony_ci	depends on NUMA
6768c2ecf20Sopenharmony_ci
6778c2ecf20Sopenharmony_ciconfig HAVE_MEMORYLESS_NODES
6788c2ecf20Sopenharmony_ci	def_bool y
6798c2ecf20Sopenharmony_ci	depends on NUMA
6808c2ecf20Sopenharmony_ci
6818c2ecf20Sopenharmony_ciconfig ARCH_SELECT_MEMORY_MODEL
6828c2ecf20Sopenharmony_ci	def_bool y
6838c2ecf20Sopenharmony_ci	depends on PPC64
6848c2ecf20Sopenharmony_ci
6858c2ecf20Sopenharmony_ciconfig ARCH_FLATMEM_ENABLE
6868c2ecf20Sopenharmony_ci	def_bool y
6878c2ecf20Sopenharmony_ci	depends on (PPC64 && !NUMA) || PPC32
6888c2ecf20Sopenharmony_ci
6898c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_ENABLE
6908c2ecf20Sopenharmony_ci	def_bool y
6918c2ecf20Sopenharmony_ci	depends on PPC64
6928c2ecf20Sopenharmony_ci	select SPARSEMEM_VMEMMAP_ENABLE
6938c2ecf20Sopenharmony_ci
6948c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_DEFAULT
6958c2ecf20Sopenharmony_ci	def_bool y
6968c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64
6978c2ecf20Sopenharmony_ci
6988c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_HUGETLBFS
6998c2ecf20Sopenharmony_ci	bool
7008c2ecf20Sopenharmony_ci
7018c2ecf20Sopenharmony_ciconfig ILLEGAL_POINTER_VALUE
7028c2ecf20Sopenharmony_ci	hex
7038c2ecf20Sopenharmony_ci	# This is roughly half way between the top of user space and the bottom
7048c2ecf20Sopenharmony_ci	# of kernel space, which seems about as good as we can get.
7058c2ecf20Sopenharmony_ci	default 0x5deadbeef0000000 if PPC64
7068c2ecf20Sopenharmony_ci	default 0
7078c2ecf20Sopenharmony_ci
7088c2ecf20Sopenharmony_ciconfig ARCH_MEMORY_PROBE
7098c2ecf20Sopenharmony_ci	def_bool y
7108c2ecf20Sopenharmony_ci	depends on MEMORY_HOTPLUG
7118c2ecf20Sopenharmony_ci
7128c2ecf20Sopenharmony_ciconfig STDBINUTILS
7138c2ecf20Sopenharmony_ci	bool "Using standard binutils settings"
7148c2ecf20Sopenharmony_ci	depends on 44x
7158c2ecf20Sopenharmony_ci	default y
7168c2ecf20Sopenharmony_ci	help
7178c2ecf20Sopenharmony_ci	  Turning this option off allows you to select 256KB PAGE_SIZE on 44x.
7188c2ecf20Sopenharmony_ci	  Note, that kernel will be able to run only those applications,
7198c2ecf20Sopenharmony_ci	  which had been compiled using binutils later than 2.17.50.0.3 with
7208c2ecf20Sopenharmony_ci	  '-zmax-page-size' set to 256K (the default is 64K). Or, if using
7218c2ecf20Sopenharmony_ci	  the older binutils, you can patch them with a trivial patch, which
7228c2ecf20Sopenharmony_ci	  changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000.
7238c2ecf20Sopenharmony_ci
7248c2ecf20Sopenharmony_cichoice
7258c2ecf20Sopenharmony_ci	prompt "Page size"
7268c2ecf20Sopenharmony_ci	default PPC_4K_PAGES
7278c2ecf20Sopenharmony_ci	help
7288c2ecf20Sopenharmony_ci	  Select the kernel logical page size. Increasing the page size
7298c2ecf20Sopenharmony_ci	  will reduce software overhead at each page boundary, allow
7308c2ecf20Sopenharmony_ci	  hardware prefetch mechanisms to be more effective, and allow
7318c2ecf20Sopenharmony_ci	  larger dma transfers increasing IO efficiency and reducing
7328c2ecf20Sopenharmony_ci	  overhead. However the utilization of memory will increase.
7338c2ecf20Sopenharmony_ci	  For example, each cached file will using a multiple of the
7348c2ecf20Sopenharmony_ci	  page size to hold its contents and the difference between the
7358c2ecf20Sopenharmony_ci	  end of file and the end of page is wasted.
7368c2ecf20Sopenharmony_ci
7378c2ecf20Sopenharmony_ci	  Some dedicated systems, such as software raid serving with
7388c2ecf20Sopenharmony_ci	  accelerated calculations, have shown significant increases.
7398c2ecf20Sopenharmony_ci
7408c2ecf20Sopenharmony_ci	  If you configure a 64 bit kernel for 64k pages but the
7418c2ecf20Sopenharmony_ci	  processor does not support them, then the kernel will simulate
7428c2ecf20Sopenharmony_ci	  them with 4k pages, loading them on demand, but with the
7438c2ecf20Sopenharmony_ci	  reduced software overhead and larger internal fragmentation.
7448c2ecf20Sopenharmony_ci	  For the 32 bit kernel, a large page option will not be offered
7458c2ecf20Sopenharmony_ci	  unless it is supported by the configured processor.
7468c2ecf20Sopenharmony_ci
7478c2ecf20Sopenharmony_ci	  If unsure, choose 4K_PAGES.
7488c2ecf20Sopenharmony_ci
7498c2ecf20Sopenharmony_ciconfig PPC_4K_PAGES
7508c2ecf20Sopenharmony_ci	bool "4k page size"
7518c2ecf20Sopenharmony_ci	select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64
7528c2ecf20Sopenharmony_ci
7538c2ecf20Sopenharmony_ciconfig PPC_16K_PAGES
7548c2ecf20Sopenharmony_ci	bool "16k page size"
7558c2ecf20Sopenharmony_ci	depends on 44x || PPC_8xx
7568c2ecf20Sopenharmony_ci
7578c2ecf20Sopenharmony_ciconfig PPC_64K_PAGES
7588c2ecf20Sopenharmony_ci	bool "64k page size"
7598c2ecf20Sopenharmony_ci	depends on 44x || PPC_BOOK3S_64
7608c2ecf20Sopenharmony_ci	select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64
7618c2ecf20Sopenharmony_ci
7628c2ecf20Sopenharmony_ciconfig PPC_256K_PAGES
7638c2ecf20Sopenharmony_ci	bool "256k page size"
7648c2ecf20Sopenharmony_ci	depends on 44x && !STDBINUTILS && !PPC_47x
7658c2ecf20Sopenharmony_ci	help
7668c2ecf20Sopenharmony_ci	  Make the page size 256k.
7678c2ecf20Sopenharmony_ci
7688c2ecf20Sopenharmony_ci	  As the ELF standard only requires alignment to support page
7698c2ecf20Sopenharmony_ci	  sizes up to 64k, you will need to compile all of your user
7708c2ecf20Sopenharmony_ci	  space applications with a non-standard binutils settings
7718c2ecf20Sopenharmony_ci	  (see the STDBINUTILS description for details).
7728c2ecf20Sopenharmony_ci
7738c2ecf20Sopenharmony_ci	  Say N unless you know what you are doing.
7748c2ecf20Sopenharmony_ci
7758c2ecf20Sopenharmony_ciendchoice
7768c2ecf20Sopenharmony_ci
7778c2ecf20Sopenharmony_ciconfig PPC_PAGE_SHIFT
7788c2ecf20Sopenharmony_ci	int
7798c2ecf20Sopenharmony_ci	default 18 if PPC_256K_PAGES
7808c2ecf20Sopenharmony_ci	default 16 if PPC_64K_PAGES
7818c2ecf20Sopenharmony_ci	default 14 if PPC_16K_PAGES
7828c2ecf20Sopenharmony_ci	default 12
7838c2ecf20Sopenharmony_ci
7848c2ecf20Sopenharmony_ciconfig THREAD_SHIFT
7858c2ecf20Sopenharmony_ci	int "Thread shift" if EXPERT
7868c2ecf20Sopenharmony_ci	range 13 15
7878c2ecf20Sopenharmony_ci	default "15" if PPC_256K_PAGES
7888c2ecf20Sopenharmony_ci	default "14" if PPC64
7898c2ecf20Sopenharmony_ci	default "13"
7908c2ecf20Sopenharmony_ci	help
7918c2ecf20Sopenharmony_ci	  Used to define the stack size. The default is almost always what you
7928c2ecf20Sopenharmony_ci	  want. Only change this if you know what you are doing.
7938c2ecf20Sopenharmony_ci
7948c2ecf20Sopenharmony_ciconfig DATA_SHIFT_BOOL
7958c2ecf20Sopenharmony_ci	bool "Set custom data alignment"
7968c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS
7978c2ecf20Sopenharmony_ci	depends on STRICT_KERNEL_RWX || DEBUG_PAGEALLOC
7988c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_32 || (PPC_8xx && !PIN_TLB_DATA && \
7998c2ecf20Sopenharmony_ci				     (!PIN_TLB_TEXT || !STRICT_KERNEL_RWX))
8008c2ecf20Sopenharmony_ci	help
8018c2ecf20Sopenharmony_ci	  This option allows you to set the kernel data alignment. When
8028c2ecf20Sopenharmony_ci	  RAM is mapped by blocks, the alignment needs to fit the size and
8038c2ecf20Sopenharmony_ci	  number of possible blocks. The default should be OK for most configs.
8048c2ecf20Sopenharmony_ci
8058c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
8068c2ecf20Sopenharmony_ci
8078c2ecf20Sopenharmony_ciconfig DATA_SHIFT
8088c2ecf20Sopenharmony_ci	int "Data shift" if DATA_SHIFT_BOOL
8098c2ecf20Sopenharmony_ci	default 24 if STRICT_KERNEL_RWX && PPC64
8108c2ecf20Sopenharmony_ci	range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC) && PPC_BOOK3S_32
8118c2ecf20Sopenharmony_ci	range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC) && PPC_8xx
8128c2ecf20Sopenharmony_ci	default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32
8138c2ecf20Sopenharmony_ci	default 18 if DEBUG_PAGEALLOC && PPC_BOOK3S_32
8148c2ecf20Sopenharmony_ci	default 23 if STRICT_KERNEL_RWX && PPC_8xx
8158c2ecf20Sopenharmony_ci	default 23 if DEBUG_PAGEALLOC && PPC_8xx && PIN_TLB_DATA
8168c2ecf20Sopenharmony_ci	default 19 if DEBUG_PAGEALLOC && PPC_8xx
8178c2ecf20Sopenharmony_ci	default PPC_PAGE_SHIFT
8188c2ecf20Sopenharmony_ci	help
8198c2ecf20Sopenharmony_ci	  On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO.
8208c2ecf20Sopenharmony_ci	  Smaller is the alignment, greater is the number of necessary DBATs.
8218c2ecf20Sopenharmony_ci
8228c2ecf20Sopenharmony_ci	  On 8xx, large pages (512kb or 8M) are used to map kernel linear
8238c2ecf20Sopenharmony_ci	  memory. Aligning to 8M reduces TLB misses as only 8M pages are used
8248c2ecf20Sopenharmony_ci	  in that case. If PIN_TLB is selected, it must be aligned to 8M as
8258c2ecf20Sopenharmony_ci	  8M pages will be pinned.
8268c2ecf20Sopenharmony_ci
8278c2ecf20Sopenharmony_ciconfig FORCE_MAX_ZONEORDER
8288c2ecf20Sopenharmony_ci	int "Maximum zone order"
8298c2ecf20Sopenharmony_ci	range 8 9 if PPC64 && PPC_64K_PAGES
8308c2ecf20Sopenharmony_ci	default "9" if PPC64 && PPC_64K_PAGES
8318c2ecf20Sopenharmony_ci	range 13 13 if PPC64 && !PPC_64K_PAGES
8328c2ecf20Sopenharmony_ci	default "13" if PPC64 && !PPC_64K_PAGES
8338c2ecf20Sopenharmony_ci	range 9 64 if PPC32 && PPC_16K_PAGES
8348c2ecf20Sopenharmony_ci	default "9" if PPC32 && PPC_16K_PAGES
8358c2ecf20Sopenharmony_ci	range 7 64 if PPC32 && PPC_64K_PAGES
8368c2ecf20Sopenharmony_ci	default "7" if PPC32 && PPC_64K_PAGES
8378c2ecf20Sopenharmony_ci	range 5 64 if PPC32 && PPC_256K_PAGES
8388c2ecf20Sopenharmony_ci	default "5" if PPC32 && PPC_256K_PAGES
8398c2ecf20Sopenharmony_ci	range 11 64
8408c2ecf20Sopenharmony_ci	default "11"
8418c2ecf20Sopenharmony_ci	help
8428c2ecf20Sopenharmony_ci	  The kernel memory allocator divides physically contiguous memory
8438c2ecf20Sopenharmony_ci	  blocks into "zones", where each zone is a power of two number of
8448c2ecf20Sopenharmony_ci	  pages.  This option selects the largest power of two that the kernel
8458c2ecf20Sopenharmony_ci	  keeps in the memory allocator.  If you need to allocate very large
8468c2ecf20Sopenharmony_ci	  blocks of physically contiguous memory, then you may need to
8478c2ecf20Sopenharmony_ci	  increase this value.
8488c2ecf20Sopenharmony_ci
8498c2ecf20Sopenharmony_ci	  This config option is actually maximum order plus one. For example,
8508c2ecf20Sopenharmony_ci	  a value of 11 means that the largest free memory block is 2^10 pages.
8518c2ecf20Sopenharmony_ci
8528c2ecf20Sopenharmony_ci	  The page size is not necessarily 4KB.  For example, on 64-bit
8538c2ecf20Sopenharmony_ci	  systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES.  Keep
8548c2ecf20Sopenharmony_ci	  this in mind when choosing a value for this option.
8558c2ecf20Sopenharmony_ci
8568c2ecf20Sopenharmony_ciconfig PPC_SUBPAGE_PROT
8578c2ecf20Sopenharmony_ci	bool "Support setting protections for 4k subpages (subpage_prot syscall)"
8588c2ecf20Sopenharmony_ci	default n
8598c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64 && PPC_64K_PAGES
8608c2ecf20Sopenharmony_ci	help
8618c2ecf20Sopenharmony_ci	  This option adds support for system call to allow user programs
8628c2ecf20Sopenharmony_ci	  to set access permissions (read/write, readonly, or no access)
8638c2ecf20Sopenharmony_ci	  on the 4k subpages of each 64k page.
8648c2ecf20Sopenharmony_ci
8658c2ecf20Sopenharmony_ci	  If unsure, say N here.
8668c2ecf20Sopenharmony_ci
8678c2ecf20Sopenharmony_ciconfig PPC_PROT_SAO_LPAR
8688c2ecf20Sopenharmony_ci	bool "Support PROT_SAO mappings in LPARs"
8698c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64
8708c2ecf20Sopenharmony_ci	help
8718c2ecf20Sopenharmony_ci	  This option adds support for PROT_SAO mappings from userspace
8728c2ecf20Sopenharmony_ci	  inside LPARs on supported CPUs.
8738c2ecf20Sopenharmony_ci
8748c2ecf20Sopenharmony_ci	  This may cause issues when performing guest migration from
8758c2ecf20Sopenharmony_ci	  a CPU that supports SAO to one that does not.
8768c2ecf20Sopenharmony_ci
8778c2ecf20Sopenharmony_ci	  If unsure, say N here.
8788c2ecf20Sopenharmony_ci
8798c2ecf20Sopenharmony_ciconfig PPC_COPRO_BASE
8808c2ecf20Sopenharmony_ci	bool
8818c2ecf20Sopenharmony_ci
8828c2ecf20Sopenharmony_ciconfig SCHED_SMT
8838c2ecf20Sopenharmony_ci	bool "SMT (Hyperthreading) scheduler support"
8848c2ecf20Sopenharmony_ci	depends on PPC64 && SMP
8858c2ecf20Sopenharmony_ci	help
8868c2ecf20Sopenharmony_ci	  SMT scheduler support improves the CPU scheduler's decision making
8878c2ecf20Sopenharmony_ci	  when dealing with POWER5 cpus at a cost of slightly increased
8888c2ecf20Sopenharmony_ci	  overhead in some places. If unsure say N here.
8898c2ecf20Sopenharmony_ci
8908c2ecf20Sopenharmony_ciconfig PPC_DENORMALISATION
8918c2ecf20Sopenharmony_ci	bool "PowerPC denormalisation exception handling"
8928c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64
8938c2ecf20Sopenharmony_ci	default "y" if PPC_POWERNV
8948c2ecf20Sopenharmony_ci	help
8958c2ecf20Sopenharmony_ci	  Add support for handling denormalisation of single precision
8968c2ecf20Sopenharmony_ci	  values.  Useful for bare metal only.  If unsure say Y here.
8978c2ecf20Sopenharmony_ci
8988c2ecf20Sopenharmony_ciconfig CMDLINE
8998c2ecf20Sopenharmony_ci	string "Initial kernel command string"
9008c2ecf20Sopenharmony_ci	default ""
9018c2ecf20Sopenharmony_ci	help
9028c2ecf20Sopenharmony_ci	  On some platforms, there is currently no way for the boot loader to
9038c2ecf20Sopenharmony_ci	  pass arguments to the kernel. For these platforms, you can supply
9048c2ecf20Sopenharmony_ci	  some command-line options at build time by entering them here.  In
9058c2ecf20Sopenharmony_ci	  most cases you will need to specify the root device here.
9068c2ecf20Sopenharmony_ci
9078c2ecf20Sopenharmony_cichoice
9088c2ecf20Sopenharmony_ci	prompt "Kernel command line type" if CMDLINE != ""
9098c2ecf20Sopenharmony_ci	default CMDLINE_FROM_BOOTLOADER
9108c2ecf20Sopenharmony_ci
9118c2ecf20Sopenharmony_ciconfig CMDLINE_FROM_BOOTLOADER
9128c2ecf20Sopenharmony_ci	bool "Use bootloader kernel arguments if available"
9138c2ecf20Sopenharmony_ci	help
9148c2ecf20Sopenharmony_ci	  Uses the command-line options passed by the boot loader. If
9158c2ecf20Sopenharmony_ci	  the boot loader doesn't provide any, the default kernel command
9168c2ecf20Sopenharmony_ci	  string provided in CMDLINE will be used.
9178c2ecf20Sopenharmony_ci
9188c2ecf20Sopenharmony_ciconfig CMDLINE_EXTEND
9198c2ecf20Sopenharmony_ci	bool "Extend bootloader kernel arguments"
9208c2ecf20Sopenharmony_ci	help
9218c2ecf20Sopenharmony_ci	  The command-line arguments provided by the boot loader will be
9228c2ecf20Sopenharmony_ci	  appended to the default kernel command string.
9238c2ecf20Sopenharmony_ci
9248c2ecf20Sopenharmony_ciconfig CMDLINE_FORCE
9258c2ecf20Sopenharmony_ci	bool "Always use the default kernel command string"
9268c2ecf20Sopenharmony_ci	help
9278c2ecf20Sopenharmony_ci	  Always use the default kernel command string, even if the boot
9288c2ecf20Sopenharmony_ci	  loader passes other arguments to the kernel.
9298c2ecf20Sopenharmony_ci	  This is useful if you cannot or don't want to change the
9308c2ecf20Sopenharmony_ci	  command-line options your boot loader passes to the kernel.
9318c2ecf20Sopenharmony_ci
9328c2ecf20Sopenharmony_ciendchoice
9338c2ecf20Sopenharmony_ci
9348c2ecf20Sopenharmony_ciconfig EXTRA_TARGETS
9358c2ecf20Sopenharmony_ci	string "Additional default image types"
9368c2ecf20Sopenharmony_ci	help
9378c2ecf20Sopenharmony_ci	  List additional targets to be built by the bootwrapper here (separated
9388c2ecf20Sopenharmony_ci	  by spaces).  This is useful for targets that depend of device tree
9398c2ecf20Sopenharmony_ci	  files in the .dts directory.
9408c2ecf20Sopenharmony_ci
9418c2ecf20Sopenharmony_ci	  Targets in this list will be build as part of the default build
9428c2ecf20Sopenharmony_ci	  target, or when the user does a 'make zImage' or a
9438c2ecf20Sopenharmony_ci	  'make zImage.initrd'.
9448c2ecf20Sopenharmony_ci
9458c2ecf20Sopenharmony_ci	  If unsure, leave blank
9468c2ecf20Sopenharmony_ci
9478c2ecf20Sopenharmony_ciconfig ARCH_WANTS_FREEZER_CONTROL
9488c2ecf20Sopenharmony_ci	def_bool y
9498c2ecf20Sopenharmony_ci	depends on ADB_PMU
9508c2ecf20Sopenharmony_ci
9518c2ecf20Sopenharmony_cisource "kernel/power/Kconfig"
9528c2ecf20Sopenharmony_ci
9538c2ecf20Sopenharmony_ciconfig PPC_MEM_KEYS
9548c2ecf20Sopenharmony_ci	prompt "PowerPC Memory Protection Keys"
9558c2ecf20Sopenharmony_ci	def_bool y
9568c2ecf20Sopenharmony_ci	depends on PPC_BOOK3S_64
9578c2ecf20Sopenharmony_ci	select ARCH_USES_HIGH_VMA_FLAGS
9588c2ecf20Sopenharmony_ci	select ARCH_HAS_PKEYS
9598c2ecf20Sopenharmony_ci	help
9608c2ecf20Sopenharmony_ci	  Memory Protection Keys provides a mechanism for enforcing
9618c2ecf20Sopenharmony_ci	  page-based protections, but without requiring modification of the
9628c2ecf20Sopenharmony_ci	  page tables when an application changes protection domains.
9638c2ecf20Sopenharmony_ci
9648c2ecf20Sopenharmony_ci	  For details, see Documentation/core-api/protection-keys.rst
9658c2ecf20Sopenharmony_ci
9668c2ecf20Sopenharmony_ci	  If unsure, say y.
9678c2ecf20Sopenharmony_ci
9688c2ecf20Sopenharmony_ciconfig PPC_SECURE_BOOT
9698c2ecf20Sopenharmony_ci	prompt "Enable secure boot support"
9708c2ecf20Sopenharmony_ci	bool
9718c2ecf20Sopenharmony_ci	depends on PPC_POWERNV || PPC_PSERIES
9728c2ecf20Sopenharmony_ci	depends on IMA_ARCH_POLICY
9738c2ecf20Sopenharmony_ci	imply IMA_SECURE_AND_OR_TRUSTED_BOOT
9748c2ecf20Sopenharmony_ci	help
9758c2ecf20Sopenharmony_ci	  Systems with firmware secure boot enabled need to define security
9768c2ecf20Sopenharmony_ci	  policies to extend secure boot to the OS. This config allows a user
9778c2ecf20Sopenharmony_ci	  to enable OS secure boot on systems that have firmware support for
9788c2ecf20Sopenharmony_ci	  it. If in doubt say N.
9798c2ecf20Sopenharmony_ci
9808c2ecf20Sopenharmony_ciconfig PPC_SECVAR_SYSFS
9818c2ecf20Sopenharmony_ci	bool "Enable sysfs interface for POWER secure variables"
9828c2ecf20Sopenharmony_ci	default y
9838c2ecf20Sopenharmony_ci	depends on PPC_SECURE_BOOT
9848c2ecf20Sopenharmony_ci	depends on SYSFS
9858c2ecf20Sopenharmony_ci	help
9868c2ecf20Sopenharmony_ci	  POWER secure variables are managed and controlled by firmware.
9878c2ecf20Sopenharmony_ci	  These variables are exposed to userspace via sysfs to enable
9888c2ecf20Sopenharmony_ci	  read/write operations on these variables. Say Y if you have
9898c2ecf20Sopenharmony_ci	  secure boot enabled and want to expose variables to userspace.
9908c2ecf20Sopenharmony_ci
9918c2ecf20Sopenharmony_ciconfig PPC_RTAS_FILTER
9928c2ecf20Sopenharmony_ci	bool "Enable filtering of RTAS syscalls"
9938c2ecf20Sopenharmony_ci	default y
9948c2ecf20Sopenharmony_ci	depends on PPC_RTAS
9958c2ecf20Sopenharmony_ci	help
9968c2ecf20Sopenharmony_ci	  The RTAS syscall API has security issues that could be used to
9978c2ecf20Sopenharmony_ci	  compromise system integrity. This option enforces restrictions on the
9988c2ecf20Sopenharmony_ci	  RTAS calls and arguments passed by userspace programs to mitigate
9998c2ecf20Sopenharmony_ci	  these issues.
10008c2ecf20Sopenharmony_ci
10018c2ecf20Sopenharmony_ci	  Say Y unless you know what you are doing and the filter is causing
10028c2ecf20Sopenharmony_ci	  problems for you.
10038c2ecf20Sopenharmony_ci
10048c2ecf20Sopenharmony_ciendmenu
10058c2ecf20Sopenharmony_ci
10068c2ecf20Sopenharmony_ciconfig ISA_DMA_API
10078c2ecf20Sopenharmony_ci	bool
10088c2ecf20Sopenharmony_ci	default PCI
10098c2ecf20Sopenharmony_ci
10108c2ecf20Sopenharmony_cimenu "Bus options"
10118c2ecf20Sopenharmony_ci
10128c2ecf20Sopenharmony_ciconfig ISA
10138c2ecf20Sopenharmony_ci	bool "Support for ISA-bus hardware"
10148c2ecf20Sopenharmony_ci	depends on PPC_CHRP
10158c2ecf20Sopenharmony_ci	select PPC_I8259
10168c2ecf20Sopenharmony_ci	help
10178c2ecf20Sopenharmony_ci	  Find out whether you have ISA slots on your motherboard.  ISA is the
10188c2ecf20Sopenharmony_ci	  name of a bus system, i.e. the way the CPU talks to the other stuff
10198c2ecf20Sopenharmony_ci	  inside your box.  If you have an Apple machine, say N here; if you
10208c2ecf20Sopenharmony_ci	  have an IBM RS/6000 or pSeries machine, say Y.  If you have an
10218c2ecf20Sopenharmony_ci	  embedded board, consult your board documentation.
10228c2ecf20Sopenharmony_ci
10238c2ecf20Sopenharmony_ciconfig GENERIC_ISA_DMA
10248c2ecf20Sopenharmony_ci	bool
10258c2ecf20Sopenharmony_ci	depends on ISA_DMA_API
10268c2ecf20Sopenharmony_ci	default y
10278c2ecf20Sopenharmony_ci
10288c2ecf20Sopenharmony_ciconfig PPC_INDIRECT_PCI
10298c2ecf20Sopenharmony_ci	bool
10308c2ecf20Sopenharmony_ci	depends on PCI
10318c2ecf20Sopenharmony_ci	default y if 40x || 44x
10328c2ecf20Sopenharmony_ci
10338c2ecf20Sopenharmony_ciconfig SBUS
10348c2ecf20Sopenharmony_ci	bool
10358c2ecf20Sopenharmony_ci
10368c2ecf20Sopenharmony_ciconfig FSL_SOC
10378c2ecf20Sopenharmony_ci	bool
10388c2ecf20Sopenharmony_ci
10398c2ecf20Sopenharmony_ciconfig FSL_PCI
10408c2ecf20Sopenharmony_ci	bool
10418c2ecf20Sopenharmony_ci	select ARCH_HAS_DMA_SET_MASK
10428c2ecf20Sopenharmony_ci	select PPC_INDIRECT_PCI
10438c2ecf20Sopenharmony_ci	select PCI_QUIRKS
10448c2ecf20Sopenharmony_ci
10458c2ecf20Sopenharmony_ciconfig FSL_PMC
10468c2ecf20Sopenharmony_ci	bool
10478c2ecf20Sopenharmony_ci	default y
10488c2ecf20Sopenharmony_ci	depends on SUSPEND && (PPC_85xx || PPC_86xx)
10498c2ecf20Sopenharmony_ci	help
10508c2ecf20Sopenharmony_ci	  Freescale MPC85xx/MPC86xx power management controller support
10518c2ecf20Sopenharmony_ci	  (suspend/resume). For MPC83xx see platforms/83xx/suspend.c
10528c2ecf20Sopenharmony_ci
10538c2ecf20Sopenharmony_ciconfig PPC4xx_CPM
10548c2ecf20Sopenharmony_ci	bool
10558c2ecf20Sopenharmony_ci	default y
10568c2ecf20Sopenharmony_ci	depends on SUSPEND && (44x || 40x)
10578c2ecf20Sopenharmony_ci	help
10588c2ecf20Sopenharmony_ci	  PPC4xx Clock Power Management (CPM) support (suspend/resume).
10598c2ecf20Sopenharmony_ci	  It also enables support for two different idle states (idle-wait
10608c2ecf20Sopenharmony_ci	  and idle-doze).
10618c2ecf20Sopenharmony_ci
10628c2ecf20Sopenharmony_ciconfig 4xx_SOC
10638c2ecf20Sopenharmony_ci	bool
10648c2ecf20Sopenharmony_ci
10658c2ecf20Sopenharmony_ciconfig FSL_LBC
10668c2ecf20Sopenharmony_ci	bool "Freescale Local Bus support"
10678c2ecf20Sopenharmony_ci	help
10688c2ecf20Sopenharmony_ci	  Enables reporting of errors from the Freescale local bus
10698c2ecf20Sopenharmony_ci	  controller.  Also contains some common code used by
10708c2ecf20Sopenharmony_ci	  drivers for specific local bus peripherals.
10718c2ecf20Sopenharmony_ci
10728c2ecf20Sopenharmony_ciconfig FSL_GTM
10738c2ecf20Sopenharmony_ci	bool
10748c2ecf20Sopenharmony_ci	depends on PPC_83xx || QUICC_ENGINE || CPM2
10758c2ecf20Sopenharmony_ci	help
10768c2ecf20Sopenharmony_ci	  Freescale General-purpose Timers support
10778c2ecf20Sopenharmony_ci
10788c2ecf20Sopenharmony_ciconfig PCI_8260
10798c2ecf20Sopenharmony_ci	bool
10808c2ecf20Sopenharmony_ci	depends on PCI && 8260
10818c2ecf20Sopenharmony_ci	select PPC_INDIRECT_PCI
10828c2ecf20Sopenharmony_ci	default y
10838c2ecf20Sopenharmony_ci
10848c2ecf20Sopenharmony_ciconfig FSL_RIO
10858c2ecf20Sopenharmony_ci	bool "Freescale Embedded SRIO Controller support"
10868c2ecf20Sopenharmony_ci	depends on RAPIDIO = y && HAVE_RAPIDIO
10878c2ecf20Sopenharmony_ci	default "n"
10888c2ecf20Sopenharmony_ci	help
10898c2ecf20Sopenharmony_ci	  Include support for RapidIO controller on Freescale embedded
10908c2ecf20Sopenharmony_ci	  processors (MPC8548, MPC8641, etc).
10918c2ecf20Sopenharmony_ci
10928c2ecf20Sopenharmony_ciendmenu
10938c2ecf20Sopenharmony_ci
10948c2ecf20Sopenharmony_ciconfig NONSTATIC_KERNEL
10958c2ecf20Sopenharmony_ci	bool
10968c2ecf20Sopenharmony_ci
10978c2ecf20Sopenharmony_cimenu "Advanced setup"
10988c2ecf20Sopenharmony_ci	depends on PPC32
10998c2ecf20Sopenharmony_ci
11008c2ecf20Sopenharmony_ciconfig ADVANCED_OPTIONS
11018c2ecf20Sopenharmony_ci	bool "Prompt for advanced kernel configuration options"
11028c2ecf20Sopenharmony_ci	help
11038c2ecf20Sopenharmony_ci	  This option will enable prompting for a variety of advanced kernel
11048c2ecf20Sopenharmony_ci	  configuration options.  These options can cause the kernel to not
11058c2ecf20Sopenharmony_ci	  work if they are set incorrectly, but can be used to optimize certain
11068c2ecf20Sopenharmony_ci	  aspects of kernel memory management.
11078c2ecf20Sopenharmony_ci
11088c2ecf20Sopenharmony_ci	  Unless you know what you are doing, say N here.
11098c2ecf20Sopenharmony_ci
11108c2ecf20Sopenharmony_cicomment "Default settings for advanced configuration options are used"
11118c2ecf20Sopenharmony_ci	depends on !ADVANCED_OPTIONS
11128c2ecf20Sopenharmony_ci
11138c2ecf20Sopenharmony_ciconfig LOWMEM_SIZE_BOOL
11148c2ecf20Sopenharmony_ci	bool "Set maximum low memory"
11158c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS
11168c2ecf20Sopenharmony_ci	help
11178c2ecf20Sopenharmony_ci	  This option allows you to set the maximum amount of memory which
11188c2ecf20Sopenharmony_ci	  will be used as "low memory", that is, memory which the kernel can
11198c2ecf20Sopenharmony_ci	  access directly, without having to set up a kernel virtual mapping.
11208c2ecf20Sopenharmony_ci	  This can be useful in optimizing the layout of kernel virtual
11218c2ecf20Sopenharmony_ci	  memory.
11228c2ecf20Sopenharmony_ci
11238c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
11248c2ecf20Sopenharmony_ci
11258c2ecf20Sopenharmony_ciconfig LOWMEM_SIZE
11268c2ecf20Sopenharmony_ci	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
11278c2ecf20Sopenharmony_ci	default "0x30000000"
11288c2ecf20Sopenharmony_ci
11298c2ecf20Sopenharmony_ciconfig LOWMEM_CAM_NUM_BOOL
11308c2ecf20Sopenharmony_ci	bool "Set number of CAMs to use to map low memory"
11318c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS && FSL_BOOKE
11328c2ecf20Sopenharmony_ci	help
11338c2ecf20Sopenharmony_ci	  This option allows you to set the maximum number of CAM slots that
11348c2ecf20Sopenharmony_ci	  will be used to map low memory.  There are a limited number of slots
11358c2ecf20Sopenharmony_ci	  available and even more limited number that will fit in the L1 MMU.
11368c2ecf20Sopenharmony_ci	  However, using more entries will allow mapping more low memory.  This
11378c2ecf20Sopenharmony_ci	  can be useful in optimizing the layout of kernel virtual memory.
11388c2ecf20Sopenharmony_ci
11398c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
11408c2ecf20Sopenharmony_ci
11418c2ecf20Sopenharmony_ciconfig LOWMEM_CAM_NUM
11428c2ecf20Sopenharmony_ci	depends on FSL_BOOKE
11438c2ecf20Sopenharmony_ci	int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
11448c2ecf20Sopenharmony_ci	default 3
11458c2ecf20Sopenharmony_ci
11468c2ecf20Sopenharmony_ciconfig DYNAMIC_MEMSTART
11478c2ecf20Sopenharmony_ci	bool "Enable page aligned dynamic load address for kernel"
11488c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS && FLATMEM && (FSL_BOOKE || 44x)
11498c2ecf20Sopenharmony_ci	select NONSTATIC_KERNEL
11508c2ecf20Sopenharmony_ci	help
11518c2ecf20Sopenharmony_ci	  This option enables the kernel to be loaded at any page aligned
11528c2ecf20Sopenharmony_ci	  physical address. The kernel creates a mapping from KERNELBASE to
11538c2ecf20Sopenharmony_ci	  the address where the kernel is loaded. The page size here implies
11548c2ecf20Sopenharmony_ci	  the TLB page size of the mapping for kernel on the particular platform.
11558c2ecf20Sopenharmony_ci	  Please refer to the init code for finding the TLB page size.
11568c2ecf20Sopenharmony_ci
11578c2ecf20Sopenharmony_ci	  DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE
11588c2ecf20Sopenharmony_ci	  kernel image, where the only restriction is the page aligned kernel
11598c2ecf20Sopenharmony_ci	  load address. When this option is enabled, the compile time physical
11608c2ecf20Sopenharmony_ci	  address CONFIG_PHYSICAL_START is ignored.
11618c2ecf20Sopenharmony_ci
11628c2ecf20Sopenharmony_ci	  This option is overridden by CONFIG_RELOCATABLE
11638c2ecf20Sopenharmony_ci
11648c2ecf20Sopenharmony_ciconfig PAGE_OFFSET_BOOL
11658c2ecf20Sopenharmony_ci	bool "Set custom page offset address"
11668c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS
11678c2ecf20Sopenharmony_ci	help
11688c2ecf20Sopenharmony_ci	  This option allows you to set the kernel virtual address at which
11698c2ecf20Sopenharmony_ci	  the kernel will map low memory.  This can be useful in optimizing
11708c2ecf20Sopenharmony_ci	  the virtual memory layout of the system.
11718c2ecf20Sopenharmony_ci
11728c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
11738c2ecf20Sopenharmony_ci
11748c2ecf20Sopenharmony_ciconfig PAGE_OFFSET
11758c2ecf20Sopenharmony_ci	hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
11768c2ecf20Sopenharmony_ci	default "0xc0000000"
11778c2ecf20Sopenharmony_ci
11788c2ecf20Sopenharmony_ciconfig KERNEL_START_BOOL
11798c2ecf20Sopenharmony_ci	bool "Set custom kernel base address"
11808c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS
11818c2ecf20Sopenharmony_ci	help
11828c2ecf20Sopenharmony_ci	  This option allows you to set the kernel virtual address at which
11838c2ecf20Sopenharmony_ci	  the kernel will be loaded.  Normally this should match PAGE_OFFSET
11848c2ecf20Sopenharmony_ci	  however there are times (like kdump) that one might not want them
11858c2ecf20Sopenharmony_ci	  to be the same.
11868c2ecf20Sopenharmony_ci
11878c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
11888c2ecf20Sopenharmony_ci
11898c2ecf20Sopenharmony_ciconfig KERNEL_START
11908c2ecf20Sopenharmony_ci	hex "Virtual address of kernel base" if KERNEL_START_BOOL
11918c2ecf20Sopenharmony_ci	default PAGE_OFFSET if PAGE_OFFSET_BOOL
11928c2ecf20Sopenharmony_ci	default "0xc2000000" if CRASH_DUMP && !NONSTATIC_KERNEL
11938c2ecf20Sopenharmony_ci	default "0xc0000000"
11948c2ecf20Sopenharmony_ci
11958c2ecf20Sopenharmony_ciconfig PHYSICAL_START_BOOL
11968c2ecf20Sopenharmony_ci	bool "Set physical address where the kernel is loaded"
11978c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
11988c2ecf20Sopenharmony_ci	help
11998c2ecf20Sopenharmony_ci	  This gives the physical address where the kernel is loaded.
12008c2ecf20Sopenharmony_ci
12018c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
12028c2ecf20Sopenharmony_ci
12038c2ecf20Sopenharmony_ciconfig PHYSICAL_START
12048c2ecf20Sopenharmony_ci	hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
12058c2ecf20Sopenharmony_ci	default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL
12068c2ecf20Sopenharmony_ci	default "0x00000000"
12078c2ecf20Sopenharmony_ci
12088c2ecf20Sopenharmony_ciconfig PHYSICAL_ALIGN
12098c2ecf20Sopenharmony_ci	hex
12108c2ecf20Sopenharmony_ci	default "0x04000000" if FSL_BOOKE
12118c2ecf20Sopenharmony_ci	help
12128c2ecf20Sopenharmony_ci	  This value puts the alignment restrictions on physical address
12138c2ecf20Sopenharmony_ci	  where kernel is loaded and run from. Kernel is compiled for an
12148c2ecf20Sopenharmony_ci	  address which meets above alignment restriction.
12158c2ecf20Sopenharmony_ci
12168c2ecf20Sopenharmony_ciconfig TASK_SIZE_BOOL
12178c2ecf20Sopenharmony_ci	bool "Set custom user task size"
12188c2ecf20Sopenharmony_ci	depends on ADVANCED_OPTIONS
12198c2ecf20Sopenharmony_ci	help
12208c2ecf20Sopenharmony_ci	  This option allows you to set the amount of virtual address space
12218c2ecf20Sopenharmony_ci	  allocated to user tasks.  This can be useful in optimizing the
12228c2ecf20Sopenharmony_ci	  virtual memory layout of the system.
12238c2ecf20Sopenharmony_ci
12248c2ecf20Sopenharmony_ci	  Say N here unless you know what you are doing.
12258c2ecf20Sopenharmony_ci
12268c2ecf20Sopenharmony_ciconfig TASK_SIZE
12278c2ecf20Sopenharmony_ci	hex "Size of user task space" if TASK_SIZE_BOOL
12288c2ecf20Sopenharmony_ci	default "0x80000000" if PPC_8xx
12298c2ecf20Sopenharmony_ci	default "0xb0000000" if PPC_BOOK3S_32 && STRICT_KERNEL_RWX
12308c2ecf20Sopenharmony_ci	default "0xc0000000"
12318c2ecf20Sopenharmony_ciendmenu
12328c2ecf20Sopenharmony_ci
12338c2ecf20Sopenharmony_ciif PPC64
12348c2ecf20Sopenharmony_ci# This value must have zeroes in the bottom 60 bits otherwise lots will break
12358c2ecf20Sopenharmony_ciconfig PAGE_OFFSET
12368c2ecf20Sopenharmony_ci	hex
12378c2ecf20Sopenharmony_ci	default "0xc000000000000000"
12388c2ecf20Sopenharmony_ciconfig KERNEL_START
12398c2ecf20Sopenharmony_ci	hex
12408c2ecf20Sopenharmony_ci	default "0xc000000000000000"
12418c2ecf20Sopenharmony_ciconfig PHYSICAL_START
12428c2ecf20Sopenharmony_ci	hex
12438c2ecf20Sopenharmony_ci	default "0x00000000"
12448c2ecf20Sopenharmony_ciendif
12458c2ecf20Sopenharmony_ci
12468c2ecf20Sopenharmony_ciconfig	ARCH_RANDOM
12478c2ecf20Sopenharmony_ci	def_bool n
12488c2ecf20Sopenharmony_ci
12498c2ecf20Sopenharmony_ciconfig PPC_LIB_RHEAP
12508c2ecf20Sopenharmony_ci	bool
12518c2ecf20Sopenharmony_ci
12528c2ecf20Sopenharmony_cisource "arch/powerpc/kvm/Kconfig"
12538c2ecf20Sopenharmony_ci
12548c2ecf20Sopenharmony_cisource "kernel/livepatch/Kconfig"
1255