diff options
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 23 |
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 */ |
147 | void __init setup_paca(int cpu) | 146 | static 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 */ |