diff options
author | Dave Carroll <dcarroll@astekcorp.com> | 2011-06-18 03:36:39 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-06-30 01:28:05 -0400 |
commit | 2773fcc8c48b947c997ff345f3e453917883cdb5 (patch) | |
tree | d0b526f25efa465236bce0ab31c3e89dc79a1462 /arch/powerpc/mm/init_64.c | |
parent | 6da49a292534d31ca391928ea97f8225774dc1e0 (diff) |
powerpc: Move free_initmem to common code
The free_initmem function is basically duplicated in mm/init_32,
and init_64, and is moved to the common 32/64-bit mm/mem.c.
All other sections except init were removed in v2.6.15 by
6c45ab992e4299c869fb26427944a8f8ea177024 (powerpc: Remove section
free() and linker script bits), and therefore the bulk of the executed
code is identical.
This patch also removes updating ppc_md.progress to NULL in the powermac
late_initcall.
Suggested-by: Milton Miller <miltonm@bga.com>
Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Dave Carroll <dcarroll@astekcorp.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/mm/init_64.c')
-rw-r--r-- | arch/powerpc/mm/init_64.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index f6dbb4c20e64..e94b57fb79a0 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -83,22 +83,6 @@ EXPORT_SYMBOL_GPL(memstart_addr); | |||
83 | phys_addr_t kernstart_addr; | 83 | phys_addr_t kernstart_addr; |
84 | EXPORT_SYMBOL_GPL(kernstart_addr); | 84 | EXPORT_SYMBOL_GPL(kernstart_addr); |
85 | 85 | ||
86 | void free_initmem(void) | ||
87 | { | ||
88 | unsigned long addr; | ||
89 | |||
90 | addr = (unsigned long)__init_begin; | ||
91 | for (; addr < (unsigned long)__init_end; addr += PAGE_SIZE) { | ||
92 | memset((void *)addr, POISON_FREE_INITMEM, PAGE_SIZE); | ||
93 | ClearPageReserved(virt_to_page(addr)); | ||
94 | init_page_count(virt_to_page(addr)); | ||
95 | free_page(addr); | ||
96 | totalram_pages++; | ||
97 | } | ||
98 | printk ("Freeing unused kernel memory: %luk freed\n", | ||
99 | ((unsigned long)__init_end - (unsigned long)__init_begin) >> 10); | ||
100 | } | ||
101 | |||
102 | static void pgd_ctor(void *addr) | 86 | static void pgd_ctor(void *addr) |
103 | { | 87 | { |
104 | memset(addr, 0, PGD_TABLE_SIZE); | 88 | memset(addr, 0, PGD_TABLE_SIZE); |