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 */ |
