Lines Matching defs:kvm

27 static void kvm_ls7a_ioapic_raise(struct kvm *kvm, unsigned long mask)
30 struct ls7a_kvm_ioapic *s = ls7a_ioapic_irqchip(kvm);
43 msi_irq_handler(kvm, irqnum, 1);
46 kvm->stat.ls7a_ioapic_update++;
49 static void kvm_ls7a_ioapic_lower(struct kvm *kvm, unsigned long mask)
52 struct ls7a_kvm_ioapic *s = ls7a_ioapic_irqchip(kvm);
64 msi_irq_handler(kvm, irqnum, 0);
67 kvm->stat.ls7a_ioapic_update++;
71 struct kvm *kvm, int irq_source_id, int level, bool line_status)
77 msi_irq_handler(kvm, e->msi.data, 1);
81 int kvm_ls7a_send_userspace_msi(struct kvm *kvm, struct kvm_msi *msi)
88 kvm->stat.ls7a_msi_irq++;
94 return kvm_ls7a_set_msi(&route, kvm,
99 int kvm_ls7a_ioapic_set_irq(struct kvm *kvm, int irq, int level)
104 s = ls7a_ioapic_irqchip(kvm);
113 kvm_ls7a_ioapic_raise(kvm, mask);
123 kvm_ls7a_ioapic_raise(kvm, mask);
128 kvm_ls7a_ioapic_lower(kvm, mask);
132 kvm->stat.ls7a_ioapic_set_irq++;
139 struct kvm *kvm;
147 kvm = s->kvm;
165 kvm_ls7a_ioapic_raise(kvm, old & ~data);
167 kvm_ls7a_ioapic_lower(kvm, ~old & data);
186 kvm_ls7a_ioapic_lower(kvm, data);
190 ls7a_ioapic_unlock(kvm->arch.v_ioapic, &flags);
192 kvm_notify_acked_irq(kvm, 0, offset_tmp);
193 ls7a_ioapic_lock(kvm->arch.v_ioapic, &flags);
215 kvm_ls7a_ioapic_raise(kvm, old & ~data);
217 kvm_ls7a_ioapic_lower(kvm, ~old & data);
224 kvm_ls7a_ioapic_raise(kvm, old & ~data);
226 kvm_ls7a_ioapic_lower(kvm, ~old & data);
249 kvm_ls7a_ioapic_lower(kvm, data);
253 ls7a_ioapic_unlock(kvm->arch.v_ioapic, &flags);
255 kvm_notify_acked_irq(kvm, 0, offset_tmp);
256 ls7a_ioapic_lock(kvm->arch.v_ioapic, &flags);
301 kvm->stat.ioapic_reg_write++;
317 ls7a_ioapic_lock(s->kvm->arch.v_ioapic, &flags);
319 ls7a_ioapic_unlock(s->kvm->arch.v_ioapic, &flags);
328 struct kvm *kvm;
333 kvm = s->kvm;
446 kvm->stat.ioapic_reg_read++;
458 ls7a_ioapic_lock(s->kvm->arch.v_ioapic, &flags);
460 ls7a_ioapic_unlock(s->kvm->arch.v_ioapic, &flags);
476 ls7a_ioapic_lock(s->kvm->arch.v_ioapic, &flags);
478 ls7a_ioapic_unlock(s->kvm->arch.v_ioapic, &flags);
489 ls7a_ioapic_lock(s->kvm->arch.v_ioapic, &flags);
491 ls7a_ioapic_unlock(s->kvm->arch.v_ioapic, &flags);
501 int kvm_create_ls7a_ioapic(struct kvm *kvm)
511 s->kvm = kvm;
519 mutex_lock(&kvm->slots_lock);
520 ret = kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, ls7a_ioapic_reg_base,
529 ret = kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, ls7a_ioapic_reg_base,
533 kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS,
537 mutex_unlock(&kvm->slots_lock);
539 kvm->arch.v_ioapic = s;
544 mutex_unlock(&kvm->slots_lock);
551 int kvm_get_ls7a_ioapic(struct kvm *kvm, struct ls7a_ioapic_state *state)
553 struct ls7a_kvm_ioapic *ls7a_ioapic = ls7a_ioapic_irqchip(kvm);
561 kvm->stat.get_ls7a_ioapic++;
565 int kvm_set_ls7a_ioapic(struct kvm *kvm, struct ls7a_ioapic_state *state)
567 struct ls7a_kvm_ioapic *ls7a_ioapic = ls7a_ioapic_irqchip(kvm);
578 kvm->stat.set_ls7a_ioapic++;
582 void kvm_destroy_ls7a_ioapic(struct kvm *kvm)
584 struct ls7a_kvm_ioapic *vpic = kvm->arch.v_ioapic;
587 mutex_lock(&kvm->slots_lock);
588 kvm_io_bus_unregister_dev(vpic->kvm, KVM_MMIO_BUS,
590 kvm_io_bus_unregister_dev(vpic->kvm, KVM_MMIO_BUS,
592 mutex_unlock(&kvm->slots_lock);