diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-04-16 05:52:22 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-04-17 07:46:13 +1000 |
commit | d7917ba7051e3fd12ebe2d5a09b29fb3a2b38190 (patch) | |
tree | 339d273aee5eb2cb83e226945f0319b51f4bdf3c /arch/powerpc/mm/init_32.c | |
parent | 99c62dd773797b68f3b1ca6bb3274725d1852fa2 (diff) | |
download | talos-obmc-linux-d7917ba7051e3fd12ebe2d5a09b29fb3a2b38190.tar.gz talos-obmc-linux-d7917ba7051e3fd12ebe2d5a09b29fb3a2b38190.zip |
[POWERPC] Introduce lowmem_end_addr to distinguish from total_lowmem
total_lowmem represents the amount of low memory, not the physical
address that low memory ends at. If the start of memory is at 0 it
happens that total_lowmem can be used as both the size and the address
that lowmem ends at (or more specifically one byte beyond the end).
To make the code a bit more clear and deal with the case when the start of
memory isn't at physical 0, we introduce lowmem_end_addr that represents
one byte beyond the last physical address in the lowmem region.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/mm/init_32.c')
-rw-r--r-- | arch/powerpc/mm/init_32.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index 1d7e5b8ade6a..ba61d088d2a2 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c @@ -146,6 +146,7 @@ void __init MMU_init(void) } total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr; + lowmem_end_addr = memstart_addr + total_lowmem; #ifdef CONFIG_FSL_BOOKE /* Freescale Book-E parts expect lowmem to be mapped by fixed TLB @@ -156,9 +157,10 @@ void __init MMU_init(void) if (total_lowmem > __max_low_memory) { total_lowmem = __max_low_memory; + lowmem_end_addr = memstart_addr + total_lowmem; #ifndef CONFIG_HIGHMEM total_memory = total_lowmem; - lmb_enforce_memory_limit(total_lowmem); + lmb_enforce_memory_limit(lowmem_end_addr); lmb_analyze(); #endif /* CONFIG_HIGHMEM */ } |