]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/mm/init_32.c
[PATCH] powerpc: Fix pagetable bloat for hugepages
[linux-2.6-omap-h63xx.git] / arch / powerpc / mm / init_32.c
index 4612a79dfb6e675058461d55a3bf048973961446..b57fb3a2b7bb25767d10596f978a5ed4df985c47 100644 (file)
@@ -84,9 +84,6 @@ void MMU_init(void);
 /* XXX should be in current.h  -- paulus */
 extern struct task_struct *current_set[NR_CPUS];
 
-char *klimit = _end;
-struct device_node *memory_node;
-
 extern int init_bootmem_done;
 
 /*
@@ -191,6 +188,11 @@ void __init MMU_init(void)
 
        if (ppc_md.progress)
                ppc_md.progress("MMU:exit", 0x211);
+
+       /* From now on, btext is no longer BAT mapped if it was at all */
+#ifdef CONFIG_BOOTX_TEXT
+       btext_unmap();
+#endif
 }
 
 /* This is only called until mem_init is done. */
@@ -214,7 +216,7 @@ static void free_sec(unsigned long start, unsigned long end, const char *name)
 
        while (start < end) {
                ClearPageReserved(virt_to_page(start));
-               set_page_count(virt_to_page(start), 1);
+               init_page_count(virt_to_page(start));
                free_page(start);
                cnt++;
                start += PAGE_SIZE;
@@ -246,7 +248,7 @@ void free_initrd_mem(unsigned long start, unsigned long end)
                printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
        for (; start < end; start += PAGE_SIZE) {
                ClearPageReserved(virt_to_page(start));
-               set_page_count(virt_to_page(start), 1);
+               init_page_count(virt_to_page(start));
                free_page(start);
                totalram_pages++;
        }