Lines Matching full:priority
24 void kvm_mips_queue_irq(struct kvm_vcpu *vcpu, unsigned int priority) in kvm_mips_queue_irq() argument
26 set_bit(priority, &vcpu->arch.pending_exceptions); in kvm_mips_queue_irq()
29 void kvm_mips_dequeue_irq(struct kvm_vcpu *vcpu, unsigned int priority) in kvm_mips_dequeue_irq() argument
31 clear_bit(priority, &vcpu->arch.pending_exceptions); in kvm_mips_dequeue_irq()
77 /* Deliver the interrupt of the corresponding priority, if possible. */
78 int kvm_mips_irq_deliver_cb(struct kvm_vcpu *vcpu, unsigned int priority, in kvm_mips_irq_deliver_cb() argument
87 if (priority == MIPS_EXC_MAX) in kvm_mips_irq_deliver_cb()
90 ie = 1 << (kvm_priority_to_irq[priority] + 8); in kvm_mips_irq_deliver_cb()
125 clear_bit(priority, &vcpu->arch.pending_exceptions); in kvm_mips_irq_deliver_cb()
131 int kvm_mips_irq_clear_cb(struct kvm_vcpu *vcpu, unsigned int priority, in kvm_mips_irq_clear_cb() argument
141 unsigned int priority; in kvm_mips_deliver_interrupts() local
146 priority = __ffs(*pending_clr); in kvm_mips_deliver_interrupts()
147 while (priority <= MIPS_EXC_MAX) { in kvm_mips_deliver_interrupts()
148 if (kvm_mips_callbacks->irq_clear(vcpu, priority, cause)) { in kvm_mips_deliver_interrupts()
153 priority = find_next_bit(pending_clr, in kvm_mips_deliver_interrupts()
155 priority + 1); in kvm_mips_deliver_interrupts()
158 priority = __ffs(*pending); in kvm_mips_deliver_interrupts()
159 while (priority <= MIPS_EXC_MAX) { in kvm_mips_deliver_interrupts()
160 if (kvm_mips_callbacks->irq_deliver(vcpu, priority, cause)) { in kvm_mips_deliver_interrupts()
165 priority = find_next_bit(pending, in kvm_mips_deliver_interrupts()
167 priority + 1); in kvm_mips_deliver_interrupts()