diff options
Diffstat (limited to 'arch/powerpc/mm/fsl_booke_mmu.c')
| -rw-r--r-- | arch/powerpc/mm/fsl_booke_mmu.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index 4b66a1ece6d..cde270847e7 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | #include <linux/init.h> | 40 | #include <linux/init.h> |
| 41 | #include <linux/delay.h> | 41 | #include <linux/delay.h> |
| 42 | #include <linux/highmem.h> | 42 | #include <linux/highmem.h> |
| 43 | #include <linux/memblock.h> | ||
| 43 | 44 | ||
| 44 | #include <asm/pgalloc.h> | 45 | #include <asm/pgalloc.h> |
| 45 | #include <asm/prom.h> | 46 | #include <asm/prom.h> |
| @@ -213,5 +214,14 @@ void __init adjust_total_lowmem(void) | |||
| 213 | pr_cont("%lu Mb, residual: %dMb\n", tlbcam_sz(tlbcam_index - 1) >> 20, | 214 | pr_cont("%lu Mb, residual: %dMb\n", tlbcam_sz(tlbcam_index - 1) >> 20, |
| 214 | (unsigned int)((total_lowmem - __max_low_memory) >> 20)); | 215 | (unsigned int)((total_lowmem - __max_low_memory) >> 20)); |
| 215 | 216 | ||
| 216 | __initial_memory_limit_addr = memstart_addr + __max_low_memory; | 217 | memblock_set_current_limit(memstart_addr + __max_low_memory); |
| 218 | } | ||
| 219 | |||
| 220 | void setup_initial_memory_limit(phys_addr_t first_memblock_base, | ||
| 221 | phys_addr_t first_memblock_size) | ||
| 222 | { | ||
| 223 | phys_addr_t limit = first_memblock_base + first_memblock_size; | ||
| 224 | |||
| 225 | /* 64M mapped initially according to head_fsl_booke.S */ | ||
| 226 | memblock_set_current_limit(min_t(u64, limit, 0x04000000)); | ||
| 217 | } | 227 | } |
