summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/x86.h
diff options
context:
space:
mode:
authorGleb Natapov2009-05-11 12:35:48 +0200
committerAvi Kivity2009-06-10 10:48:57 +0200
commit923c61bbc6413e87e5f6b0bae663d202a8de0537 (patch)
treea4ae8262a60f343bedb29f06be8510a21ef11dc8 /arch/x86/kvm/x86.h
parentKVM: Do not allow interrupt injection from userspace if there is a pending ev... (diff)
downloadkernel-qcow2-linux-923c61bbc6413e87e5f6b0bae663d202a8de0537.tar.gz
kernel-qcow2-linux-923c61bbc6413e87e5f6b0bae663d202a8de0537.tar.xz
kernel-qcow2-linux-923c61bbc6413e87e5f6b0bae663d202a8de0537.zip
KVM: Remove irq_pending bitmap
Only one interrupt vector can be injected from userspace irqchip at any given time so no need to store it in a bitmap. Put it into interrupt queue directly. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.h')
-rw-r--r--arch/x86/kvm/x86.h12
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 21203d421276..c1f1a8ceba64 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -19,18 +19,6 @@ static inline void kvm_clear_interrupt_queue(struct kvm_vcpu *vcpu)
vcpu->arch.interrupt.pending = false;
}
-static inline u8 kvm_pop_irq(struct kvm_vcpu *vcpu)
-{
- int word_index = __ffs(vcpu->arch.irq_summary);
- int bit_index = __ffs(vcpu->arch.irq_pending[word_index]);
- int irq = word_index * BITS_PER_LONG + bit_index;
-
- clear_bit(bit_index, &vcpu->arch.irq_pending[word_index]);
- if (!vcpu->arch.irq_pending[word_index])
- clear_bit(word_index, &vcpu->arch.irq_summary);
- return irq;
-}
-
static inline bool kvm_event_needs_reinjection(struct kvm_vcpu *vcpu)
{
return vcpu->arch.exception.pending || vcpu->arch.interrupt.pending ||