paca.c (05909cd9a0c8811731b38697af13075e8954314f) paca.c (a7223f5bfcaeade4a86d35263493bcda6c940891)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * c 2001 PPC 64 Team, IBM Corp
4 */
5
6#include <linux/smp.h>
7#include <linux/export.h>
8#include <linux/memblock.h>

--- 194 unchanged lines hidden (view full) ---

203 * per processor. The Paca array must contain an entry for each thread.
204 * The VPD Areas will give a max logical processors = 2 * max physical
205 * processors. The processor VPD array needs one entry per physical
206 * processor (not thread).
207 */
208struct paca_struct **paca_ptrs __read_mostly;
209EXPORT_SYMBOL(paca_ptrs);
210
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * c 2001 PPC 64 Team, IBM Corp
4 */
5
6#include <linux/smp.h>
7#include <linux/export.h>
8#include <linux/memblock.h>

--- 194 unchanged lines hidden (view full) ---

203 * per processor. The Paca array must contain an entry for each thread.
204 * The VPD Areas will give a max logical processors = 2 * max physical
205 * processors. The processor VPD array needs one entry per physical
206 * processor (not thread).
207 */
208struct paca_struct **paca_ptrs __read_mostly;
209EXPORT_SYMBOL(paca_ptrs);
210
211void __init __nostackprotector initialise_paca(struct paca_struct *new_paca, int cpu)
211void __init initialise_paca(struct paca_struct *new_paca, int cpu)
212{
213#ifdef CONFIG_PPC_PSERIES
214 new_paca->lppaca_ptr = NULL;
215#endif
216#ifdef CONFIG_PPC_BOOK3E
217 new_paca->kernel_pgd = swapper_pg_dir;
218#endif
219 new_paca->lock_token = 0x8000;

--- 16 unchanged lines hidden (view full) ---

236#endif
237
238#ifdef CONFIG_PPC_PSERIES
239 new_paca->rtas_args_reentrant = NULL;
240#endif
241}
242
243/* Put the paca pointer into r13 and SPRG_PACA */
212{
213#ifdef CONFIG_PPC_PSERIES
214 new_paca->lppaca_ptr = NULL;
215#endif
216#ifdef CONFIG_PPC_BOOK3E
217 new_paca->kernel_pgd = swapper_pg_dir;
218#endif
219 new_paca->lock_token = 0x8000;

--- 16 unchanged lines hidden (view full) ---

236#endif
237
238#ifdef CONFIG_PPC_PSERIES
239 new_paca->rtas_args_reentrant = NULL;
240#endif
241}
242
243/* Put the paca pointer into r13 and SPRG_PACA */
244void __nostackprotector setup_paca(struct paca_struct *new_paca)
244void setup_paca(struct paca_struct *new_paca)
245{
246 /* Setup r13 */
247 local_paca = new_paca;
248
249#ifdef CONFIG_PPC_BOOK3E
250 /* On Book3E, initialize the TLB miss exception frames */
251 mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb);
252#else

--- 112 unchanged lines hidden ---
245{
246 /* Setup r13 */
247 local_paca = new_paca;
248
249#ifdef CONFIG_PPC_BOOK3E
250 /* On Book3E, initialize the TLB miss exception frames */
251 mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb);
252#else

--- 112 unchanged lines hidden ---