aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/init_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/mm/init_32.c')
-rw-r--r--arch/powerpc/mm/init_32.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c
index 9ddcfb4dc139..767333005eb4 100644
--- a/arch/powerpc/mm/init_32.c
+++ b/arch/powerpc/mm/init_32.c
@@ -31,6 +31,7 @@
31#include <linux/initrd.h> 31#include <linux/initrd.h>
32#include <linux/pagemap.h> 32#include <linux/pagemap.h>
33#include <linux/lmb.h> 33#include <linux/lmb.h>
34#include <linux/gfp.h>
34 35
35#include <asm/pgalloc.h> 36#include <asm/pgalloc.h>
36#include <asm/prom.h> 37#include <asm/prom.h>
@@ -47,7 +48,7 @@
47#include "mmu_decl.h" 48#include "mmu_decl.h"
48 49
49#if defined(CONFIG_KERNEL_START_BOOL) || defined(CONFIG_LOWMEM_SIZE_BOOL) 50#if defined(CONFIG_KERNEL_START_BOOL) || defined(CONFIG_LOWMEM_SIZE_BOOL)
50/* The ammount of lowmem must be within 0xF0000000 - KERNELBASE. */ 51/* The amount of lowmem must be within 0xF0000000 - KERNELBASE. */
51#if (CONFIG_LOWMEM_SIZE > (0xF0000000 - PAGE_OFFSET)) 52#if (CONFIG_LOWMEM_SIZE > (0xF0000000 - PAGE_OFFSET))
52#error "You must adjust CONFIG_LOWMEM_SIZE or CONFIG_START_KERNEL" 53#error "You must adjust CONFIG_LOWMEM_SIZE or CONFIG_START_KERNEL"
53#endif 54#endif
@@ -82,6 +83,11 @@ extern struct task_struct *current_set[NR_CPUS];
82int __map_without_bats; 83int __map_without_bats;
83int __map_without_ltlbs; 84int __map_without_ltlbs;
84 85
86/*
87 * This tells the system to allow ioremapping memory marked as reserved.
88 */
89int __allow_ioremap_reserved;
90
85/* max amount of low RAM to map in */ 91/* max amount of low RAM to map in */
86unsigned long __max_low_memory = MAX_LOW_MEM; 92unsigned long __max_low_memory = MAX_LOW_MEM;
87 93
@@ -131,9 +137,13 @@ void __init MMU_init(void)
131 MMU_setup(); 137 MMU_setup();
132 138
133 if (lmb.memory.cnt > 1) { 139 if (lmb.memory.cnt > 1) {
140#ifndef CONFIG_WII
134 lmb.memory.cnt = 1; 141 lmb.memory.cnt = 1;
135 lmb_analyze(); 142 lmb_analyze();
136 printk(KERN_WARNING "Only using first contiguous memory region"); 143 printk(KERN_WARNING "Only using first contiguous memory region");
144#else
145 wii_memory_fixups();
146#endif
137 } 147 }
138 148
139 total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr; 149 total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr;