diff options
Diffstat (limited to 'arch/powerpc/mm/init_32.c')
-rw-r--r-- | arch/powerpc/mm/init_32.c | 12 |
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]; | |||
82 | int __map_without_bats; | 83 | int __map_without_bats; |
83 | int __map_without_ltlbs; | 84 | int __map_without_ltlbs; |
84 | 85 | ||
86 | /* | ||
87 | * This tells the system to allow ioremapping memory marked as reserved. | ||
88 | */ | ||
89 | int __allow_ioremap_reserved; | ||
90 | |||
85 | /* max amount of low RAM to map in */ | 91 | /* max amount of low RAM to map in */ |
86 | unsigned long __max_low_memory = MAX_LOW_MEM; | 92 | unsigned 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; |