]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[POWERPC] Fix MAX_ORDER config problem
authorStephen Rothwell <sfr@canb.auug.org.au>
Fri, 11 Apr 2008 01:11:56 +0000 (11:11 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 15 Apr 2008 11:21:23 +0000 (21:21 +1000)
The allyesconfig (among others) build was giving this:

In file included from include/linux/gfp.h:4,
                 from include/linux/slab.h:14,
                 from include/linux/percpu.h:5,
                 from include2/asm/time.h:18,
                 from include2/asm/cputime.h:26,
                 from include/linux/sched.h:67,
                 from
arch/powerpc/kernel/asm-offsets.c:17:
include/linux/mmzone.h:791:2: error: #error Allocator MAX_ORDER exceeds SECTION_SIZE

Kconfig options are order depenendent, so move the setting of
FORCE_MAX_ZONEORDER to after the setting of PPC_64K_PAGES. Also add an
explicit !PPC_64K_PAGES.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Kconfig

index 625342e1a73357aa49aba817980a703a11272eea..1d4d19f6d6e1f259451b725c60a457b02d265b71 100644 (file)
@@ -211,26 +211,6 @@ source kernel/Kconfig.hz
 source kernel/Kconfig.preempt
 source "fs/Kconfig.binfmt"
 
 source kernel/Kconfig.preempt
 source "fs/Kconfig.binfmt"
 
-config FORCE_MAX_ZONEORDER
-       int "Maximum zone order"
-       default "9" if PPC_64K_PAGES
-       default "13" if PPC64
-       default "11"
-       help
-         The kernel memory allocator divides physically contiguous memory
-         blocks into "zones", where each zone is a power of two number of
-         pages.  This option selects the largest power of two that the kernel
-         keeps in the memory allocator.  If you need to allocate very large
-         blocks of physically contiguous memory, then you may need to
-         increase this value.
-
-         This config option is actually maximum order plus one. For example,
-         a value of 11 means that the largest free memory block is 2^10 pages.
-
-         The page size is not necessarily 4KB.  For example, on 64-bit
-         systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES.  Keep
-         this in mind when choosing a value for this option.
-
 config HUGETLB_PAGE_SIZE_VARIABLE
        bool
        depends on HUGETLB_PAGE
 config HUGETLB_PAGE_SIZE_VARIABLE
        bool
        depends on HUGETLB_PAGE
@@ -403,6 +383,26 @@ config PPC_64K_PAGES
          while on hardware with such support, it will be used to map
          normal application pages.
 
          while on hardware with such support, it will be used to map
          normal application pages.
 
+config FORCE_MAX_ZONEORDER
+       int "Maximum zone order"
+       default "9" if PPC_64K_PAGES
+       default "13" if PPC64 && !PPC_64K_PAGES
+       default "11"
+       help
+         The kernel memory allocator divides physically contiguous memory
+         blocks into "zones", where each zone is a power of two number of
+         pages.  This option selects the largest power of two that the kernel
+         keeps in the memory allocator.  If you need to allocate very large
+         blocks of physically contiguous memory, then you may need to
+         increase this value.
+
+         This config option is actually maximum order plus one. For example,
+         a value of 11 means that the largest free memory block is 2^10 pages.
+
+         The page size is not necessarily 4KB.  For example, on 64-bit
+         systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES.  Keep
+         this in mind when choosing a value for this option.
+
 config PPC_SUBPAGE_PROT
        bool "Support setting protections for 4k subpages"
        depends on PPC_64K_PAGES
 config PPC_SUBPAGE_PROT
        bool "Support setting protections for 4k subpages"
        depends on PPC_64K_PAGES