xics-common.c (e6f6390ab7b9d649c13de2c8a591bce61a10ec3b) xics-common.c (2ab2d5794f14c08676690bf0859f16cc768bb3a4)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2011 IBM Corporation.
4 */
5#include <linux/types.h>
6#include <linux/threads.h>
7#include <linux/kernel.h>
8#include <linux/irq.h>

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

141 xics_request_ipi();
142
143 /* Setup cause_ipi callback based on which ICP is used */
144 smp_ops->cause_ipi = icp_ops->cause_ipi;
145}
146
147#endif /* CONFIG_SMP */
148
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2011 IBM Corporation.
4 */
5#include <linux/types.h>
6#include <linux/threads.h>
7#include <linux/kernel.h>
8#include <linux/irq.h>

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

141 xics_request_ipi();
142
143 /* Setup cause_ipi callback based on which ICP is used */
144 smp_ops->cause_ipi = icp_ops->cause_ipi;
145}
146
147#endif /* CONFIG_SMP */
148
149void xics_teardown_cpu(void)
149noinstr void xics_teardown_cpu(void)
150{
151 struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr);
152
153 /*
154 * we have to reset the cppr index to 0 because we're
155 * not going to return from the IPI
156 */
157 os_cppr->index = 0;
158 icp_ops->set_priority(0);
159 icp_ops->teardown_cpu();
160}
161
150{
151 struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr);
152
153 /*
154 * we have to reset the cppr index to 0 because we're
155 * not going to return from the IPI
156 */
157 os_cppr->index = 0;
158 icp_ops->set_priority(0);
159 icp_ops->teardown_cpu();
160}
161
162void xics_kexec_teardown_cpu(int secondary)
162noinstr void xics_kexec_teardown_cpu(int secondary)
163{
164 xics_teardown_cpu();
165
166 icp_ops->flush_ipi();
167
168 /*
169 * Some machines need to have at least one cpu in the GIQ,
170 * so leave the master cpu in the group.

--- 374 unchanged lines hidden ---
163{
164 xics_teardown_cpu();
165
166 icp_ops->flush_ipi();
167
168 /*
169 * Some machines need to have at least one cpu in the GIQ,
170 * so leave the master cpu in the group.

--- 374 unchanged lines hidden ---