Lines Matching refs:v
46 static int pending_userspace_extint(struct kvm_vcpu *v) in pending_userspace_extint() argument
48 return v->arch.pending_external_vector != -1; in pending_userspace_extint()
55 static int kvm_cpu_has_extint(struct kvm_vcpu *v) in kvm_cpu_has_extint() argument
57 u8 accept = kvm_apic_accept_pic_intr(v); in kvm_cpu_has_extint()
60 if (irqchip_split(v->kvm)) in kvm_cpu_has_extint()
61 return pending_userspace_extint(v); in kvm_cpu_has_extint()
63 return v->kvm->arch.vpic->output; in kvm_cpu_has_extint()
74 int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v) in kvm_cpu_has_injectable_intr() argument
87 if (!lapic_in_kernel(v)) in kvm_cpu_has_injectable_intr()
88 return v->arch.interrupt.injected; in kvm_cpu_has_injectable_intr()
90 if (kvm_cpu_has_extint(v)) in kvm_cpu_has_injectable_intr()
93 if (!is_guest_mode(v) && kvm_vcpu_apicv_active(v)) in kvm_cpu_has_injectable_intr()
96 return kvm_apic_has_interrupt(v) != -1; /* LAPIC */ in kvm_cpu_has_injectable_intr()
103 int kvm_cpu_has_interrupt(struct kvm_vcpu *v) in kvm_cpu_has_interrupt() argument
116 if (!lapic_in_kernel(v)) in kvm_cpu_has_interrupt()
117 return v->arch.interrupt.injected; in kvm_cpu_has_interrupt()
119 if (kvm_cpu_has_extint(v)) in kvm_cpu_has_interrupt()
122 return kvm_apic_has_interrupt(v) != -1; /* LAPIC */ in kvm_cpu_has_interrupt()
130 static int kvm_cpu_get_extint(struct kvm_vcpu *v) in kvm_cpu_get_extint() argument
132 if (kvm_cpu_has_extint(v)) { in kvm_cpu_get_extint()
133 if (irqchip_split(v->kvm)) { in kvm_cpu_get_extint()
134 int vector = v->arch.pending_external_vector; in kvm_cpu_get_extint()
136 v->arch.pending_external_vector = -1; in kvm_cpu_get_extint()
139 return kvm_pic_read_irq(v->kvm); /* PIC */ in kvm_cpu_get_extint()
147 int kvm_cpu_get_interrupt(struct kvm_vcpu *v) in kvm_cpu_get_interrupt() argument
151 if (!lapic_in_kernel(v)) in kvm_cpu_get_interrupt()
152 return v->arch.interrupt.nr; in kvm_cpu_get_interrupt()
154 vector = kvm_cpu_get_extint(v); in kvm_cpu_get_interrupt()
159 return kvm_get_apic_interrupt(v); /* APIC */ in kvm_cpu_get_interrupt()