summaryrefslogtreecommitdiff
path: root/arch/powerpc/mm/mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/mm/mem.c')
-rw-r--r--arch/powerpc/mm/mem.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index a985fc96b953..b7982d0243d4 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -30,6 +30,10 @@
#include <asm/setup.h>
#include <asm/fixmap.h>
+#include <asm/fadump.h>
+#include <asm/kexec.h>
+#include <asm/kvm_ppc.h>
+
#include <mm/mmu_decl.h>
unsigned long long memory_limit __initdata;
@@ -268,6 +272,16 @@ void __init paging_init(void)
void __init arch_mm_preinit(void)
{
+
+ /*
+ * Reserve large chunks of memory for use by CMA for kdump, fadump, KVM
+ * and hugetlb. These must be called after pageblock_order is
+ * initialised.
+ */
+ fadump_cma_init();
+ kdump_cma_reserve();
+ kvm_cma_reserve();
+
/*
* book3s is limited to 16 page sizes due to encoding this in
* a 4-bit field for slices.