diff options
Diffstat (limited to 'arch/h8300/mm/init.c')
| -rw-r--r-- | arch/h8300/mm/init.c | 17 | 
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/h8300/mm/init.c b/arch/h8300/mm/init.c index 973369c32a9..981e25094b1 100644 --- a/arch/h8300/mm/init.c +++ b/arch/h8300/mm/init.c @@ -36,6 +36,7 @@  #include <asm/segment.h>  #include <asm/page.h>  #include <asm/pgtable.h> +#include <asm/sections.h>  #undef DEBUG @@ -123,7 +124,6 @@ void __init mem_init(void)  	int codek = 0, datak = 0, initk = 0;  	/* DAVIDM look at setup memory map generically with reserved area */  	unsigned long tmp; -	extern char _etext, _stext, _sdata, _ebss, __init_begin, __init_end;  	extern unsigned long  _ramend, _ramstart;  	unsigned long len = &_ramend - &_ramstart;  	unsigned long start_mem = memory_start; /* DAVIDM - these must start at end of kernel */ @@ -142,9 +142,9 @@ void __init mem_init(void)  	/* this will put all memory onto the freelists */  	totalram_pages = free_all_bootmem(); -	codek = (&_etext - &_stext) >> 10; -	datak = (&_ebss - &_sdata) >> 10; -	initk = (&__init_begin - &__init_end) >> 10; +	codek = (_etext - _stext) >> 10; +	datak = (__bss_stop - _sdata) >> 10; +	initk = (__init_begin - __init_end) >> 10;  	tmp = nr_free_pages() << PAGE_SHIFT;  	printk(KERN_INFO "Memory available: %luk/%luk RAM, %luk/%luk ROM (%dk kernel code, %dk data)\n", @@ -178,22 +178,21 @@ free_initmem(void)  {  #ifdef CONFIG_RAMKERNEL  	unsigned long addr; -	extern char __init_begin, __init_end;  /*   *	the following code should be cool even if these sections   *	are not page aligned.   */ -	addr = PAGE_ALIGN((unsigned long)(&__init_begin)); +	addr = PAGE_ALIGN((unsigned long)(__init_begin));  	/* next to check that the page we free is not a partial page */ -	for (; addr + PAGE_SIZE < (unsigned long)(&__init_end); addr +=PAGE_SIZE) { +	for (; addr + PAGE_SIZE < (unsigned long)__init_end; addr +=PAGE_SIZE) {  		ClearPageReserved(virt_to_page(addr));  		init_page_count(virt_to_page(addr));  		free_page(addr);  		totalram_pages++;  	}  	printk(KERN_INFO "Freeing unused kernel memory: %ldk freed (0x%x - 0x%x)\n", -			(addr - PAGE_ALIGN((long) &__init_begin)) >> 10, -			(int)(PAGE_ALIGN((unsigned long)(&__init_begin))), +			(addr - PAGE_ALIGN((long) __init_begin)) >> 10, +			(int)(PAGE_ALIGN((unsigned long)__init_begin)),  			(int)(addr - PAGE_SIZE));  #endif  }  |