Merge tag 'drm-intel-fixes-2021-10-28' of git://anongit.freedesktop.org/drm/drm-intel...
[platform/kernel/linux-starfive.git] / mm / Kconfig
index 02d44e3..d16ba92 100644 (file)
@@ -19,7 +19,7 @@ choice
 
 config FLATMEM_MANUAL
        bool "Flat Memory"
-       depends on !(ARCH_DISCONTIGMEM_ENABLE || ARCH_SPARSEMEM_ENABLE) || ARCH_FLATMEM_ENABLE
+       depends on !ARCH_SPARSEMEM_ENABLE || ARCH_FLATMEM_ENABLE
        help
          This option is best suited for non-NUMA systems with
          flat address space. The FLATMEM is the most efficient
@@ -32,21 +32,6 @@ config FLATMEM_MANUAL
 
          If unsure, choose this option (Flat Memory) over any other.
 
-config DISCONTIGMEM_MANUAL
-       bool "Discontiguous Memory"
-       depends on ARCH_DISCONTIGMEM_ENABLE
-       help
-         This option provides enhanced support for discontiguous
-         memory systems, over FLATMEM.  These systems have holes
-         in their physical address spaces, and this option provides
-         more efficient handling of these holes.
-
-         Although "Discontiguous Memory" is still used by several
-         architectures, it is considered deprecated in favor of
-         "Sparse Memory".
-
-         If unsure, choose "Sparse Memory" over this option.
-
 config SPARSEMEM_MANUAL
        bool "Sparse Memory"
        depends on ARCH_SPARSEMEM_ENABLE
@@ -62,30 +47,13 @@ config SPARSEMEM_MANUAL
 
 endchoice
 
-config DISCONTIGMEM
-       def_bool y
-       depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL
-
 config SPARSEMEM
        def_bool y
        depends on (!SELECT_MEMORY_MODEL && ARCH_SPARSEMEM_ENABLE) || SPARSEMEM_MANUAL
 
 config FLATMEM
        def_bool y
-       depends on (!DISCONTIGMEM && !SPARSEMEM) || FLATMEM_MANUAL
-
-config FLAT_NODE_MEM_MAP
-       def_bool y
-       depends on !SPARSEMEM
-
-#
-# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
-# to represent different areas of memory.  This variable allows
-# those dependencies to exist individually.
-#
-config NEED_MULTIPLE_NODES
-       def_bool y
-       depends on DISCONTIGMEM || NUMA
+       depends on !SPARSEMEM || FLATMEM_MANUAL
 
 #
 # SPARSEMEM_EXTREME (which is the default) does some bootmem
@@ -703,6 +671,7 @@ config ZPOOL
 
 config ZBUD
        tristate "Low (Up to 2x) density storage for compressed pages"
+       depends on ZPOOL
        help
          A special purpose allocator for storing compressed pages.
          It is designed to store up to two compressed pages per physical
@@ -770,10 +739,18 @@ config DEFERRED_STRUCT_PAGE_INIT
          lifetime of the system until these kthreads finish the
          initialisation.
 
+config PAGE_IDLE_FLAG
+       bool
+       select PAGE_EXTENSION if !64BIT
+       help
+         This adds PG_idle and PG_young flags to 'struct page'.  PTE Accessed
+         bit writers can set the state of the bit in the flags so that PTE
+         Accessed bit readers may avoid disturbance.
+
 config IDLE_PAGE_TRACKING
        bool "Enable idle page tracking"
        depends on SYSFS && MMU
-       select PAGE_EXTENSION if !64BIT
+       select PAGE_IDLE_FLAG
        help
          This feature allows to estimate the amount of user pages that have
          not been touched during a given period of time. This information can
@@ -789,6 +766,18 @@ config ARCH_HAS_CACHE_LINE_SIZE
 config ARCH_HAS_PTE_DEVMAP
        bool
 
+config ARCH_HAS_ZONE_DMA_SET
+       bool
+
+config ZONE_DMA
+       bool "Support DMA zone" if ARCH_HAS_ZONE_DMA_SET
+       default y if ARM64 || X86
+
+config ZONE_DMA32
+       bool "Support DMA32 zone" if ARCH_HAS_ZONE_DMA_SET
+       depends on !X86_32
+       default y if ARM64
+
 config ZONE_DEVICE
        bool "Device memory (pmem, HMM, etc...) hotplug support"
        depends on MEMORY_HOTPLUG
@@ -901,4 +890,10 @@ config KMAP_LOCAL
 # struct io_mapping based helper.  Selected by drivers that need them
 config IO_MAPPING
        bool
+
+config SECRETMEM
+       def_bool ARCH_HAS_SET_DIRECT_MAP && !EMBEDDED
+
+source "mm/damon/Kconfig"
+
 endmenu