| /openbmc/qemu/hw/intc/ |
| H A D | spapr_xive_kvm.c | 234 int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp) in kvmppc_xive_source_reset_one() argument 236 SpaprXive *xive = SPAPR_XIVE(xsrc->xive); in kvmppc_xive_source_reset_one() 243 if (xive_source_irq_is_lsi(xsrc, srcno)) { in kvmppc_xive_source_reset_one() 245 if (xive_source_is_asserted(xsrc, srcno)) { in kvmppc_xive_source_reset_one() 254 static int kvmppc_xive_source_reset(XiveSource *xsrc, Error **errp) in kvmppc_xive_source_reset() argument 256 SpaprXive *xive = SPAPR_XIVE(xsrc->xive); in kvmppc_xive_source_reset() 259 for (i = 0; i < xsrc->nr_irqs; i++) { in kvmppc_xive_source_reset() 266 ret = kvmppc_xive_source_reset_one(xsrc, i, errp); in kvmppc_xive_source_reset() 281 static uint64_t xive_esb_rw(XiveSource *xsrc, int srcno, uint32_t offset, in xive_esb_rw() argument 284 uint64_t *addr = xsrc->esb_mmap + xive_source_esb_mgmt(xsrc, srcno) + in xive_esb_rw() [all …]
|
| H A D | xive.c | 1209 uint8_t xive_source_esb_get(XiveSource *xsrc, uint32_t srcno) in xive_source_esb_get() argument 1211 assert(srcno < xsrc->nr_irqs); in xive_source_esb_get() 1213 return xsrc->status[srcno] & 0x3; in xive_source_esb_get() 1216 uint8_t xive_source_esb_set(XiveSource *xsrc, uint32_t srcno, uint8_t pq) in xive_source_esb_set() argument 1218 assert(srcno < xsrc->nr_irqs); in xive_source_esb_set() 1220 return xive_esb_set(&xsrc->status[srcno], pq); in xive_source_esb_set() 1226 static bool xive_source_lsi_trigger(XiveSource *xsrc, uint32_t srcno) in xive_source_lsi_trigger() argument 1228 uint8_t old_pq = xive_source_esb_get(xsrc, srcno); in xive_source_lsi_trigger() 1230 xive_source_set_asserted(xsrc, srcno, true); in xive_source_lsi_trigger() 1234 xive_source_esb_set(xsrc, srcno, XIVE_ESB_PENDING); in xive_source_lsi_trigger() [all …]
|
| H A D | spapr_xive.c | 159 XiveSource *xsrc = &xive->source; in spapr_xive_pic_print_info() local 175 uint8_t pq = xive_source_esb_get(xsrc, i); in spapr_xive_pic_print_info() 183 xive_source_irq_is_lsi(xsrc, i) ? "LSI" : "MSI", in spapr_xive_pic_print_info() 186 xive_source_is_asserted(xsrc, i) ? 'A' : ' ', in spapr_xive_pic_print_info() 295 XiveSource *xsrc = &xive->source; in spapr_xive_realize() local 312 object_property_set_int(OBJECT(xsrc), "nr-irqs", xive->nr_irqs, in spapr_xive_realize() 314 object_property_set_link(OBJECT(xsrc), "xive", OBJECT(xive), &error_abort); in spapr_xive_realize() 315 if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { in spapr_xive_realize() 331 xive->end_base = xive->vc_base + xive_source_esb_len(xsrc); in spapr_xive_realize() 353 &xsrc->esb_mmio); in spapr_xive_realize() [all …]
|
| H A D | xive2.c | 2009 Xive2EndSource *xsrc = XIVE2_END_SOURCE(opaque); in xive2_end_source_read() local 2022 end_blk = xive2_router_get_block_id(xsrc->xrtr); in xive2_end_source_read() 2023 end_idx = addr >> (xsrc->esb_shift + 1); in xive2_end_source_read() 2025 if (xive2_router_get_end(xsrc->xrtr, end_blk, end_idx, &end)) { in xive2_end_source_read() 2037 end_esmask = addr_is_even(addr, xsrc->esb_shift) ? END2_W1_ESn : in xive2_end_source_read() 2066 xive2_router_write_end(xsrc->xrtr, end_blk, end_idx, &end, 1); in xive2_end_source_read() 2075 Xive2EndSource *xsrc = XIVE2_END_SOURCE(opaque); in xive2_end_source_write() local 2088 end_blk = xive2_router_get_block_id(xsrc->xrtr); in xive2_end_source_write() 2089 end_idx = addr >> (xsrc->esb_shift + 1); in xive2_end_source_write() 2091 if (xive2_router_get_end(xsrc->xrtr, end_blk, end_idx, &end)) { in xive2_end_source_write() [all …]
|
| H A D | pnv_xive.c | 770 XiveSource *xsrc = &xive->ipi_source; in pnv_xive_vst_set_exclusive() local 817 * (1ull << xsrc->esb_shift)); in pnv_xive_vst_set_exclusive() 834 memory_region_set_size(&xsrc->esb_mmio, vst_tsize * SBE_PER_BYTE in pnv_xive_vst_set_exclusive() 835 * (1ull << xsrc->esb_shift)); in pnv_xive_vst_set_exclusive() 837 memory_region_add_subregion(&xive->ipi_edt_mmio, 0, &xsrc->esb_mmio); in pnv_xive_vst_set_exclusive() 1901 XiveSource *xsrc = &xive->ipi_source; in pnv_xive_reset() local 1908 if (memory_region_is_mapped(&xsrc->esb_mmio)) { in pnv_xive_reset() 1909 memory_region_del_subregion(&xive->ipi_edt_mmio, &xsrc->esb_mmio); in pnv_xive_reset() 1945 XiveSource *xsrc = &xive->ipi_source; in pnv_xive_realize() local 1963 object_property_set_int(OBJECT(xsrc), "nr-irqs", PNV_XIVE_NR_IRQS, in pnv_xive_realize() [all …]
|
| H A D | pnv_xive2.c | 854 XiveSource *xsrc = &xive->ipi_source; in pnv_xive2_vst_set_exclusive() local 893 if (memory_region_is_mapped(&xsrc->esb_mmio)) { in pnv_xive2_vst_set_exclusive() 894 memory_region_del_subregion(&xive->esb_mmio, &xsrc->esb_mmio); in pnv_xive2_vst_set_exclusive() 897 memory_region_set_size(&xsrc->esb_mmio, vst_tsize * SBE_PER_BYTE in pnv_xive2_vst_set_exclusive() 898 * (1ull << xsrc->esb_shift)); in pnv_xive2_vst_set_exclusive() 901 memory_region_add_subregion(&xive->esb_mmio, 0, &xsrc->esb_mmio); in pnv_xive2_vst_set_exclusive() 2402 XiveSource *xsrc = &xive->ipi_source; in pnv_xive2_reset() local 2423 if (memory_region_is_mapped(&xsrc->esb_mmio)) { in pnv_xive2_reset() 2424 memory_region_del_subregion(&xive->esb_mmio, &xsrc->esb_mmio); in pnv_xive2_reset() 2443 XiveSource *xsrc = &xive->ipi_source; in pnv_xive2_realize() local [all …]
|
| /openbmc/qemu/include/hw/ppc/ |
| H A D | xive.h | 213 static inline bool xive_source_esb_has_2page(XiveSource *xsrc) in xive_source_esb_has_2page() argument 215 return xsrc->esb_shift == XIVE_ESB_64K_2PAGE || in xive_source_esb_has_2page() 216 xsrc->esb_shift == XIVE_ESB_4K_2PAGE; in xive_source_esb_has_2page() 219 static inline uint64_t xive_source_esb_len(XiveSource *xsrc) in xive_source_esb_len() argument 221 return (1ull << xsrc->esb_shift) * xsrc->nr_irqs; in xive_source_esb_len() 225 static inline hwaddr xive_source_esb_page(XiveSource *xsrc, uint32_t srcno) in xive_source_esb_page() argument 227 assert(srcno < xsrc->nr_irqs); in xive_source_esb_page() 228 return (1ull << xsrc->esb_shift) * srcno; in xive_source_esb_page() 232 static inline hwaddr xive_source_esb_mgmt(XiveSource *xsrc, int srcno) in xive_source_esb_mgmt() argument 234 hwaddr addr = xive_source_esb_page(xsrc, srcno); in xive_source_esb_mgmt() [all …]
|
| H A D | spapr_xive.h | 87 uint64_t kvmppc_xive_esb_rw(XiveSource *xsrc, int srcno, uint32_t offset,
|
| /openbmc/qemu/hw/pci-host/ |
| H A D | pnv_phb4.c | 457 XiveSource *xsrc = &phb->xsrc; in pnv_phb4_update_xsrc() local 480 phb->xsrc.esb_shift = shift; in pnv_phb4_update_xsrc() 481 phb->xsrc.esb_flags = flags; in pnv_phb4_update_xsrc() 492 bitmap_zero(xsrc->lsi_map, xsrc->nr_irqs); in pnv_phb4_update_xsrc() 494 for (i = 0; i < xsrc->nr_irqs; i++) { in pnv_phb4_update_xsrc() 497 xive_source_irq_set_lsi(xsrc, i); in pnv_phb4_update_xsrc() 890 if (memory_region_is_mapped(&phb->xsrc.esb_mmio)) { in pnv_phb4_update_regions() 891 memory_region_del_subregion(&phb->intbar, &phb->xsrc.esb_mmio); in pnv_phb4_update_regions() 901 memory_region_add_subregion(&phb->intbar, 0, &phb->xsrc.esb_mmio); in pnv_phb4_update_regions() 1416 if (src >= phb->xsrc.nr_irqs) { in pnv_phb4_msi_write() [all …]
|
| /openbmc/qemu/hw/ppc/ |
| H A D | pnv_psi.c | 859 XiveSource *xsrc = &PNV9_PSI(psi)->source; in pnv_psi_power9_realize() local 862 object_property_set_int(OBJECT(xsrc), "nr-irqs", PSIHB9_NUM_IRQS, in pnv_psi_power9_realize() 864 object_property_set_link(OBJECT(xsrc), "xive", OBJECT(psi), &error_abort); in pnv_psi_power9_realize() 865 object_property_set_int(OBJECT(xsrc), "reset-pq", XIVE_ESB_RESET, in pnv_psi_power9_realize() 867 if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { in pnv_psi_power9_realize() 871 for (i = 0; i < xsrc->nr_irqs; i++) { in pnv_psi_power9_realize() 872 xive_source_irq_set_lsi(xsrc, i); in pnv_psi_power9_realize() 875 psi->qirqs = qemu_allocate_irqs(xive_source_set_irq, xsrc, xsrc->nr_irqs); in pnv_psi_power9_realize() 877 qdev_init_gpio_in(dev, pnv_psi_power9_set_irq, xsrc->nr_irqs); in pnv_psi_power9_realize()
|
| /openbmc/qemu/include/hw/pci-host/ |
| H A D | pnv_phb4.h | 153 XiveSource xsrc; member
|
| /openbmc/qemu/target/sh4/ |
| H A D | translate.c | 959 int xsrc = XHACK(B7_4); in _decode_opc() local 961 tcg_gen_mov_i32(FREG(xdst), FREG(xsrc)); in _decode_opc() 962 tcg_gen_mov_i32(FREG(xdst + 1), FREG(xsrc + 1)); in _decode_opc()
|
| /openbmc/phosphor-logging/extensions/openpower-pels/ |
| H A D | README.md | 616 - Module name: `xsrc.py`, where `x` is the Creator Subsystem from the Private
|