Lines Matching refs:kvm
163 int kvmppc_xics_set_xive(struct kvm *kvm, u32 irq, u32 server, u32 priority) in kvmppc_xics_set_xive() argument
165 struct kvmppc_xics *xics = kvm->arch.xics; in kvmppc_xics_set_xive()
179 icp = kvmppc_xics_find_server(kvm, server); in kvmppc_xics_set_xive()
193 int kvmppc_xics_get_xive(struct kvm *kvm, u32 irq, u32 *server, u32 *priority) in kvmppc_xics_get_xive() argument
195 struct kvmppc_xics *xics = kvm->arch.xics; in kvmppc_xics_get_xive()
219 int kvmppc_xics_int_on(struct kvm *kvm, u32 irq) in kvmppc_xics_int_on() argument
221 struct kvmppc_xics *xics = kvm->arch.xics; in kvmppc_xics_int_on()
235 icp = kvmppc_xics_find_server(kvm, state->server); in kvmppc_xics_int_on()
246 int kvmppc_xics_int_off(struct kvm *kvm, u32 irq) in kvmppc_xics_int_off() argument
248 struct kvmppc_xics *xics = kvm->arch.xics; in kvmppc_xics_int_off()
413 icp = kvmppc_xics_find_server(xics->kvm, state->server); in icp_deliver_irq()
608 struct kvmppc_xics *xics = vcpu->kvm->arch.xics; in kvmppc_h_ipi()
620 icp = kvmppc_xics_find_server(vcpu->kvm, server); in kvmppc_h_ipi()
696 icp = kvmppc_xics_find_server(vcpu->kvm, server); in kvmppc_h_ipoll()
709 struct kvmppc_xics *xics = vcpu->kvm->arch.xics; in kvmppc_h_cppr()
765 struct kvmppc_xics *xics = vcpu->kvm->arch.xics; in kvmppc_h_eoi()
810 kvm_notify_acked_irq(vcpu->kvm, 0, irq); in kvmppc_h_eoi()
817 struct kvmppc_xics *xics = vcpu->kvm->arch.xics; in kvmppc_xics_rm_complete()
837 kvm_notify_acked_irq(vcpu->kvm, 0, icp->rm_eoied_irq); in kvmppc_xics_rm_complete()
847 struct kvmppc_xics *xics = vcpu->kvm->arch.xics; in kvmppc_xics_hcall()
868 if (xics->real_mode && is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_xics_hcall()
898 struct kvm *kvm = xics->kvm; in xics_debug_show() local
906 if (!kvm) in xics_debug_show()
918 kvm_for_each_vcpu(i, vcpu, kvm) { in xics_debug_show()
999 static struct kvmppc_ics *kvmppc_xics_create_ics(struct kvm *kvm, in kvmppc_xics_create_ics() argument
1007 mutex_lock(&kvm->lock); in kvmppc_xics_create_ics()
1032 mutex_unlock(&kvm->lock); in kvmppc_xics_create_ics()
1040 if (!vcpu->kvm->arch.xics) in kvmppc_xics_create_icp()
1043 if (kvmppc_xics_find_server(vcpu->kvm, server_num)) in kvmppc_xics_create_icp()
1078 struct kvmppc_xics *xics = vcpu->kvm->arch.xics; in kvmppc_xics_set_icp()
1208 ics = kvmppc_xics_create_ics(xics->kvm, xics, irq); in xics_set_source()
1219 kvmppc_xics_find_server(xics->kvm, server) == NULL) in xics_set_source()
1244 int kvm_set_irq(struct kvm *kvm, int irq_source_id, u32 irq, int level, in kvm_set_irq() argument
1247 struct kvmppc_xics *xics = kvm->arch.xics; in kvm_set_irq()
1252 int kvm_set_msi(struct kvm_kernel_irq_routing_entry *irq_entry, struct kvm *kvm, in kvm_set_msi() argument
1257 return kvm_set_irq(kvm, irq_source_id, irq_entry->gsi, in kvm_set_msi()
1299 struct kvm *kvm = xics->kvm; in kvmppc_xics_free() local
1303 if (kvm) in kvmppc_xics_free()
1304 kvm->arch.xics = NULL; in kvmppc_xics_free()
1315 struct kvm *kvm = dev->kvm; in kvmppc_xics_create() local
1324 xics->kvm = kvm; in kvmppc_xics_create()
1327 mutex_lock(&kvm->lock); in kvmppc_xics_create()
1328 if (kvm->arch.xics) in kvmppc_xics_create()
1331 kvm->arch.xics = xics; in kvmppc_xics_create()
1332 mutex_unlock(&kvm->lock); in kvmppc_xics_create()
1369 if (xics->kvm != vcpu->kvm) in kvmppc_xics_connect_vcpu()
1391 struct kvm *kvm, int irq_source_id, int level, in xics_set_irq() argument
1394 return kvm_set_irq(kvm, irq_source_id, e->gsi, level, line_status); in xics_set_irq()
1397 int kvm_irq_map_gsi(struct kvm *kvm, in kvm_irq_map_gsi() argument
1408 int kvm_irq_map_chip_pin(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_map_chip_pin() argument