Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 172265
b: refs/heads/master
c: 79c727d
h: refs/heads/master
i:
  172263: 7f61c82
v: v3
  • Loading branch information
Gleb Natapov authored and Avi Kivity committed Dec 3, 2009
1 parent e4996a8 commit 68b93fa
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 851ba6922ac575b749f63dee0ae072808163ba6a
refs/heads/master: 79c727d4371aa9af47b0cdbcad53742b5a7919ea
22 changes: 9 additions & 13 deletions trunk/arch/x86/kvm/i8259.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,22 +225,11 @@ int kvm_pic_read_irq(struct kvm *kvm)

void kvm_pic_reset(struct kvm_kpic_state *s)
{
int irq, irqbase, n;
int irq;
struct kvm *kvm = s->pics_state->irq_request_opaque;
struct kvm_vcpu *vcpu0 = kvm->bsp_vcpu;
u8 irr = s->irr, isr = s->imr;

if (s == &s->pics_state->pics[0])
irqbase = 0;
else
irqbase = 8;

for (irq = 0; irq < PIC_NUM_PINS/2; irq++) {
if (vcpu0 && kvm_apic_accept_pic_intr(vcpu0))
if (s->irr & (1 << irq) || s->isr & (1 << irq)) {
n = irq + irqbase;
kvm_notify_acked_irq(kvm, SELECT_PIC(n), n);
}
}
s->last_irr = 0;
s->irr = 0;
s->imr = 0;
Expand All @@ -256,6 +245,13 @@ void kvm_pic_reset(struct kvm_kpic_state *s)
s->rotate_on_auto_eoi = 0;
s->special_fully_nested_mode = 0;
s->init4 = 0;

for (irq = 0; irq < PIC_NUM_PINS/2; irq++) {
if (vcpu0 && kvm_apic_accept_pic_intr(vcpu0))
if (irr & (1 << irq) || isr & (1 << irq)) {
pic_clear_isr(s, irq);
}
}
}

static void pic_ioport_write(void *opaque, u32 addr, u32 val)
Expand Down

0 comments on commit 68b93fa

Please sign in to comment.