Lines Matching refs:fi
287 struct kvm_s390_float_interrupt *fi = vcpu->arch.local_int.float_int; in kvm_cpu_has_interrupt() local
301 if ((!rc) && atomic_read(&fi->active)) { in kvm_cpu_has_interrupt()
302 spin_lock_bh(&fi->lock); in kvm_cpu_has_interrupt()
303 list_for_each_entry(inti, &fi->list, list) in kvm_cpu_has_interrupt()
308 spin_unlock_bh(&fi->lock); in kvm_cpu_has_interrupt()
405 struct kvm_s390_float_interrupt *fi = vcpu->arch.local_int.float_int; in kvm_s390_deliver_pending_interrupts() local
436 if (atomic_read(&fi->active)) { in kvm_s390_deliver_pending_interrupts()
439 spin_lock_bh(&fi->lock); in kvm_s390_deliver_pending_interrupts()
440 list_for_each_entry_safe(inti, n, &fi->list, list) { in kvm_s390_deliver_pending_interrupts()
448 if (list_empty(&fi->list)) in kvm_s390_deliver_pending_interrupts()
449 atomic_set(&fi->active, 0); in kvm_s390_deliver_pending_interrupts()
450 spin_unlock_bh(&fi->lock); in kvm_s390_deliver_pending_interrupts()
484 struct kvm_s390_float_interrupt *fi; in kvm_s390_inject_vm() local
514 fi = &kvm->arch.float_int; in kvm_s390_inject_vm()
515 spin_lock_bh(&fi->lock); in kvm_s390_inject_vm()
516 list_add_tail(&inti->list, &fi->list); in kvm_s390_inject_vm()
517 atomic_set(&fi->active, 1); in kvm_s390_inject_vm()
518 sigcpu = find_first_bit(fi->idle_mask, KVM_MAX_VCPUS); in kvm_s390_inject_vm()
521 sigcpu = fi->next_rr_cpu++; in kvm_s390_inject_vm()
523 sigcpu = fi->next_rr_cpu = 0; in kvm_s390_inject_vm()
524 } while (fi->local_int[sigcpu] == NULL); in kvm_s390_inject_vm()
526 li = fi->local_int[sigcpu]; in kvm_s390_inject_vm()
532 spin_unlock_bh(&fi->lock); in kvm_s390_inject_vm()