Эх сурвалжийг харах

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>
Eddie Dong 17 жил өмнө
parent
commit
2fcceae145

+ 2 - 4
drivers/kvm/i8259.c

@@ -181,10 +181,8 @@ int kvm_pic_read_irq(struct kvm_pic *s)
 	return intno;
 	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->last_irr = 0;
 	s->irr = 0;
 	s->irr = 0;
 	s->imr = 0;
 	s->imr = 0;
@@ -209,7 +207,7 @@ static void pic_ioport_write(void *opaque, u32 addr, u32 val)
 	addr &= 1;
 	addr &= 1;
 	if (addr == 0) {
 	if (addr == 0) {
 		if (val & 0x10) {
 		if (val & 0x10) {
-			pic_reset(s);	/* init */
+			kvm_pic_reset(s);	/* init */
 			/*
 			/*
 			 * deassert a pending interrupt
 			 * deassert a pending interrupt
 			 */
 			 */

+ 1 - 0
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_get_apic_interrupt(struct kvm_vcpu *vcpu);
 int kvm_create_lapic(struct kvm_vcpu *vcpu);
 int kvm_create_lapic(struct kvm_vcpu *vcpu);
 void kvm_lapic_reset(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);
 void kvm_free_lapic(struct kvm_vcpu *vcpu);
 u64 kvm_lapic_get_cr8(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);
 void kvm_lapic_set_tpr(struct kvm_vcpu *vcpu, unsigned long cr8);