diff options
| author | Hirokazu Takata <takata@linux-m32r.org> | 2009-09-23 21:37:06 +0900 | 
|---|---|---|
| committer | Hirokazu Takata <takata@linux-m32r.org> | 2009-10-04 12:02:36 +0900 | 
| commit | 6b6fabce5ac47668a2c2d9a14f1cdcc23c4ed896 (patch) | |
| tree | 2d0aef1bfaf9f8e471d3f5b420edc06bd5d1e148 /arch/m32r/mm | |
| parent | bac33bd571a9c2969efb52dd02c5407fbc49c360 (diff) | |
m32r: Fix set_memory() for DISCONTIGMEM
In case CONFIG_DISCONTIGMEM is set, the memory size of system was
always determined by CONFIG_MEMORY_SIZE and was not changeable.
This patch fixes set_memory() of arch/m32r/mm/discontig.c so that
we can specify memory size by the "mem=<size>" kernel parameter.
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Diffstat (limited to 'arch/m32r/mm')
| -rw-r--r-- | arch/m32r/mm/discontig.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/arch/m32r/mm/discontig.c b/arch/m32r/mm/discontig.c index b7a78ad429b7..5d2858f6eede 100644 --- a/arch/m32r/mm/discontig.c +++ b/arch/m32r/mm/discontig.c @@ -32,6 +32,9 @@ typedef struct {  } mem_prof_t;  static mem_prof_t mem_prof[MAX_NUMNODES]; +extern unsigned long memory_start; +extern unsigned long memory_end; +  static void __init mem_prof_init(void)  {  	unsigned long start_pfn, holes, free_pfn; @@ -42,7 +45,7 @@ static void __init mem_prof_init(void)  	/* Node#0 SDRAM */  	mp = &mem_prof[0];  	mp->start_pfn = PFN_UP(CONFIG_MEMORY_START); -	mp->pages = PFN_DOWN(CONFIG_MEMORY_SIZE); +	mp->pages = PFN_DOWN(memory_end - memory_start);  	mp->holes = 0;  	mp->free_pfn = PFN_UP(__pa(_end)); | 
