Lines Matching refs:ci
74 static void xen_ipi_kpreempt(struct cpu_info *ci, struct intrframe *);
97 struct cpu_info *ci;
99 ci = curcpu();
101 KASSERT(ci == arg);
102 pending = atomic_swap_32(&ci->ci_ipis, 0);
108 ci->ci_ipi_events[bit].ev_count++;
110 (*xen_ipifunc[bit])(ci, regs);
126 struct cpu_info *ci;
129 ci = curcpu();
131 vcpu = ci->ci_vcpuid;
135 ci->ci_ipi_evtchn = evtchn;
140 device_xname(ci->ci_dev));
143 __FPTRCAST(int (*)(void *), xen_ipi_handler), ci, IPL_HIGH,
144 NULL, intr_xname, true, ci) == NULL) {
168 xen_send_ipi(struct cpu_info *ci, uint32_t ipimask)
172 KASSERT(ci != NULL && ci != curcpu());
174 if ((ci->ci_flags & CPUF_RUNNING) == 0) {
178 evtchn = ci->ci_ipi_evtchn;
183 atomic_or_32(&ci->ci_ipis, ipimask);
192 struct cpu_info *ci, *self = curcpu();
203 for (CPU_INFO_FOREACH(cii, ci)) {
204 if (ci == NULL)
206 if (ci == self)
208 if (ci->ci_data.cpu_idlelwp == NULL)
210 if ((ci->ci_flags & CPUF_PRESENT) == 0)
212 if (ci->ci_flags & (CPUF_RUNNING)) {
213 if (0 != xen_send_ipi(ci, ipimask)) {
216 cpu_name(ci));
225 xen_ipi_halt(struct cpu_info *ci, struct intrframe *intrf)
227 KASSERT(ci == curcpu());
228 KASSERT(ci != NULL);
229 if (HYPERVISOR_vcpu_op(VCPUOP_down, ci->ci_vcpuid, NULL)) {
230 panic("%s shutdown failed.\n", device_xname(ci->ci_dev));
236 xen_ipi_synch_fpu(struct cpu_info *ci, struct intrframe *intrf)
238 KASSERT(ci != NULL);
246 xen_ipi_ddb(struct cpu_info *ci, struct intrframe *intrf)
248 KASSERT(ci != NULL);
279 xen_ipi_xcall(struct cpu_info *ci, struct intrframe *intrf)
281 KASSERT(ci != NULL);
288 xen_ipi_ast(struct cpu_info *ci, struct intrframe *intrf)
290 KASSERT(ci != NULL);
293 aston(ci->ci_onproc);
297 xen_ipi_generic(struct cpu_info *ci, struct intrframe *intrf)
299 KASSERT(ci != NULL);
305 xen_ipi_hvcb(struct cpu_info *ci, struct intrframe *intrf)
307 KASSERT(ci != NULL);
309 KASSERT(ci == curcpu());
310 KASSERT(!ci->ci_vcpu->evtchn_upcall_mask);
316 xen_ipi_kpreempt(struct cpu_info *ci, struct intrframe * intrf)
323 xc_send_ipi(struct cpu_info *ci)
327 KASSERT(curcpu() != ci);
328 if (ci) {
329 if (0 != xen_send_ipi(ci, XEN_IPI_XCALL)) {
338 cpu_ipi(struct cpu_info *ci)
341 KASSERT(curcpu() != ci);
342 if (ci) {
343 if (0 != xen_send_ipi(ci, XEN_IPI_GENERIC)) {