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 --- |