depends on SMP
        default "64"
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool "Discontiguous Memory Support (EXPERIMENTAL)"
        depends on EXPERIMENTAL
        help
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+source "mm/Kconfig"
+
 config NUMA
        bool "NUMA Support (EXPERIMENTAL)"
        depends on DISCONTIGMEM
 
          Say Y here if you are building a kernel for a desktop, embedded
          or real-time system.  Say N if you are unsure.
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool
        default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
        help
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+source "mm/Kconfig"
+
 config LEDS
        bool "Timer and CPU usage LEDs"
        depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
 
          time by entering them here. As a minimum, you should specify the
          memory size and the root device (e.g., mem=64M root=/dev/nfs).
 
+source "mm/Kconfig"
+
 endmenu
 
 source "drivers/base/Kconfig"
 
          Say Y here if you are building a kernel for a desktop, embedded
          or real-time system.  Say N if you are unsure.
 
+source mm/Kconfig
+
 endmenu
 
 menu "Hardware setup"
 
          with a lot of RAM, this can be wasteful of precious low memory.
          Setting this option will put user-space page tables in high memory.
 
+source "mm/Kconfig"
+
 choice
        prompt "uClinux kernel load address"
        depends on !MMU
 
 config PREEMPT
        bool "Preemptible Kernel"
        default n
+
+source "mm/Kconfig"
+
 endmenu
 
 comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
        depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool
        depends on NUMA
        default y
        depends on NUMA
        default y
 
+source "mm/Kconfig"
+
 config HIGHPTE
        bool "Allocate 3rd-level pagetables from highmem"
        depends on HIGHMEM4G || HIGHMEM64G
 
        bool
        default y if VIRTUAL_MEM_MAP
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool "Discontiguous memory support"
        depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) && NUMA && VIRTUAL_MEM_MAP
        default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
           Say Y here if you are building a kernel for a desktop, embedded
           or real-time system.  Say N if you are unsure.
 
+source "mm/Kconfig"
+
 config HAVE_DEC_LOCK
        bool
        depends on (SMP || PREEMPT)
 
        bool
        default y
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool "Internal RAM Support"
        depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP
        default y
 
+source "mm/Kconfig"
+
 config IRAM_START
        hex "Internal memory start address (hex)"
        default "00f00000"
 
          is hardwired on.  The 53c710 SCSI driver is known to suffer from
          this problem.
 
+source "mm/Kconfig"
+
 endmenu
 
 menu "General setup"
 
 
 endchoice
 
+source "mm/Kconfig"
+
 endmenu
 
 config ISA_DMA_API
 
          which allows for more memory.  Your system is most probably
          running in M-Mode, so you should say N here.
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool
        default y if SGI_IP27
        help
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+config ARCH_FLATMEM_DISABLE
+       def_bool y
+       depends on ARCH_DISCONTIGMEM_ENABLE
+
 config NUMA
        bool "NUMA Support"
        depends on SGI_IP27
 
        default y if SMP
        select HOTPLUG
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool "Discontiguous memory support (EXPERIMENTAL)"
        depends on EXPERIMENTAL
        help
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+config ARCH_FLATMEM_DISABLE
+       def_bool y
+       depends on ARCH_DISCONTIGMEM_ENABLE
+
+source "mm/Kconfig"
+
 config PREEMPT
        bool
 #      bool "Preemptible Kernel"
 
 config HIGHMEM
        bool "High memory support"
 
+source "mm/Kconfig"
+
 source "fs/Kconfig.binfmt"
 
 config PROC_DEVICETREE
 
          This option enables hardware multithreading on RS64 cpus.
          pSeries systems p620 and p660 have such a cpu type.
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool "Discontiguous Memory Support"
        depends on SMP && PPC_PSERIES
 
+source "mm/Kconfig"
+
 config NUMA
        bool "NUMA support"
        depends on DISCONTIGMEM
 
          This allows you to specify the maximum frame size a function may
          have without the compiler complaining about it.
 
+source "mm/Kconfig"
+
 comment "I/O subsystem configuration"
 
 config MACHCHK_WARNING
 
        depends on CPU_SUBTYPE_ST40STB1 || CPU_SUBTYPE_ST40GX1
        default y
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool
        depends on SH_HP690
        default y
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+config ARCH_FLATMEM_DISABLE
+       def_bool y
+       depends on ARCH_DISCONTIGMEM_ENABLE
+
+source "mm/Kconfig"
+
 config ZERO_PAGE_OFFSET
        hex "Zero page offset"
        default "0x00001000" if !(SH_MPC1211 || SH_SH03)
 
        bool "Preemptible Kernel (EXPERIMENTAL)"
        depends on EXPERIMENTAL
 
+source "mm/Kconfig"
+
 endmenu
 
 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
 
          If you have more than 8 printers, you need to increase the LP_NO
          macro in lp.c and the PARPORT_MAX macro in parport.h.
 
+source "mm/Kconfig"
+
 endmenu
 
 source "drivers/base/Kconfig"
 
 
          NOTE: This option WILL override the PROM bootargs setting!
 
+source "mm/Kconfig"
+
 endmenu
 
 source "drivers/base/Kconfig"
 
        option will shrink the UML binary slightly.
 
 source "arch/um/Kconfig_arch"
+source "mm/Kconfig"
 
 config LD_SCRIPT_STATIC
        bool
 
             a lot of RAM, and you need to able to allocate very large
             contiguous chunks. If unsure, say N.
 
+source "mm/Kconfig"
+
 endmenu
 
 
 
          into virtual nodes when booted with "numa=fake=N", where N is the
          number of nodes. This is only useful for debugging.
 
-config DISCONTIGMEM
+config ARCH_DISCONTIGMEM_ENABLE
        bool
        depends on NUMA
        default y
        bool
        default n
 
+source "mm/Kconfig"
+
 config HAVE_DEC_LOCK
        bool
        depends on SMP