Pull sparsemem-v5 into release branch
authorTony Luck <tony.luck@intel.com>
Fri, 28 Oct 2005 21:32:56 +0000 (14:32 -0700)
committerTony Luck <tony.luck@intel.com>
Fri, 28 Oct 2005 21:32:56 +0000 (14:32 -0700)
1  2 
arch/ia64/Kconfig
include/asm-ia64/meminit.h

diff --combined arch/ia64/Kconfig
@@@ -63,8 -63,6 +63,6 @@@ config IA64_GENERI
        select ACPI
        select NUMA
        select ACPI_NUMA
-       select VIRTUAL_MEM_MAP
-       select DISCONTIGMEM
        help
          This selects the system type of your hardware.  A "generic" kernel
          will run on any supported IA-64 system.  However, if you configure
@@@ -176,40 -174,6 +174,6 @@@ config IA64_L1_CACHE_SHIF
        default "6" if ITANIUM
  
  # align cache-sensitive data to 64 bytes
- config NUMA
-       bool "NUMA support"
-       depends on !IA64_HP_SIM
-       default y if IA64_SGI_SN2
-       select ACPI_NUMA
-       help
-         Say Y to compile the kernel to support NUMA (Non-Uniform Memory
-         Access).  This option is for configuring high-end multiprocessor
-         server systems.  If in doubt, say N.
- config VIRTUAL_MEM_MAP
-       bool "Virtual mem map"
-       default y if !IA64_HP_SIM
-       help
-         Say Y to compile the kernel with support for a virtual mem map.
-         This code also only takes effect if a memory hole of greater than
-         1 Gb is found during boot.  You must turn this option on if you
-         require the DISCONTIGMEM option for your machine. If you are
-         unsure, say Y.
- config HOLES_IN_ZONE
-       bool
-       default y if VIRTUAL_MEM_MAP
- 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
-       help
-         Say Y to support efficient handling of discontiguous physical memory,
-         for architectures which are either NUMA (Non-Uniform Memory Access)
-         or have huge holes in the physical address space for other reasons.
-         See <file:Documentation/vm/numa> for more.
  config IA64_CYCLONE
        bool "Cyclone (EXA) Time Source support"
        help
@@@ -232,8 -196,10 +196,10 @@@ config IA64_SGI_SN_X
          based on a network adapter and DMA messaging.
  
  config FORCE_MAX_ZONEORDER
-       int
-       default "18"
+       int "MAX_ORDER (11 - 17)"  if !HUGETLB_PAGE
+       range 11 17  if !HUGETLB_PAGE
+       default "17" if HUGETLB_PAGE
+       default "11"
  
  config SMP
        bool "Symmetric multi-processing support"
          If you don't know what to do here, say N.
  
  config NR_CPUS
 -      int "Maximum number of CPUs (2-512)"
 -      range 2 512
 +      int "Maximum number of CPUs (2-1024)"
 +      range 2 1024
        depends on SMP
        default "64"
        help
@@@ -298,6 -264,58 +264,58 @@@ config PREEMP
  
  source "mm/Kconfig"
  
+ config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
+ config ARCH_DISCONTIGMEM_ENABLE
+       def_bool y
+       help
+         Say Y to support efficient handling of discontiguous physical memory,
+         for architectures which are either NUMA (Non-Uniform Memory Access)
+         or have huge holes in the physical address space for other reasons.
+         See <file:Documentation/vm/numa> for more.
+ config ARCH_FLATMEM_ENABLE
+       def_bool y
+ config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+       depends on ARCH_DISCONTIGMEM_ENABLE
+ config ARCH_DISCONTIGMEM_DEFAULT
+       def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
+       depends on ARCH_DISCONTIGMEM_ENABLE
+ config NUMA
+       bool "NUMA support"
+       depends on !IA64_HP_SIM && !FLATMEM
+       default y if IA64_SGI_SN2
+       help
+         Say Y to compile the kernel to support NUMA (Non-Uniform Memory
+         Access).  This option is for configuring high-end multiprocessor
+         server systems.  If in doubt, say N.
+ # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
+ # VIRTUAL_MEM_MAP has been retained for historical reasons.
+ config VIRTUAL_MEM_MAP
+       bool "Virtual mem map"
+       depends on !SPARSEMEM
+       default y if !IA64_HP_SIM
+       help
+         Say Y to compile the kernel with support for a virtual mem map.
+         This code also only takes effect if a memory hole of greater than
+         1 Gb is found during boot.  You must turn this option on if you
+         require the DISCONTIGMEM option for your machine. If you are
+         unsure, say Y.
+ config HOLES_IN_ZONE
+       bool
+       default y if VIRTUAL_MEM_MAP
+ config HAVE_ARCH_EARLY_PFN_TO_NID
+       def_bool y
+       depends on NEED_MULTIPLE_NODES
  config IA32_SUPPORT
        bool "Support for Linux/x86 binaries"
        help
   *    - initrd (optional)
   *    - command line string
   *    - kernel code & data
 + *    - Kernel memory map built from EFI memory map
   *
   * More could be added if necessary
   */
 -#define IA64_MAX_RSVD_REGIONS 5
 +#define IA64_MAX_RSVD_REGIONS 6
  
  struct rsvd_region {
        unsigned long start;    /* virtual address of beginning of element */
@@@ -34,7 -33,6 +34,7 @@@ extern void find_memory (void)
  extern void reserve_memory (void);
  extern void find_initrd (void);
  extern int filter_rsvd_memory (unsigned long start, unsigned long end, void *arg);
 +extern void efi_memmap_init(unsigned long *, unsigned long *);
  
  /*
   * For rounding an address to the next IA64_GRANULE_SIZE or order
@@@ -43,7 -41,7 +43,7 @@@
  #define GRANULEROUNDUP(n)     (((n)+IA64_GRANULE_SIZE-1) & ~(IA64_GRANULE_SIZE-1))
  #define ORDERROUNDDOWN(n)     ((n) & ~((PAGE_SIZE<<MAX_ORDER)-1))
  
- #ifdef CONFIG_DISCONTIGMEM
+ #ifdef CONFIG_NUMA
    extern void call_pernode_memory (unsigned long start, unsigned long len, void *func);
  #else
  # define call_pernode_memory(start, len, func)        (*func)(start, len, 0)