Lines Matching refs:kvm
35 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_fold_lr_state()
59 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v3_fold_lr_state()
60 kvm_notify_acked_irq(vcpu->kvm, 0, in vgic_v3_fold_lr_state()
63 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state()
111 vgic_put_irq(vcpu->kvm, irq); in vgic_v3_fold_lr_state()
120 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_populate_lr()
208 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_set_vmcr()
238 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_get_vmcr()
288 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { in vgic_v3_enable()
314 int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq) in vgic_v3_lpi_sync_pending_status() argument
335 ret = kvm_read_guest_lock(kvm, ptr, &val, 1); in vgic_v3_lpi_sync_pending_status()
347 vgic_queue_irq_unlock(vcpu->kvm, irq, flags); in vgic_v3_lpi_sync_pending_status()
352 ret = kvm_write_guest_lock(kvm, ptr, &val, 1); in vgic_v3_lpi_sync_pending_status()
363 int vgic_v3_save_pending_tables(struct kvm *kvm) in vgic_v3_save_pending_tables() argument
365 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_save_pending_tables()
388 ret = kvm_read_guest_lock(kvm, ptr, &val, 1); in vgic_v3_save_pending_tables()
403 ret = kvm_write_guest_lock(kvm, ptr, &val, 1); in vgic_v3_save_pending_tables()
420 bool vgic_v3_rdist_overlap(struct kvm *kvm, gpa_t base, size_t size) in vgic_v3_rdist_overlap() argument
422 struct vgic_dist *d = &kvm->arch.vgic; in vgic_v3_rdist_overlap()
427 (base < rdreg->base + vgic_v3_rd_region_size(kvm, rdreg))) in vgic_v3_rdist_overlap()
437 bool vgic_v3_check_base(struct kvm *kvm) in vgic_v3_check_base() argument
439 struct vgic_dist *d = &kvm->arch.vgic; in vgic_v3_check_base()
447 if (rdreg->base + vgic_v3_rd_region_size(kvm, rdreg) < in vgic_v3_check_base()
455 return !vgic_v3_rdist_overlap(kvm, d->vgic_dist_base, in vgic_v3_check_base()
482 struct vgic_redist_region *vgic_v3_rdist_region_from_index(struct kvm *kvm, in vgic_v3_rdist_region_from_index() argument
485 struct list_head *rd_regions = &kvm->arch.vgic.rd_regions; in vgic_v3_rdist_region_from_index()
496 int vgic_v3_map_resources(struct kvm *kvm) in vgic_v3_map_resources() argument
498 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources()
503 if (vgic_ready(kvm)) in vgic_v3_map_resources()
506 kvm_for_each_vcpu(c, vcpu, kvm) { in vgic_v3_map_resources()
522 if (!vgic_v3_check_base(kvm)) { in vgic_v3_map_resources()
532 if (!vgic_initialized(kvm)) { in vgic_v3_map_resources()
537 ret = vgic_register_dist_iodev(kvm, dist->vgic_dist_base, VGIC_V3); in vgic_v3_map_resources()