Skip to content
Kconfig 34.2 KiB
Newer Older
source "arch/powerpc/platforms/Kconfig.cputype"
config PPC32
	bool
	default y if !PPC64

config 32BIT
	bool
	default y if PPC32

config 64BIT
	bool
	default y if PPC64

config ARCH_PHYS_ADDR_T_64BIT
       def_bool PPC64 || PHYS_64BIT

config ARCH_DMA_ADDR_T_64BIT
	def_bool ARCH_PHYS_ADDR_T_64BIT

config ARCH_MMAP_RND_BITS_MAX
	# On Book3S 64, the default virtual address space for 64-bit processes
	# is 2^47 (128TB). As a maximum, allow randomisation to consume up to
	# 32T of address space (2^45), which should ensure a reasonable gap
	# between bottom-up and top-down allocations for applications that
	# consume "normal" amounts of address space. Book3S 64 only supports 64K
	# and 4K page sizes.
	default 29 if PPC_BOOK3S_64 && PPC_64K_PAGES # 29 = 45 (32T) - 16 (64K)
	default 33 if PPC_BOOK3S_64		     # 33 = 45 (32T) - 12 (4K)
	#
	# On all other 64-bit platforms (currently only Book3E), the virtual
	# address space is 2^46 (64TB). Allow randomisation to consume up to 16T
	# of address space (2^44). Only 4K page sizes are supported.
	default 32 if 64BIT	# 32 = 44 (16T) - 12 (4K)
	#
	# For 32-bit, use the compat values, as they're the same.
	default ARCH_MMAP_RND_COMPAT_BITS_MAX

config ARCH_MMAP_RND_BITS_MIN
	# Allow randomisation to consume up to 1GB of address space (2^30).
	default 14 if 64BIT && PPC_64K_PAGES	# 14 = 30 (1GB) - 16 (64K)
	default 18 if 64BIT			# 18 = 30 (1GB) - 12 (4K)
	#
	# For 32-bit, use the compat values, as they're the same.
	default ARCH_MMAP_RND_COMPAT_BITS_MIN

config ARCH_MMAP_RND_COMPAT_BITS_MAX
	# Total virtual address space for 32-bit processes is 2^31 (2GB).
	# Allow randomisation to consume up to 512MB of address space (2^29).
	default 11 if PPC_256K_PAGES	# 11 = 29 (512MB) - 18 (256K)
	default 13 if PPC_64K_PAGES	# 13 = 29 (512MB) - 16 (64K)
	default 15 if PPC_16K_PAGES 	# 15 = 29 (512MB) - 14 (16K)
	default 17			# 17 = 29 (512MB) - 12 (4K)

config ARCH_MMAP_RND_COMPAT_BITS_MIN
	# Total virtual address space for 32-bit processes is 2^31 (2GB).
	# Allow randomisation to consume up to 8MB of address space (2^23).
	default 5 if PPC_256K_PAGES	#  5 = 23 (8MB) - 18 (256K)
	default 7 if PPC_64K_PAGES	#  7 = 23 (8MB) - 16 (64K)
	default 9 if PPC_16K_PAGES	#  9 = 23 (8MB) - 14 (16K)
	default 11			# 11 = 23 (8MB) - 12 (4K)

config HAVE_SETUP_PER_CPU_AREA
config NEED_PER_CPU_EMBED_FIRST_CHUNK
config NR_IRQS
	int "Number of virtual interrupt numbers"
	default "512"
	help
	  This defines the number of virtual interrupt numbers the kernel
	  can manage. Virtual interrupt numbers are what you see in
	  /proc/interrupts. If you configure your system to have too few,
	  drivers will fail to load or worse - handle with care.

config NMI_IPI
	bool
	depends on SMP && (DEBUGGER || KEXEC_CORE || HARDLOCKUP_DETECTOR)
config PPC_WATCHDOG
	bool
	depends on HARDLOCKUP_DETECTOR
	depends on HAVE_HARDLOCKUP_DETECTOR_ARCH
	default y
	help
	  This is a placeholder when the powerpc hardlockup detector
	  watchdog is selected (arch/powerpc/kernel/watchdog.c). It is
	  seleted via the generic lockup detector menu which is why we
	  have no standalone config option for it here.

config STACKTRACE_SUPPORT
	bool
	default y

config TRACE_IRQFLAGS_SUPPORT
	bool
	default y

config LOCKDEP_SUPPORT
	bool
	default y

config RWSEM_GENERIC_SPINLOCK
	bool

config RWSEM_XCHGADD_ALGORITHM
	bool
	default y

config GENERIC_LOCKBREAK
	bool
	default y
	depends on SMP && PREEMPT

config GENERIC_HWEIGHT
	bool
	default y

	#
	# Please keep this list sorted alphabetically.
	#
	select ARCH_HAS_DEVMEM_IS_ALLOWED
	select ARCH_HAS_DMA_SET_COHERENT_MASK
	select ARCH_HAS_ELF_RANDOMIZE
	select ARCH_HAS_GCOV_PROFILE_ALL
	select ARCH_HAS_PHYS_TO_DMA
	select ARCH_HAS_PMEM_API                if PPC64
	select ARCH_HAS_MEMBARRIER_CALLBACKS
	select ARCH_HAS_SCALED_CPUTIME		if VIRT_CPU_ACCOUNTING_NATIVE
	select ARCH_HAS_SG_CHAIN
	select ARCH_HAS_STRICT_KERNEL_RWX	if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION)
	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
	select ARCH_HAS_UACCESS_FLUSHCACHE	if PPC64
	select ARCH_HAS_UBSAN_SANITIZE_ALL
	select ARCH_HAS_ZONE_DEVICE		if PPC_BOOK3S_64
	select ARCH_HAVE_NMI_SAFE_CMPXCHG
	select ARCH_MIGHT_HAVE_PC_PARPORT
	select ARCH_MIGHT_HAVE_PC_SERIO
	select ARCH_OPTIONAL_KERNEL_RWX		if ARCH_HAS_STRICT_KERNEL_RWX
	select ARCH_SUPPORTS_ATOMIC_RMW
	select ARCH_USE_BUILTIN_BSWAP
	select ARCH_USE_CMPXCHG_LOCKREF		if PPC64
	select ARCH_WANT_IPC_PARSE_VERSION
	select ARCH_WEAK_RELEASE_ACQUIRE
	select BUILDTIME_EXTABLE_SORT
	select CLONE_BACKWARDS
	select DCACHE_WORD_ACCESS		if PPC64 && CPU_LITTLE_ENDIAN
	select EDAC_ATOMIC_SCRUB
	select EDAC_SUPPORT
	select GENERIC_ATOMIC64			if PPC32
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS_BROADCAST	if SMP
	select GENERIC_CMOS_UPDATE
	select GENERIC_CPU_AUTOPROBE
	select GENERIC_CPU_VULNERABILITIES	if PPC_BOOK3S_64
	select GENERIC_IRQ_SHOW
	select GENERIC_IRQ_SHOW_LEVEL
	select GENERIC_SMP_IDLE_THREAD
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNLEN_USER
	select HAVE_ARCH_AUDITSYSCALL
	select HAVE_ARCH_JUMP_LABEL
	select HAVE_ARCH_KGDB
	select HAVE_ARCH_MMAP_RND_BITS
	select HAVE_ARCH_MMAP_RND_COMPAT_BITS	if COMPAT
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ARCH_TRACEHOOK
	select HAVE_CBPF_JIT			if !PPC64
	select HAVE_CONTEXT_TRACKING		if PPC64
	select HAVE_DEBUG_KMEMLEAK
	select HAVE_DEBUG_STACKOVERFLOW
	select HAVE_DMA_API_DEBUG
	select HAVE_DYNAMIC_FTRACE
	select HAVE_DYNAMIC_FTRACE_WITH_REGS	if MPROFILE_KERNEL
	select HAVE_EBPF_JIT			if PPC64
	select HAVE_EFFICIENT_UNALIGNED_ACCESS	if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
	select HAVE_FTRACE_MCOUNT_RECORD
	select HAVE_FUNCTION_GRAPH_TRACER
	select HAVE_FUNCTION_TRACER
	select HAVE_GCC_PLUGINS
	select HAVE_HW_BREAKPOINT		if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
Loading
Loading full blame...