sparc64: Add FORCE_MAX_ZONEORDER and default to 13
authorDave Kleikamp <dave.kleikamp@oracle.com>
Fri, 28 Oct 2016 17:12:40 +0000 (10:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Nov 2016 19:16:58 +0000 (11:16 -0800)
This change allows ATU (new IOMMU) in SPARC systems to request
large (32M) contiguous memory during boot for creating IOTSB backing
store.

Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/Kconfig

index b23c76b42d6e8c1508c04e3dbb65b05b24bce7c3..5202eb4ba2db758dfb65978176212f96c55967ab 100644 (file)
@@ -89,6 +89,10 @@ config ARCH_DEFCONFIG
 config ARCH_PROC_KCORE_TEXT
        def_bool y
 
+config ARCH_ATU
+       bool
+       default y if SPARC64
+
 config IOMMU_HELPER
        bool
        default y if SPARC64
@@ -304,6 +308,20 @@ config ARCH_SPARSEMEM_ENABLE
 config ARCH_SPARSEMEM_DEFAULT
        def_bool y if SPARC64
 
+config FORCE_MAX_ZONEORDER
+       int "Maximum zone order"
+       default "13"
+       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 13 means that the largest free memory block is 2^12 pages.
+
 source "mm/Kconfig"
 
 if SPARC64