Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / arch / powerpc / Kconfig
index a4f8a52..699df27 100644 (file)
@@ -11,7 +11,7 @@ config 64BIT
 
 config LIVEPATCH_64
        def_bool PPC64
-       depends on LIVEPATCH
+       depends on LIVEPATCH
 
 config MMU
        bool
@@ -135,12 +135,12 @@ config PPC
        select ARCH_HAS_SCALED_CPUTIME          if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64
        select ARCH_HAS_SET_MEMORY
        select ARCH_HAS_STRICT_KERNEL_RWX       if (PPC_BOOK3S || PPC_8xx || 40x) && !HIBERNATION
-       select ARCH_HAS_STRICT_KERNEL_RWX       if FSL_BOOKE && !HIBERNATION && !RANDOMIZE_BASE
+       select ARCH_HAS_STRICT_KERNEL_RWX       if PPC_85xx && !HIBERNATION && !RANDOMIZE_BASE
        select ARCH_HAS_STRICT_MODULE_RWX       if ARCH_HAS_STRICT_KERNEL_RWX
+       select ARCH_HAS_SYSCALL_WRAPPER         if !SPU_BASE && !COMPAT
        select ARCH_HAS_TICK_BROADCAST          if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAS_UACCESS_FLUSHCACHE
        select ARCH_HAS_UBSAN_SANITIZE_ALL
-       select ARCH_HAS_VM_GET_PAGE_PROT        if PPC_BOOK3S_64
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select ARCH_KEEP_MEMBLOCK
        select ARCH_MIGHT_HAVE_PC_PARPORT
@@ -193,8 +193,10 @@ config PPC
        select HAVE_ARCH_JUMP_LABEL_RELATIVE
        select HAVE_ARCH_KASAN                  if PPC32 && PPC_PAGE_SHIFT <= 14
        select HAVE_ARCH_KASAN                  if PPC_RADIX_MMU
+       select HAVE_ARCH_KASAN                  if PPC_BOOK3E_64
        select HAVE_ARCH_KASAN_VMALLOC          if HAVE_ARCH_KASAN
-       select HAVE_ARCH_KFENCE                 if PPC_BOOK3S_32 || PPC_8xx || 40x
+       select HAVE_ARCH_KFENCE                 if ARCH_SUPPORTS_DEBUG_PAGEALLOC
+       select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_MMAP_RND_BITS
        select HAVE_ARCH_MMAP_RND_COMPAT_BITS   if COMPAT
@@ -210,7 +212,7 @@ config PPC
        select HAVE_DYNAMIC_FTRACE_WITH_ARGS    if MPROFILE_KERNEL || PPC32
        select HAVE_DYNAMIC_FTRACE_WITH_REGS    if MPROFILE_KERNEL || PPC32
        select HAVE_EBPF_JIT
-       select HAVE_EFFICIENT_UNALIGNED_ACCESS  if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
+       select HAVE_EFFICIENT_UNALIGNED_ACCESS
        select HAVE_FAST_GUP
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_FUNCTION_DESCRIPTORS        if PPC64_ELF_ABI_V1
@@ -254,6 +256,7 @@ config PPC
        select IOMMU_HELPER                     if PPC64
        select IRQ_DOMAIN
        select IRQ_FORCED_THREADING
+       select KASAN_VMALLOC                    if KASAN && MODULES
        select MMU_GATHER_PAGE_SIZE
        select MMU_GATHER_RCU_TABLE_FREE
        select MMU_GATHER_MERGE_VMAS
@@ -277,7 +280,6 @@ config PPC
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
        select TRACE_IRQFLAGS_SUPPORT
-       select VIRT_TO_BUS                      if !PPC64
        #
        # Please keep this list sorted alphabetically.
        #
@@ -289,7 +291,7 @@ config PPC_LONG_DOUBLE_128
 config PPC_BARRIER_NOSPEC
        bool
        default y
-       depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E
+       depends on PPC_BOOK3S_64 || PPC_E500
 
 config EARLY_PRINTK
        bool
@@ -378,6 +380,17 @@ config PPC_DCR
        depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
        default y
 
+config PPC_PCI_BUS_NUM_DOMAIN_DEPENDENT
+       depends on PPC32
+       depends on !PPC_PMAC && !PPC_CHRP
+       bool "Assign PCI bus numbers from zero individually for each PCI domain"
+       help
+         By default on PPC32 were PCI bus numbers unique across all PCI domains.
+         So system could have only 256 PCI buses independently of available
+         PCI domains. When this option is enabled then PCI bus numbers are
+         PCI domain dependent and each PCI controller on own domain can have
+         256 PCI buses, like it is on other Linux architectures.
+
 config PPC_OF_PLATFORM_PCI
        bool
        depends on PCI
@@ -454,7 +467,7 @@ choice
        default MATH_EMULATION_FULL
        depends on MATH_EMULATION
 
-config MATH_EMULATION_FULL
+config MATH_EMULATION_FULL
        bool "Emulate all the floating point instructions"
        help
          Select this option will enable the kernel to support to emulate
@@ -536,7 +549,7 @@ config PPC64_SUPPORTS_MEMORY_FAILURE
 
 config KEXEC
        bool "kexec system call"
-       depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) || PPC_BOOK3E
+       depends on PPC_BOOK3S || PPC_E500 || (44x && !SMP)
        select KEXEC_CORE
        help
          kexec is a system call that implements the ability to shutdown your
@@ -556,7 +569,6 @@ config KEXEC_FILE
        bool "kexec file based system call"
        select KEXEC_CORE
        select HAVE_IMA_KEXEC if IMA
-       select BUILD_BIN2C
        select KEXEC_ELF
        depends on PPC64
        depends on CRYPTO=y
@@ -572,7 +584,7 @@ config ARCH_HAS_KEXEC_PURGATORY
 
 config RELOCATABLE
        bool "Build a relocatable kernel"
-       depends on PPC64 || (FLATMEM && (44x || FSL_BOOKE))
+       depends on PPC64 || (FLATMEM && (44x || PPC_85xx))
        select NONSTATIC_KERNEL
        help
          This builds a kernel image that is capable of running at the
@@ -595,7 +607,7 @@ config RELOCATABLE
 
 config RANDOMIZE_BASE
        bool "Randomize the address of the kernel image"
-       depends on (FSL_BOOKE && FLATMEM && PPC32)
+       depends on PPC_85xx && FLATMEM
        depends on RELOCATABLE
        help
          Randomizes the virtual address at which the kernel image is
@@ -614,8 +626,8 @@ config RELOCATABLE_TEST
 
 config CRASH_DUMP
        bool "Build a dump capture kernel"
-       depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP)
-       select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
+       depends on PPC64 || PPC_BOOK3S_32 || PPC_85xx || (44x && !SMP)
+       select RELOCATABLE if PPC64 || 44x || PPC_85xx
        help
          Build a kernel suitable for use as a dump capture kernel.
          The same kernel binary can be used as production kernel and dump
@@ -804,7 +816,7 @@ config DATA_SHIFT_BOOL
        depends on ADVANCED_OPTIONS
        depends on STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE
        depends on PPC_BOOK3S_32 || (PPC_8xx && !PIN_TLB_DATA && !STRICT_KERNEL_RWX) || \
-                  FSL_BOOKE
+                  PPC_85xx
        help
          This option allows you to set the kernel data alignment. When
          RAM is mapped by blocks, the alignment needs to fit the size and
@@ -817,13 +829,13 @@ config DATA_SHIFT
        default 24 if STRICT_KERNEL_RWX && PPC64
        range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32
        range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_8xx
-       range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_FSL_BOOKE
+       range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_85xx
        default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32
        default 18 if (DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32
        default 23 if STRICT_KERNEL_RWX && PPC_8xx
        default 23 if (DEBUG_PAGEALLOC || KFENCE) && PPC_8xx && PIN_TLB_DATA
        default 19 if (DEBUG_PAGEALLOC || KFENCE) && PPC_8xx
-       default 24 if STRICT_KERNEL_RWX && FSL_BOOKE
+       default 24 if STRICT_KERNEL_RWX && PPC_85xx
        default PPC_PAGE_SHIFT
        help
          On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO.
@@ -834,7 +846,7 @@ config DATA_SHIFT
          in that case. If PIN_TLB is selected, it must be aligned to 8M as
          8M pages will be pinned.
 
-config FORCE_MAX_ZONEORDER
+config ARCH_FORCE_MAX_ORDER
        int "Maximum zone order"
        range 8 9 if PPC64 && PPC_64K_PAGES
        default "9" if PPC64 && PPC_64K_PAGES
@@ -1139,7 +1151,7 @@ config LOWMEM_SIZE
 
 config LOWMEM_CAM_NUM_BOOL
        bool "Set number of CAMs to use to map low memory"
-       depends on ADVANCED_OPTIONS && FSL_BOOKE
+       depends on ADVANCED_OPTIONS && PPC_85xx
        help
          This option allows you to set the maximum number of CAM slots that
          will be used to map low memory.  There are a limited number of slots
@@ -1150,7 +1162,7 @@ config LOWMEM_CAM_NUM_BOOL
          Say N here unless you know what you are doing.
 
 config LOWMEM_CAM_NUM
-       depends on FSL_BOOKE
+       depends on PPC_85xx
        int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
        default 3 if !STRICT_KERNEL_RWX
        default 9 if DATA_SHIFT >= 24
@@ -1159,7 +1171,7 @@ config LOWMEM_CAM_NUM
 
 config DYNAMIC_MEMSTART
        bool "Enable page aligned dynamic load address for kernel"
-       depends on ADVANCED_OPTIONS && FLATMEM && (FSL_BOOKE || 44x)
+       depends on ADVANCED_OPTIONS && FLATMEM && (PPC_85xx || 44x)
        select NONSTATIC_KERNEL
        help
          This option enables the kernel to be loaded at any page aligned
@@ -1208,7 +1220,7 @@ config KERNEL_START
 
 config PHYSICAL_START_BOOL
        bool "Set physical address where the kernel is loaded"
-       depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
+       depends on ADVANCED_OPTIONS && FLATMEM && PPC_85xx
        help
          This gives the physical address where the kernel is loaded.
 
@@ -1221,7 +1233,7 @@ config PHYSICAL_START
 
 config PHYSICAL_ALIGN
        hex
-       default "0x04000000" if FSL_BOOKE
+       default "0x04000000" if PPC_85xx
        help
          This value puts the alignment restrictions on physical address
          where kernel is loaded and run from. Kernel is compiled for an