diff options
-rw-r--r-- | arch/m68k/mm/init.c | 22 | ||||
-rw-r--r-- | arch/m68k/mm/mcfmmu.c | 4 | ||||
-rw-r--r-- | arch/m68k/mm/motorola.c | 14 | ||||
-rw-r--r-- | arch/m68k/mm/sun3mmu.c | 4 |
4 files changed, 8 insertions, 36 deletions
diff --git a/arch/m68k/mm/init.c b/arch/m68k/mm/init.c index b0f201a409f3..f0e05bce92f2 100644 --- a/arch/m68k/mm/init.c +++ b/arch/m68k/mm/init.c | |||
@@ -103,32 +103,26 @@ void __init paging_init(void) | |||
103 | free_area_init(zones_size); | 103 | free_area_init(zones_size); |
104 | } | 104 | } |
105 | 105 | ||
106 | #endif /* CONFIG_MMU */ | ||
107 | |||
106 | void free_initmem(void) | 108 | void free_initmem(void) |
107 | { | 109 | { |
108 | #ifdef CONFIG_RAMKERNEL | 110 | #ifndef CONFIG_MMU_SUN3 |
109 | unsigned long addr; | 111 | unsigned long addr; |
110 | 112 | ||
111 | /* | 113 | addr = (unsigned long) __init_begin; |
112 | * The following code should be cool even if these sections | 114 | for (; addr < ((unsigned long) __init_end); addr += PAGE_SIZE) { |
113 | * are not page aligned. | ||
114 | */ | ||
115 | addr = PAGE_ALIGN((unsigned long) __init_begin); | ||
116 | /* next to check that the page we free is not a partial page */ | ||
117 | for (; addr + PAGE_SIZE < ((unsigned long) __init_end); addr += PAGE_SIZE) { | ||
118 | ClearPageReserved(virt_to_page(addr)); | 115 | ClearPageReserved(virt_to_page(addr)); |
119 | init_page_count(virt_to_page(addr)); | 116 | init_page_count(virt_to_page(addr)); |
120 | free_page(addr); | 117 | free_page(addr); |
121 | totalram_pages++; | 118 | totalram_pages++; |
122 | } | 119 | } |
123 | pr_notice("Freeing unused kernel memory: %luk freed (0x%x - 0x%x)\n", | 120 | pr_notice("Freeing unused kernel memory: %luk freed (0x%x - 0x%x)\n", |
124 | (addr - PAGE_ALIGN((unsigned long) __init_begin)) >> 10, | 121 | (addr - (unsigned long) __init_begin) >> 10, |
125 | (int)(PAGE_ALIGN((unsigned long) __init_begin)), | 122 | (unsigned int) __init_begin, (unsigned int) __init_end); |
126 | (int)(addr - PAGE_SIZE)); | 123 | #endif /* CONFIG_MMU_SUN3 */ |
127 | #endif | ||
128 | } | 124 | } |
129 | 125 | ||
130 | #endif /* CONFIG_MMU */ | ||
131 | |||
132 | #if defined(CONFIG_MMU) && !defined(CONFIG_COLDFIRE) | 126 | #if defined(CONFIG_MMU) && !defined(CONFIG_COLDFIRE) |
133 | #define VECTORS &vectors[0] | 127 | #define VECTORS &vectors[0] |
134 | #else | 128 | #else |
diff --git a/arch/m68k/mm/mcfmmu.c b/arch/m68k/mm/mcfmmu.c index 875b800ef0dd..f58fafe7e4c9 100644 --- a/arch/m68k/mm/mcfmmu.c +++ b/arch/m68k/mm/mcfmmu.c | |||
@@ -29,10 +29,6 @@ atomic_t nr_free_contexts; | |||
29 | struct mm_struct *context_mm[LAST_CONTEXT+1]; | 29 | struct mm_struct *context_mm[LAST_CONTEXT+1]; |
30 | extern unsigned long num_pages; | 30 | extern unsigned long num_pages; |
31 | 31 | ||
32 | void free_initmem(void) | ||
33 | { | ||
34 | } | ||
35 | |||
36 | /* | 32 | /* |
37 | * ColdFire paging_init derived from sun3. | 33 | * ColdFire paging_init derived from sun3. |
38 | */ | 34 | */ |
diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c index 0dafa693515b..251c5437787b 100644 --- a/arch/m68k/mm/motorola.c +++ b/arch/m68k/mm/motorola.c | |||
@@ -304,17 +304,3 @@ void __init paging_init(void) | |||
304 | } | 304 | } |
305 | } | 305 | } |
306 | 306 | ||
307 | void free_initmem(void) | ||
308 | { | ||
309 | unsigned long addr; | ||
310 | |||
311 | addr = (unsigned long)__init_begin; | ||
312 | for (; addr < (unsigned long)__init_end; addr += PAGE_SIZE) { | ||
313 | virt_to_page(addr)->flags &= ~(1 << PG_reserved); | ||
314 | init_page_count(virt_to_page(addr)); | ||
315 | free_page(addr); | ||
316 | totalram_pages++; | ||
317 | } | ||
318 | } | ||
319 | |||
320 | |||
diff --git a/arch/m68k/mm/sun3mmu.c b/arch/m68k/mm/sun3mmu.c index e0804060501e..269f81158a33 100644 --- a/arch/m68k/mm/sun3mmu.c +++ b/arch/m68k/mm/sun3mmu.c | |||
@@ -30,10 +30,6 @@ const char bad_pmd_string[] = "Bad pmd in pte_alloc: %08lx\n"; | |||
30 | 30 | ||
31 | extern unsigned long num_pages; | 31 | extern unsigned long num_pages; |
32 | 32 | ||
33 | void free_initmem(void) | ||
34 | { | ||
35 | } | ||
36 | |||
37 | /* For the sun3 we try to follow the i386 paging_init() more closely */ | 33 | /* For the sun3 we try to follow the i386 paging_init() more closely */ |
38 | /* start_mem and end_mem have PAGE_OFFSET added already */ | 34 | /* start_mem and end_mem have PAGE_OFFSET added already */ |
39 | /* now sets up tables using sun3 PTEs rather than i386 as before. --m */ | 35 | /* now sets up tables using sun3 PTEs rather than i386 as before. --m */ |