diff options
author | Eddie Dong <eddie.dong@intel.com> | 2007-10-10 12:14:25 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 17:52:55 +0200 |
commit | 2fcceae145645ec6a4fab0a806bb674d7484d97b (patch) | |
tree | 1b17bb063940bcef205a7d21dbb820ffca7adc38 | |
parent | 60395224d94945544f1f9dce5566981844bf0e77 (diff) |
KVM: Export PIC reset for kernel device reset
Signed-off-by: Yaozu (Eddie) Dong <eddie.dong@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | drivers/kvm/i8259.c | 6 | ||||
-rw-r--r-- | drivers/kvm/irq.h | 1 |
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/kvm/i8259.c b/drivers/kvm/i8259.c index a679157bc59..f0dc2eeadf0 100644 --- a/drivers/kvm/i8259.c +++ b/drivers/kvm/i8259.c @@ -181,10 +181,8 @@ int kvm_pic_read_irq(struct kvm_pic *s) return intno; } -static void pic_reset(void *opaque) +void kvm_pic_reset(struct kvm_kpic_state *s) { - struct kvm_kpic_state *s = opaque; - s->last_irr = 0; s->irr = 0; s->imr = 0; @@ -209,7 +207,7 @@ static void pic_ioport_write(void *opaque, u32 addr, u32 val) addr &= 1; if (addr == 0) { if (val & 0x10) { - pic_reset(s); /* init */ + kvm_pic_reset(s); /* init */ /* * deassert a pending interrupt */ diff --git a/drivers/kvm/irq.h b/drivers/kvm/irq.h index 508280ea6fc..e08ae1002bd 100644 --- a/drivers/kvm/irq.h +++ b/drivers/kvm/irq.h @@ -139,6 +139,7 @@ int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu); int kvm_get_apic_interrupt(struct kvm_vcpu *vcpu); int kvm_create_lapic(struct kvm_vcpu *vcpu); void kvm_lapic_reset(struct kvm_vcpu *vcpu); +void kvm_pic_reset(struct kvm_kpic_state *s); void kvm_free_lapic(struct kvm_vcpu *vcpu); u64 kvm_lapic_get_cr8(struct kvm_vcpu *vcpu); void kvm_lapic_set_tpr(struct kvm_vcpu *vcpu, unsigned long cr8); |