diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-26 16:39:17 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-27 12:28:43 -0400 |
commit | 6e15cf04860074ad032e88c306bea656bbdd0f22 (patch) | |
tree | c346383bb7563e8d66b2f4a502f875b259c34870 /arch/alpha/mm/init.c | |
parent | be0ea69674ed95e1e98cb3687a241badc756d228 (diff) | |
parent | 60db56422043aaa455ac7f858ce23c273220f9d9 (diff) |
Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2
Conflicts:
arch/parisc/kernel/irq.c
arch/x86/include/asm/fixmap_64.h
arch/x86/include/asm/setup.h
kernel/irq/handle.c
Semantic merge:
arch/x86/include/asm/fixmap.h
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/alpha/mm/init.c')
-rw-r--r-- | arch/alpha/mm/init.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/arch/alpha/mm/init.c b/arch/alpha/mm/init.c index 5d7a16eab312..af71d38c8e41 100644 --- a/arch/alpha/mm/init.c +++ b/arch/alpha/mm/init.c | |||
@@ -189,9 +189,21 @@ callback_init(void * kernel_end) | |||
189 | 189 | ||
190 | if (alpha_using_srm) { | 190 | if (alpha_using_srm) { |
191 | static struct vm_struct console_remap_vm; | 191 | static struct vm_struct console_remap_vm; |
192 | unsigned long vaddr = VMALLOC_START; | 192 | unsigned long nr_pages = 0; |
193 | unsigned long vaddr; | ||
193 | unsigned long i, j; | 194 | unsigned long i, j; |
194 | 195 | ||
196 | /* calculate needed size */ | ||
197 | for (i = 0; i < crb->map_entries; ++i) | ||
198 | nr_pages += crb->map[i].count; | ||
199 | |||
200 | /* register the vm area */ | ||
201 | console_remap_vm.flags = VM_ALLOC; | ||
202 | console_remap_vm.size = nr_pages << PAGE_SHIFT; | ||
203 | vm_area_register_early(&console_remap_vm, PAGE_SIZE); | ||
204 | |||
205 | vaddr = (unsigned long)console_remap_vm.addr; | ||
206 | |||
195 | /* Set up the third level PTEs and update the virtual | 207 | /* Set up the third level PTEs and update the virtual |
196 | addresses of the CRB entries. */ | 208 | addresses of the CRB entries. */ |
197 | for (i = 0; i < crb->map_entries; ++i) { | 209 | for (i = 0; i < crb->map_entries; ++i) { |
@@ -213,12 +225,6 @@ callback_init(void * kernel_end) | |||
213 | vaddr += PAGE_SIZE; | 225 | vaddr += PAGE_SIZE; |
214 | } | 226 | } |
215 | } | 227 | } |
216 | |||
217 | /* Let vmalloc know that we've allocated some space. */ | ||
218 | console_remap_vm.flags = VM_ALLOC; | ||
219 | console_remap_vm.addr = (void *) VMALLOC_START; | ||
220 | console_remap_vm.size = vaddr - VMALLOC_START; | ||
221 | vmlist = &console_remap_vm; | ||
222 | } | 228 | } |
223 | 229 | ||
224 | callback_init_done = 1; | 230 | callback_init_done = 1; |