• Home
  • Raw
  • Download

Lines Matching refs:kvm

72 	if (vcpu->kvm->arch.vgic.enabled)  in handle_mmio_ctlr()
79 vcpu->kvm->arch.vgic.enabled = !!(reg & GICD_CTLR_ENABLE_SS_G1); in handle_mmio_ctlr()
80 vgic_update_state(vcpu->kvm); in handle_mmio_ctlr()
98 reg = (min(vcpu->kvm->arch.vgic.nr_irqs, 1024) >> 5) - 1; in handle_mmio_typer()
125 return vgic_handle_enable_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_enable_reg_dist()
139 return vgic_handle_enable_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_enable_reg_dist()
153 return vgic_handle_set_pending_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_pending_reg_dist()
166 return vgic_handle_clear_pending_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_pending_reg_dist()
179 return vgic_handle_set_active_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_active_reg_dist()
192 return vgic_handle_clear_active_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_active_reg_dist()
212 reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg_dist()
231 reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg_dist()
278 struct kvm *kvm = vcpu->kvm; in handle_mmio_route_reg() local
279 struct vgic_dist *dist = &kvm->arch.vgic; in handle_mmio_route_reg()
312 vcpu = kvm_mpidr_to_vcpu(kvm, mpidr); in handle_mmio_route_reg()
320 vcpu = kvm_mpidr_to_vcpu(kvm, reg & MPIDR_HWID_BITMASK); in handle_mmio_route_reg()
338 vgic_update_state(kvm); in handle_mmio_route_reg()
559 if (target_vcpu_id == atomic_read(&vcpu->kvm->online_vcpus) - 1) in handle_mmio_typer_redist()
572 return vgic_handle_enable_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_enable_reg_redist()
583 return vgic_handle_enable_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_enable_reg_redist()
594 return vgic_handle_set_active_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_active_reg_redist()
604 return vgic_handle_clear_active_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_active_reg_redist()
614 return vgic_handle_set_pending_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_pending_reg_redist()
624 return vgic_handle_clear_pending_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_pending_reg_redist()
635 reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg_redist()
648 u32 *reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg_redist()
766 static int vgic_v3_map_resources(struct kvm *kvm, in vgic_v3_map_resources() argument
770 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources()
775 if (!irqchip_in_kernel(kvm)) in vgic_v3_map_resources()
778 mutex_lock(&kvm->lock); in vgic_v3_map_resources()
780 if (vgic_ready(kvm)) in vgic_v3_map_resources()
794 if (!vgic_initialized(kvm)) { in vgic_v3_map_resources()
799 ret = vgic_register_kvm_io_dev(kvm, dist->vgic_dist_base, in vgic_v3_map_resources()
812 ret = vgic_register_kvm_io_dev(kvm, rdbase, in vgic_v3_map_resources()
825 kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, &dist->dist_iodev.dev); in vgic_v3_map_resources()
829 kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, in vgic_v3_map_resources()
836 kvm_vgic_destroy(kvm); in vgic_v3_map_resources()
837 mutex_unlock(&kvm->lock); in vgic_v3_map_resources()
841 static int vgic_v3_init_model(struct kvm *kvm) in vgic_v3_init_model() argument
845 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_model()
855 mpidr = compress_mpidr(kvm_vcpu_get_mpidr_aff(kvm_get_vcpu(kvm, 0))); in vgic_v3_init_model()
870 void vgic_v3_init_emulation(struct kvm *kvm) in vgic_v3_init_emulation() argument
872 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_emulation()
879 kvm->arch.max_vcpus = KVM_MAX_VCPUS; in vgic_v3_init_emulation()
931 struct kvm *kvm = vcpu->kvm; in vgic_v3_dispatch_sgi() local
933 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_dispatch_sgi()
960 kvm_for_each_vcpu(c, c_vcpu, kvm) { in vgic_v3_dispatch_sgi()
987 vgic_update_state(vcpu->kvm); in vgic_v3_dispatch_sgi()
990 vgic_kick_vcpus(vcpu->kvm); in vgic_v3_dispatch_sgi()
995 return kvm_vgic_create(dev->kvm, type); in vgic_v3_create()