Lines Matching refs:dist

279 	struct vgic_dist *dist = &kvm->arch.vgic;  in handle_mmio_route_reg()  local
299 mpidr = uncompress_mpidr(dist->irq_spi_mpidr[spi]); in handle_mmio_route_reg()
315 bmap = vgic_bitmap_get_shared_map(&dist->irq_spi_target[vcpu_id]); in handle_mmio_route_reg()
319 dist->irq_spi_mpidr[spi] = compress_mpidr(reg); in handle_mmio_route_reg()
331 dist->irq_spi_cpu[spi] = vcpu_id; in handle_mmio_route_reg()
332 bmap = vgic_bitmap_get_shared_map(&dist->irq_spi_target[vcpu_id]); in handle_mmio_route_reg()
335 dist->irq_spi_cpu[spi] = VCPU_NOT_ALLOCATED; in handle_mmio_route_reg()
770 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources() local
771 gpa_t rdbase = dist->vgic_redist_base; in vgic_v3_map_resources()
783 if (IS_VGIC_ADDR_UNDEF(dist->vgic_dist_base) || in vgic_v3_map_resources()
784 IS_VGIC_ADDR_UNDEF(dist->vgic_redist_base)) { in vgic_v3_map_resources()
799 ret = vgic_register_kvm_io_dev(kvm, dist->vgic_dist_base, in vgic_v3_map_resources()
801 -1, &dist->dist_iodev); in vgic_v3_map_resources()
805 iodevs = kcalloc(dist->nr_cpus, sizeof(iodevs[0]), GFP_KERNEL); in vgic_v3_map_resources()
811 for (i = 0; i < dist->nr_cpus; i++) { in vgic_v3_map_resources()
820 dist->redist_iodevs = iodevs; in vgic_v3_map_resources()
821 dist->ready = true; in vgic_v3_map_resources()
825 kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, &dist->dist_iodev.dev); in vgic_v3_map_resources()
827 for (i = 0; i < dist->nr_cpus; i++) { in vgic_v3_map_resources()
845 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_model() local
846 int nr_spis = dist->nr_irqs - VGIC_NR_PRIVATE_IRQS; in vgic_v3_init_model()
848 dist->irq_spi_mpidr = kcalloc(nr_spis, sizeof(dist->irq_spi_mpidr[0]), in vgic_v3_init_model()
851 if (!dist->irq_spi_mpidr) in vgic_v3_init_model()
856 for (i = VGIC_NR_PRIVATE_IRQS; i < dist->nr_irqs; i++) { in vgic_v3_init_model()
857 dist->irq_spi_cpu[i - VGIC_NR_PRIVATE_IRQS] = 0; in vgic_v3_init_model()
858 dist->irq_spi_mpidr[i - VGIC_NR_PRIVATE_IRQS] = mpidr; in vgic_v3_init_model()
859 vgic_bitmap_set_irq_val(dist->irq_spi_target, 0, i, 1); in vgic_v3_init_model()
872 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_emulation() local
874 dist->vm_ops.queue_sgi = vgic_v3_queue_sgi; in vgic_v3_init_emulation()
875 dist->vm_ops.add_sgi_source = vgic_v3_add_sgi_source; in vgic_v3_init_emulation()
876 dist->vm_ops.init_model = vgic_v3_init_model; in vgic_v3_init_emulation()
877 dist->vm_ops.map_resources = vgic_v3_map_resources; in vgic_v3_init_emulation()
933 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_dispatch_sgi() local
952 spin_lock(&dist->lock); in vgic_v3_dispatch_sgi()
988 spin_unlock(&dist->lock); in vgic_v3_dispatch_sgi()