Lines Matching defs:kvm
304 static struct kvm_iocsr_entry *_kvm_find_iocsr(struct kvm *kvm, u32 addr)
309 if (addr == kvm->arch.iocsr[i].addr)
310 return &kvm->arch.iocsr[i];
322 spin_lock(&vcpu->kvm->arch.iocsr_lock);
323 entry = _kvm_find_iocsr(vcpu->kvm, addr);
328 spin_unlock(&vcpu->kvm->arch.iocsr_lock);
338 spin_lock(&vcpu->kvm->arch.iocsr_lock);
339 entry = _kvm_find_iocsr(vcpu->kvm, addr);
344 spin_unlock(&vcpu->kvm->arch.iocsr_lock);
476 if (!irqchip_in_kernel(vcpu->kvm)) {
491 kvm_debug("%s iocsr 0x%x not support in kvm\n", __func__, addr);
503 if (!irqchip_in_kernel(vcpu->kvm)) {
518 kvm_debug("%s iocsr 0x%x not support in kvm\n", __func__, addr);
523 /* all iocsr operation should in kvm, no mmio */
618 int _kvm_get_iocsr(struct kvm *kvm, struct kvm_iocsr_entry *__user argp)
626 spin_lock(&kvm->arch.iocsr_lock);
627 entry = _kvm_find_iocsr(kvm, tmp.addr);
630 spin_unlock(&kvm->arch.iocsr_lock);
639 int _kvm_set_iocsr(struct kvm *kvm, struct kvm_iocsr_entry *__user argp)
647 spin_lock(&kvm->arch.iocsr_lock);
648 entry = _kvm_find_iocsr(kvm, tmp.addr);
653 spin_unlock(&kvm->arch.iocsr_lock);
668 int _kvm_init_iocsr(struct kvm *kvm)
672 spin_lock_init(&kvm->arch.iocsr_lock);
674 kvm->arch.iocsr[i].addr = iocsr_array[i].addr;
675 kvm->arch.iocsr[i].data = iocsr_array[i].data;