Lines Matching refs:dist
38 static u8 *vgic_get_sgi_sources(struct vgic_dist *dist, int vcpu_id, int sgi) in vgic_get_sgi_sources() argument
40 return dist->irq_sgi_sources + vcpu_id * VGIC_NR_SGIS + sgi; in vgic_get_sgi_sources()
142 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_get_target_reg() local
149 val |= 1 << (dist->irq_spi_cpu[irq + i] + i * 8); in vgic_get_target_reg()
156 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_set_target_reg() local
174 dist->irq_spi_cpu[irq + i] = target; in vgic_set_target_reg()
176 bmap = vgic_bitmap_get_shared_map(&dist->irq_spi_target[c]); in vgic_set_target_reg()
248 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in read_set_clear_sgi_pend_reg() local
257 u8 sources = *vgic_get_sgi_sources(dist, vcpu_id, sgi); in read_set_clear_sgi_pend_reg()
270 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in write_set_clear_sgi_pend_reg() local
283 u8 *src = vgic_get_sgi_sources(dist, vcpu_id, sgi); in write_set_clear_sgi_pend_reg()
410 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_dispatch_sgi() local
440 *vgic_get_sgi_sources(dist, c, sgi) |= 1 << vcpu_id; in vgic_dispatch_sgi()
451 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_v2_queue_sgi() local
456 sources = *vgic_get_sgi_sources(dist, vcpu_id, irq); in vgic_v2_queue_sgi()
458 for_each_set_bit(c, &sources, dist->nr_cpus) { in vgic_v2_queue_sgi()
463 *vgic_get_sgi_sources(dist, vcpu_id, irq) = sources; in vgic_v2_queue_sgi()
491 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v2_map_resources() local
502 if (IS_VGIC_ADDR_UNDEF(dist->vgic_dist_base) || in vgic_v2_map_resources()
503 IS_VGIC_ADDR_UNDEF(dist->vgic_cpu_base)) { in vgic_v2_map_resources()
509 vgic_register_kvm_io_dev(kvm, dist->vgic_dist_base, in vgic_v2_map_resources()
511 vgic_dist_ranges, -1, &dist->dist_iodev); in vgic_v2_map_resources()
523 ret = kvm_phys_addr_ioremap(kvm, dist->vgic_cpu_base, in vgic_v2_map_resources()
531 dist->ready = true; in vgic_v2_map_resources()
535 kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, &dist->dist_iodev.dev); in vgic_v2_map_resources()
546 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_v2_add_sgi_source() local
548 *vgic_get_sgi_sources(dist, vcpu->vcpu_id, irq) |= 1 << source; in vgic_v2_add_sgi_source()
563 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v2_init_emulation() local
565 dist->vm_ops.queue_sgi = vgic_v2_queue_sgi; in vgic_v2_init_emulation()
566 dist->vm_ops.add_sgi_source = vgic_v2_add_sgi_source; in vgic_v2_init_emulation()
567 dist->vm_ops.init_model = vgic_v2_init_model; in vgic_v2_init_emulation()
568 dist->vm_ops.map_resources = vgic_v2_map_resources; in vgic_v2_init_emulation()