Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[firefly-linux-kernel-4.4.55.git] / arch / x86 / mm / hugetlbpage.c
index 8b977ebf9388c4c064bc344dcb16533bd36dafa0..bca0aa3a003f6b46620eca395935a918c569088a 100644 (file)
@@ -178,4 +178,15 @@ static __init int setup_hugepagesz(char *opt)
        return 1;
 }
 __setup("hugepagesz=", setup_hugepagesz);
+
+#ifdef CONFIG_CMA
+static __init int gigantic_pages_init(void)
+{
+       /* With CMA we can allocate gigantic pages at runtime */
+       if (cpu_has_gbpages && !size_to_hstate(1UL << PUD_SHIFT))
+               hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
+       return 0;
+}
+arch_initcall(gigantic_pages_init);
+#endif
 #endif