Lines Matching refs:dist
255 struct vgic_dist *dist = &kvm->arch.vgic; in handle_mmio_route_reg() local
275 mpidr = uncompress_mpidr(dist->irq_spi_mpidr[spi]); in handle_mmio_route_reg()
291 bmap = vgic_bitmap_get_shared_map(&dist->irq_spi_target[vcpu_id]); in handle_mmio_route_reg()
295 dist->irq_spi_mpidr[spi] = compress_mpidr(reg); in handle_mmio_route_reg()
307 dist->irq_spi_cpu[spi] = vcpu_id; in handle_mmio_route_reg()
308 bmap = vgic_bitmap_get_shared_map(&dist->irq_spi_target[vcpu_id]); in handle_mmio_route_reg()
311 dist->irq_spi_cpu[spi] = VCPU_NOT_ALLOCATED; in handle_mmio_route_reg()
726 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources() local
727 gpa_t rdbase = dist->vgic_redist_base; in vgic_v3_map_resources()
739 if (IS_VGIC_ADDR_UNDEF(dist->vgic_dist_base) || in vgic_v3_map_resources()
740 IS_VGIC_ADDR_UNDEF(dist->vgic_redist_base)) { in vgic_v3_map_resources()
755 ret = vgic_register_kvm_io_dev(kvm, dist->vgic_dist_base, in vgic_v3_map_resources()
757 -1, &dist->dist_iodev); in vgic_v3_map_resources()
761 iodevs = kcalloc(dist->nr_cpus, sizeof(iodevs[0]), GFP_KERNEL); in vgic_v3_map_resources()
767 for (i = 0; i < dist->nr_cpus; i++) { in vgic_v3_map_resources()
776 dist->redist_iodevs = iodevs; in vgic_v3_map_resources()
777 dist->ready = true; in vgic_v3_map_resources()
781 kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, &dist->dist_iodev.dev); in vgic_v3_map_resources()
783 for (i = 0; i < dist->nr_cpus; i++) { in vgic_v3_map_resources()
801 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_model() local
802 int nr_spis = dist->nr_irqs - VGIC_NR_PRIVATE_IRQS; in vgic_v3_init_model()
804 dist->irq_spi_mpidr = kcalloc(nr_spis, sizeof(dist->irq_spi_mpidr[0]), in vgic_v3_init_model()
807 if (!dist->irq_spi_mpidr) in vgic_v3_init_model()
812 for (i = VGIC_NR_PRIVATE_IRQS; i < dist->nr_irqs; i++) { in vgic_v3_init_model()
813 dist->irq_spi_cpu[i - VGIC_NR_PRIVATE_IRQS] = 0; in vgic_v3_init_model()
814 dist->irq_spi_mpidr[i - VGIC_NR_PRIVATE_IRQS] = mpidr; in vgic_v3_init_model()
815 vgic_bitmap_set_irq_val(dist->irq_spi_target, 0, i, 1); in vgic_v3_init_model()
828 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_emulation() local
830 dist->vm_ops.queue_sgi = vgic_v3_queue_sgi; in vgic_v3_init_emulation()
831 dist->vm_ops.add_sgi_source = vgic_v3_add_sgi_source; in vgic_v3_init_emulation()
832 dist->vm_ops.init_model = vgic_v3_init_model; in vgic_v3_init_emulation()
833 dist->vm_ops.map_resources = vgic_v3_map_resources; in vgic_v3_init_emulation()
889 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_dispatch_sgi() local
908 spin_lock(&dist->lock); in vgic_v3_dispatch_sgi()
944 spin_unlock(&dist->lock); in vgic_v3_dispatch_sgi()