vserver 1.9.5.x5
[linux-2.6.git] / arch / mips / mm / init.c
index 5a3b32b..d353091 100644 (file)
@@ -61,7 +61,7 @@ unsigned long setup_zero_pages(void)
        else
                order = 0;
 
-       empty_zero_page = __get_free_pages(GFP_KERNEL, order);
+       empty_zero_page = __get_free_pages(GFP_KERNEL | __GFP_ZERO, order);
        if (!empty_zero_page)
                panic("Oh boy, that early out of memory?");
 
@@ -74,7 +74,6 @@ unsigned long setup_zero_pages(void)
 
        size = PAGE_SIZE << order;
        zero_page_mask = (size - 1) & PAGE_MASK;
-       memset((void *)empty_zero_page, 0, size);
 
        return 1UL << order;
 }
@@ -204,7 +203,6 @@ void __init mem_init(void)
        unsigned long tmp, ram;
 
 #ifdef CONFIG_HIGHMEM
-       highmem_start_page = mem_map + highstart_pfn;
 #ifdef CONFIG_DISCONTIGMEM
 #error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet"
 #endif
@@ -238,7 +236,7 @@ void __init mem_init(void)
                set_page_address(page, lowmem_page_address(page));
 #endif
                set_bit(PG_highmem, &page->flags);
-               atomic_set(&page->count, 1);
+               set_page_count(page, 1);
                __free_page(page);
                totalhigh_pages++;
        }