smp.c (b3bbcc5d1da1b654091dad15980b3d58fdae0fc6) smp.c (3e7318584dfec11992f3ac45658c4bc1210b3778)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * SMP support for ppc.
4 *
5 * Written by Cort Dougan (cort@cs.nmt.edu) borrowing a great
6 * deal of code from the sparc and intel versions.
7 *
8 * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu>

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

703}
704#endif /* CONFIG_NMI_IPI */
705
706static struct task_struct *current_set[NR_CPUS];
707
708static void smp_store_cpu_info(int id)
709{
710 per_cpu(cpu_pvr, id) = mfspr(SPRN_PVR);
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * SMP support for ppc.
4 *
5 * Written by Cort Dougan (cort@cs.nmt.edu) borrowing a great
6 * deal of code from the sparc and intel versions.
7 *
8 * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu>

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

703}
704#endif /* CONFIG_NMI_IPI */
705
706static struct task_struct *current_set[NR_CPUS];
707
708static void smp_store_cpu_info(int id)
709{
710 per_cpu(cpu_pvr, id) = mfspr(SPRN_PVR);
711#ifdef CONFIG_PPC_FSL_BOOK3E
711#ifdef CONFIG_PPC_E500
712 per_cpu(next_tlbcam_idx, id)
713 = (mfspr(SPRN_TLB1CFG) & TLBnCFG_N_ENTRY) - 1;
714#endif
715}
716
717/*
718 * Relationships between CPUs are maintained in a set of per-cpu cpumasks so
719 * rather than just passing around the cpumask we pass around a function that

--- 1045 unchanged lines hidden ---
712 per_cpu(next_tlbcam_idx, id)
713 = (mfspr(SPRN_TLB1CFG) & TLBnCFG_N_ENTRY) - 1;
714#endif
715}
716
717/*
718 * Relationships between CPUs are maintained in a set of per-cpu cpumasks so
719 * rather than just passing around the cpumask we pass around a function that

--- 1045 unchanged lines hidden ---