aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/setup_32.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-10-17 05:20:46 -0400
committerPaul Mackerras <paulus@samba.org>2005-10-17 05:20:46 -0400
commit30cd4a4e9c25e154ba087848a839bd0c6d024092 (patch)
tree8ba678b5e025b1d5e1f1b18e14662d2da720a0f7 /arch/powerpc/kernel/setup_32.c
parent7dffb72028bfd909ac51a1546d182de2df4d2426 (diff)
powerpc: Initialize btext subsystem later, after prom_init
We were initializing the btext stuff from prom_init(), thus breaking the rule that all communication between prom_init() and the rest of the kernel has to be via the flattened device tree. This removes the btext initialization calls from prom_init() and initializes it instead after the device tree is unflattened. It would be nice to do it earlier, but that needs some more infrastructure to find the properties we need in the flattened device tree. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/setup_32.c')
-rw-r--r--arch/powerpc/kernel/setup_32.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index bfa155c00ea5..e68f848f24bf 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -294,8 +294,6 @@ unsigned long __init early_init(unsigned long dt_ptr)
294{ 294{
295 unsigned long offset = reloc_offset(); 295 unsigned long offset = reloc_offset();
296 296
297 reloc_got2(offset);
298
299 /* 297 /*
300 * Identify the CPU type and fix up code sections 298 * Identify the CPU type and fix up code sections
301 * that depend on which cpu we have. 299 * that depend on which cpu we have.
@@ -303,12 +301,6 @@ unsigned long __init early_init(unsigned long dt_ptr)
303 identify_cpu(offset, 0); 301 identify_cpu(offset, 0);
304 do_cpu_ftr_fixups(offset); 302 do_cpu_ftr_fixups(offset);
305 303
306#ifdef CONFIG_BOOTX_TEXT
307 btext_prepare_BAT();
308#endif
309
310 reloc_got2(-offset);
311
312 return KERNELBASE + offset; 304 return KERNELBASE + offset;
313} 305}
314 306
@@ -578,13 +570,13 @@ void __init setup_arch(char **cmdline_p)
578 /* so udelay does something sensible, assume <= 1000 bogomips */ 570 /* so udelay does something sensible, assume <= 1000 bogomips */
579 loops_per_jiffy = 500000000 / HZ; 571 loops_per_jiffy = 500000000 / HZ;
580 572
581#ifdef CONFIG_BOOTX_TEXT
582 map_boot_text();
583#endif
584
585 unflatten_device_tree(); 573 unflatten_device_tree();
586 finish_device_tree(); 574 finish_device_tree();
587 575
576#ifdef CONFIG_BOOTX_TEXT
577 init_boot_display();
578#endif
579
588#ifdef CONFIG_PPC_MULTIPLATFORM 580#ifdef CONFIG_PPC_MULTIPLATFORM
589 /* This could be called "early setup arch", it must be done 581 /* This could be called "early setup arch", it must be done
590 * now because xmon need it 582 * now because xmon need it