Lines Matching refs:vgic
442 struct vgic_v3 *vgic; in vgic_v3_vminit() local
444 hyp->vgic = malloc(sizeof(*hyp->vgic), M_VGIC_V3, in vgic_v3_vminit()
446 vgic = hyp->vgic; in vgic_v3_vminit()
457 vgic->gicd_ctlr = 0; in vgic_v3_vminit()
459 mtx_init(&vgic->dist_mtx, "VGICv3 Distributor lock", NULL, in vgic_v3_vminit()
556 mtx_destroy(&hyp->vgic->dist_mtx); in vgic_v3_vmcleanup()
557 free(hyp->vgic, M_VGIC_V3); in vgic_v3_vmcleanup()
563 struct vgic_v3 *vgic; in vgic_v3_max_cpu_count() local
567 vgic = hyp->vgic; in vgic_v3_max_cpu_count()
571 if (vgic->redist_start == 0 && vgic->redist_end == 0) in vgic_v3_max_cpu_count()
574 count = (vgic->redist_end - vgic->redist_start) / in vgic_v3_max_cpu_count()
997 struct vgic_v3 *vgic; in dist_ctlr_read() local
1000 vgic = hyp->vgic; in dist_ctlr_read()
1002 mtx_lock_spin(&vgic->dist_mtx); in dist_ctlr_read()
1003 *rval = vgic->gicd_ctlr; in dist_ctlr_read()
1004 mtx_unlock_spin(&vgic->dist_mtx); in dist_ctlr_read()
1014 struct vgic_v3 *vgic; in dist_ctlr_write() local
1018 vgic = hypctx->hyp->vgic; in dist_ctlr_write()
1032 mtx_lock_spin(&vgic->dist_mtx); in dist_ctlr_write()
1033 vgic->gicd_ctlr = wval; in dist_ctlr_write()
1035 mtx_unlock_spin(&vgic->dist_mtx); in dist_ctlr_write()
1375 struct vgic_v3 *vgic; in dist_read() local
1380 vgic = hyp->vgic; in dist_read()
1383 if (fault_ipa < vgic->dist_start || fault_ipa + size > vgic->dist_end) { in dist_read()
1387 reg = fault_ipa - vgic->dist_start; in dist_read()
1413 struct vgic_v3 *vgic; in dist_write() local
1418 vgic = hyp->vgic; in dist_write()
1421 if (fault_ipa < vgic->dist_start || fault_ipa + size > vgic->dist_end) { in dist_write()
1425 reg = fault_ipa - vgic->dist_start; in dist_write()
1618 struct vgic_v3 *vgic; in redist_read() local
1625 vgic = hyp->vgic; in redist_read()
1628 if (fault_ipa < vgic->redist_start || in redist_read()
1629 fault_ipa + size > vgic->redist_end) { in redist_read()
1633 vcpuid = (fault_ipa - vgic->redist_start) / in redist_read()
1662 reg = (fault_ipa - vgic->redist_start) % in redist_read()
1696 struct vgic_v3 *vgic; in redist_write() local
1703 vgic = hyp->vgic; in redist_write()
1706 if (fault_ipa < vgic->redist_start || in redist_write()
1707 fault_ipa + size > vgic->redist_end) { in redist_write()
1711 vcpuid = (fault_ipa - vgic->redist_start) / in redist_write()
1739 reg = (fault_ipa - vgic->redist_start) % in redist_write()
1833 struct vgic_v3 *vgic; in vgic_v3_mmio_init() local
1838 vgic = hyp->vgic; in vgic_v3_mmio_init()
1839 vgic->irqs = malloc((VGIC_NIRQS - VGIC_PRV_I_NUM) * in vgic_v3_mmio_init()
1840 sizeof(*vgic->irqs), M_VGIC_V3, M_WAITOK | M_ZERO); in vgic_v3_mmio_init()
1843 irq = &vgic->irqs[i]; in vgic_v3_mmio_init()
1855 struct vgic_v3 *vgic; in vgic_v3_mmio_destroy() local
1859 vgic = hyp->vgic; in vgic_v3_mmio_destroy()
1861 irq = &vgic->irqs[i]; in vgic_v3_mmio_destroy()
1866 free(vgic->irqs, M_VGIC_V3); in vgic_v3_mmio_destroy()
1873 struct vgic_v3 *vgic; in vgic_v3_attach_to_vm() local
1904 vgic = hyp->vgic; in vgic_v3_attach_to_vm()
1907 vgic->dist_start = descr->v3_regs.dist_start; in vgic_v3_attach_to_vm()
1908 vgic->dist_end = descr->v3_regs.dist_start + descr->v3_regs.dist_size; in vgic_v3_attach_to_vm()
1910 vgic->redist_start = descr->v3_regs.redist_start; in vgic_v3_attach_to_vm()
1911 vgic->redist_end = descr->v3_regs.redist_start + in vgic_v3_attach_to_vm()
1958 irq = &hyp->vgic->irqs[irqid]; in vgic_v3_get_irq()
2085 struct vgic_v3 *vgic; in vgic_v3_inject_msi() local
2088 vgic = hyp->vgic; in vgic_v3_inject_msi()
2091 if (addr < vgic->dist_start || addr + 4 > vgic->dist_end) { in vgic_v3_inject_msi()
2095 reg = addr - vgic->dist_start; in vgic_v3_inject_msi()
2347 DEFINE_CLASS_0(vgic, vgic_v3_driver, vgic_v3_methods, 0);