Lines Matching full:ipi
3 * Loongson IPI interrupt common support
58 LoongsonIPICommonState *ipi = opaque; in loongson_ipi_iocsr_readl() local
61 if (attrs.requester_id >= ipi->num_cpu) { in loongson_ipi_iocsr_readl()
65 s = &ipi->cpu[attrs.requester_id]; in loongson_ipi_iocsr_readl()
69 static MemTxResult send_ipi_data(LoongsonIPICommonState *ipi, CPUState *cpu, in send_ipi_data() argument
72 LoongsonIPICommonClass *licc = LOONGSON_IPI_COMMON_GET_CLASS(ipi); in send_ipi_data()
101 static MemTxResult mail_send(LoongsonIPICommonState *ipi, in mail_send() argument
104 LoongsonIPICommonClass *licc = LOONGSON_IPI_COMMON_GET_CLASS(ipi); in mail_send()
118 return send_ipi_data(ipi, cs, val, addr, attrs); in mail_send()
121 static MemTxResult any_send(LoongsonIPICommonState *ipi, in any_send() argument
124 LoongsonIPICommonClass *licc = LOONGSON_IPI_COMMON_GET_CLASS(ipi); in any_send()
138 return send_ipi_data(ipi, cs, val, addr, attrs); in any_send()
145 LoongsonIPICommonState *ipi = s->ipi; in loongson_ipi_core_writel() local
146 LoongsonIPICommonClass *licc = LOONGSON_IPI_COMMON_GET_CLASS(ipi); in loongson_ipi_core_writel()
179 /* IPI status vector */ in loongson_ipi_core_writel()
182 if (cs == NULL || cs->cpu_index >= ipi->num_cpu) { in loongson_ipi_core_writel()
185 loongson_ipi_core_writel(&ipi->cpu[cs->cpu_index], CORE_SET_OFF, in loongson_ipi_core_writel()
200 LoongsonIPICommonState *ipi = opaque; in loongson_ipi_iocsr_writel() local
203 if (attrs.requester_id >= ipi->num_cpu) { in loongson_ipi_iocsr_writel()
207 s = &ipi->cpu[attrs.requester_id]; in loongson_ipi_iocsr_writel()
225 LoongsonIPICommonState *ipi = opaque; in loongson_ipi_writeq() local
231 ret = mail_send(ipi, val, attrs); in loongson_ipi_writeq()
234 ret = any_send(ipi, val, attrs); in loongson_ipi_writeq()
279 s->cpu[i].ipi = s; in loongson_ipi_common_realize()
293 .name = "ipi-single",