Messages in this thread | | | Date | Wed, 18 Jun 2008 07:25:29 -0700 | From | Avi Kivity <> | Subject | Re: [PATCH 1/3] KVM: Expose get_eoi_gsi for IRQ acking for assigned devices. |
| |
Amit Shah wrote: > Also add kvm_ prefix. > > Signed-off-by: Amit Shah <amit.shah@qumranet.com> > --- > virt/kvm/ioapic.c | 4 ++-- > virt/kvm/ioapic.h | 1 + > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c > index 99a1736..4c41a00 100644 > --- a/virt/kvm/ioapic.c > +++ b/virt/kvm/ioapic.c > @@ -284,7 +284,7 @@ void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level) > } > } > > -static int get_eoi_gsi(struct kvm_ioapic *ioapic, int vector) > +int kvm_get_eoi_gsi(struct kvm_ioapic *ioapic, int vector) > { > int i; > > @@ -300,7 +300,7 @@ void kvm_ioapic_update_eoi(struct kvm *kvm, int vector) > union ioapic_redir_entry *ent; > int gsi; > > - gsi = get_eoi_gsi(ioapic, vector); > + gsi = kvm_get_eoi_gsi(ioapic, vector); > if (gsi == -1) { > printk(KERN_WARNING "Can't find redir item for %d EOI\n", > vector); > >
de53f0e48a1ec9880613a9bdbc5d1d3dcfada0f7 kills get_eoi_gsi, since there can be more than one irq mapped to a vector. I guess the right way to deal with this is to install a callback in the pic and apic, to be called when the guest acks the interrupt.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
| |