浏览代码

[POWERPC] Fix MAX_ORDER config problem

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>
Stephen Rothwell 17 年之前
父节点
当前提交
53bcddb915
共有 1 个文件被更改,包括 20 次插入20 次删除
  1. 20 20
      arch/powerpc/Kconfig

+ 20 - 20
arch/powerpc/Kconfig

@@ -211,26 +211,6 @@ source kernel/Kconfig.hz
 source kernel/Kconfig.preempt
 source kernel/Kconfig.preempt
 source "fs/Kconfig.binfmt"
 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
 config HUGETLB_PAGE_SIZE_VARIABLE
 	bool
 	bool
 	depends on HUGETLB_PAGE
 	depends on HUGETLB_PAGE
@@ -403,6 +383,26 @@ config PPC_64K_PAGES
 	  while on hardware with such support, it will be used to map
 	  while on hardware with such support, it will be used to map
 	  normal application pages.
 	  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
 config PPC_SUBPAGE_PROT
 	bool "Support setting protections for 4k subpages"
 	bool "Support setting protections for 4k subpages"
 	depends on PPC_64K_PAGES
 	depends on PPC_64K_PAGES