aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/setup_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
-rw-r--r--arch/powerpc/kernel/setup_64.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 04f638d82fb3..914389158a9b 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -61,7 +61,6 @@
61#include <asm/xmon.h> 61#include <asm/xmon.h>
62#include <asm/udbg.h> 62#include <asm/udbg.h>
63#include <asm/kexec.h> 63#include <asm/kexec.h>
64#include <asm/swiotlb.h>
65#include <asm/mmu_context.h> 64#include <asm/mmu_context.h>
66 65
67#include "setup.h" 66#include "setup.h"
@@ -144,9 +143,9 @@ early_param("smt-enabled", early_smt_enabled);
144#endif /* CONFIG_SMP */ 143#endif /* CONFIG_SMP */
145 144
146/* Put the paca pointer into r13 and SPRG_PACA */ 145/* Put the paca pointer into r13 and SPRG_PACA */
147void __init setup_paca(int cpu) 146static void __init setup_paca(struct paca_struct *new_paca)
148{ 147{
149 local_paca = &paca[cpu]; 148 local_paca = new_paca;
150 mtspr(SPRN_SPRG_PACA, local_paca); 149 mtspr(SPRN_SPRG_PACA, local_paca);
151#ifdef CONFIG_PPC_BOOK3E 150#ifdef CONFIG_PPC_BOOK3E
152 mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb); 151 mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb);
@@ -176,14 +175,12 @@ void __init early_setup(unsigned long dt_ptr)
176{ 175{
177 /* -------- printk is _NOT_ safe to use here ! ------- */ 176 /* -------- printk is _NOT_ safe to use here ! ------- */
178 177
179 /* Fill in any unititialised pacas */
180 initialise_pacas();
181
182 /* Identify CPU type */ 178 /* Identify CPU type */
183 identify_cpu(0, mfspr(SPRN_PVR)); 179 identify_cpu(0, mfspr(SPRN_PVR));
184 180
185 /* Assume we're on cpu 0 for now. Don't write to the paca yet! */ 181 /* Assume we're on cpu 0 for now. Don't write to the paca yet! */
186 setup_paca(0); 182 initialise_paca(&boot_paca, 0);
183 setup_paca(&boot_paca);
187 184
188 /* Initialize lockdep early or else spinlocks will blow */ 185 /* Initialize lockdep early or else spinlocks will blow */
189 lockdep_init(); 186 lockdep_init();
@@ -203,7 +200,7 @@ void __init early_setup(unsigned long dt_ptr)
203 early_init_devtree(__va(dt_ptr)); 200 early_init_devtree(__va(dt_ptr));
204 201
205 /* Now we know the logical id of our boot cpu, setup the paca. */ 202 /* Now we know the logical id of our boot cpu, setup the paca. */
206 setup_paca(boot_cpuid); 203 setup_paca(&paca[boot_cpuid]);
207 204
208 /* Fix up paca fields required for the boot cpu */ 205 /* Fix up paca fields required for the boot cpu */
209 get_paca()->cpu_start = 1; 206 get_paca()->cpu_start = 1;
@@ -356,11 +353,6 @@ void __init setup_system(void)
356 */ 353 */
357 initialize_cache_info(); 354 initialize_cache_info();
358 355
359 /*
360 * Initialize irq remapping subsystem
361 */
362 irq_early_init();
363
364#ifdef CONFIG_PPC_RTAS 356#ifdef CONFIG_PPC_RTAS
365 /* 357 /*
366 * Initialize RTAS if available 358 * Initialize RTAS if available
@@ -548,11 +540,6 @@ void __init setup_arch(char **cmdline_p)
548 if (ppc_md.setup_arch) 540 if (ppc_md.setup_arch)
549 ppc_md.setup_arch(); 541 ppc_md.setup_arch();
550 542
551#ifdef CONFIG_SWIOTLB
552 if (ppc_swiotlb_enable)
553 swiotlb_init();
554#endif
555
556 paging_init(); 543 paging_init();
557 544
558 /* Initialize the MMU context management stuff */ 545 /* Initialize the MMU context management stuff */