Lines Matching defs:kvm

4 #include <linux/kvm.h>
6 #include <kvm/arm_vgic.h>
35 u32 model = vcpu->kvm->arch.vgic.vgic_model;
59 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid))
60 kvm_notify_acked_irq(vcpu->kvm, 0,
63 irq = vgic_get_irq(vcpu->kvm, vcpu, intid);
111 vgic_put_irq(vcpu->kvm, irq);
120 u32 model = vcpu->kvm->arch.vgic.vgic_model;
208 u32 model = vcpu->kvm->arch.vgic.vgic_model;
238 u32 model = vcpu->kvm->arch.vgic.vgic_model;
288 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
314 int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq)
335 ret = kvm_read_guest_lock(kvm, ptr, &val, 1);
347 vgic_queue_irq_unlock(vcpu->kvm, irq, flags);
352 ret = kvm_write_guest_lock(kvm, ptr, &val, 1);
361 * kvm lock and all vcpu lock must be held
363 int vgic_v3_save_pending_tables(struct kvm *kvm)
365 struct vgic_dist *dist = &kvm->arch.vgic;
388 ret = kvm_read_guest_lock(kvm, ptr, &val, 1);
403 ret = kvm_write_guest_lock(kvm, ptr, &val, 1);
414 * @kvm: kvm handle
420 bool vgic_v3_rdist_overlap(struct kvm *kvm, gpa_t base, size_t size)
422 struct vgic_dist *d = &kvm->arch.vgic;
427 (base < rdreg->base + vgic_v3_rd_region_size(kvm, rdreg)))
437 bool vgic_v3_check_base(struct kvm *kvm)
439 struct vgic_dist *d = &kvm->arch.vgic;
447 if (rdreg->base + vgic_v3_rd_region_size(kvm, rdreg) <
455 return !vgic_v3_rdist_overlap(kvm, d->vgic_dist_base,
482 struct vgic_redist_region *vgic_v3_rdist_region_from_index(struct kvm *kvm,
485 struct list_head *rd_regions = &kvm->arch.vgic.rd_regions;
496 int vgic_v3_map_resources(struct kvm *kvm)
498 struct vgic_dist *dist = &kvm->arch.vgic;
503 if (vgic_ready(kvm))
506 kvm_for_each_vcpu(c, vcpu, kvm) {
522 if (!vgic_v3_check_base(kvm)) {
532 if (!vgic_initialized(kvm)) {
537 ret = vgic_register_dist_iodev(kvm, dist->vgic_dist_base, VGIC_V3);
544 vgic_v4_configure_vsgis(kvm);
557 early_param("kvm-arm.vgic_v3_group0_trap", early_group0_trap_cfg);
563 early_param("kvm-arm.vgic_v3_group1_trap", early_group1_trap_cfg);
569 early_param("kvm-arm.vgic_v3_common_trap", early_common_trap_cfg);
575 early_param("kvm-arm.vgic_v4_enable", early_gicv4_enable);