]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/mm/mem.c
powerpc: Force page alignment for initrd reserved memory
[karo-tx-linux.git] / arch / powerpc / mm / mem.c
index 57e545b84bf199cb8db2b2fbefa0d4755a419394..29d4dde65c45f9b6f075d2d575fac1d05e2bbdc7 100644 (file)
@@ -382,6 +382,25 @@ void __init mem_init(void)
        mem_init_done = 1;
 }
 
+#ifdef CONFIG_BLK_DEV_INITRD
+void __init free_initrd_mem(unsigned long start, unsigned long end)
+{
+       if (start >= end)
+               return;
+
+       start = _ALIGN_DOWN(start, PAGE_SIZE);
+       end = _ALIGN_UP(end, PAGE_SIZE);
+       pr_info("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
+
+       for (; start < end; start += PAGE_SIZE) {
+               ClearPageReserved(virt_to_page(start));
+               init_page_count(virt_to_page(start));
+               free_page(start);
+               totalram_pages++;
+       }
+}
+#endif
+
 /*
  * This is called when a page has been modified by the kernel.
  * It just marks the page as not i-cache clean.  We do the i-cache