summaryrefslogtreecommitdiff
path: root/arch/score/mm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/score/mm')
-rw-r--r--arch/score/mm/init.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/arch/score/mm/init.c b/arch/score/mm/init.c
index 7780eecc5a43..d496e9f1a601 100644
--- a/arch/score/mm/init.c
+++ b/arch/score/mm/init.c
@@ -32,44 +32,30 @@
#include <linux/pagemap.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
-#include <asm-generic/sections.h>
+#include <linux/initrd.h>
+#include <asm/sections.h>
#include <asm/tlb.h>
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
-/*
- * We have up to 8 empty zeroed pages so we can map one of the right colour
- * when needed.
- */
-unsigned long zero_page_mask;
unsigned long empty_zero_page;
EXPORT_SYMBOL_GPL(empty_zero_page);
static struct kcore_list kcore_mem, kcore_vmalloc;
-unsigned long setup_zero_pages(void)
+static unsigned long setup_zero_page(void)
{
- unsigned int order = 0;
- unsigned long size;
struct page *page;
- empty_zero_page = __get_free_pages(GFP_KERNEL | __GFP_ZERO, order);
+ empty_zero_page = __get_free_pages(GFP_KERNEL | __GFP_ZERO, 0);
if (!empty_zero_page)
panic("Oh boy, that early out of memory?");
page = virt_to_page((void *) empty_zero_page);
- split_page(page, order);
- while (page < virt_to_page((void *) (empty_zero_page +
- (PAGE_SIZE << order)))) {
- SetPageReserved(page);
- page++;
- }
-
- size = PAGE_SIZE << order;
- zero_page_mask = (size - 1) & PAGE_MASK;
+ SetPageReserved(page);
- return 1UL << order;
+ return 1UL;
}
#ifndef CONFIG_NEED_MULTIPLE_NODES
@@ -100,7 +86,7 @@ void __init mem_init(void)
max_mapnr = max_low_pfn;
high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
totalram_pages += free_all_bootmem();
- totalram_pages -= setup_zero_pages(); /* Setup zeroed pages. */
+ totalram_pages -= setup_zero_page(); /* Setup zeroed pages. */
reservedpages = 0;
for (tmp = 0; tmp < max_low_pfn; tmp++)
@@ -129,7 +115,7 @@ void __init mem_init(void)
}
#endif /* !CONFIG_NEED_MULTIPLE_NODES */
-void free_init_pages(const char *what, unsigned long begin, unsigned long end)
+static void free_init_pages(const char *what, unsigned long begin, unsigned long end)
{
unsigned long pfn;
@@ -150,8 +136,8 @@ void free_init_pages(const char *what, unsigned long begin, unsigned long end)
void free_initrd_mem(unsigned long start, unsigned long end)
{
free_init_pages("initrd memory",
- virt_to_phys((void *) start),
- virt_to_phys((void *) end));
+ virt_to_phys((void *) start),
+ virt_to_phys((void *) end));
}
#endif