aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm/ioapic.c
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@Intel.com>2013-04-11 07:21:35 -0400
committerMarcelo Tosatti <mtosatti@redhat.com>2013-04-15 22:20:33 -0400
commit1fcc7890dbf32571c25278803ee19182c801c006 (patch)
treecf53a1b42ce73b3b57e4d3f7639102df13bff067 /virt/kvm/ioapic.c
parentc0d1c770c05ac7051df86914f9627b68f29c1d67 (diff)
KVM: Add vcpu info to ioapic_update_eoi()
Add vcpu info to ioapic_update_eoi, so we can know which vcpu issued this EOI. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'virt/kvm/ioapic.c')
-rw-r--r--virt/kvm/ioapic.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index 914cbe027d06..1d8906d39214 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -264,8 +264,8 @@ void kvm_ioapic_clear_all(struct kvm_ioapic *ioapic, int irq_source_id)
264 spin_unlock(&ioapic->lock); 264 spin_unlock(&ioapic->lock);
265} 265}
266 266
267static void __kvm_ioapic_update_eoi(struct kvm_ioapic *ioapic, int vector, 267static void __kvm_ioapic_update_eoi(struct kvm_vcpu *vcpu,
268 int trigger_mode) 268 struct kvm_ioapic *ioapic, int vector, int trigger_mode)
269{ 269{
270 int i; 270 int i;
271 271
@@ -304,12 +304,12 @@ bool kvm_ioapic_handles_vector(struct kvm *kvm, int vector)
304 return test_bit(vector, ioapic->handled_vectors); 304 return test_bit(vector, ioapic->handled_vectors);
305} 305}
306 306
307void kvm_ioapic_update_eoi(struct kvm *kvm, int vector, int trigger_mode) 307void kvm_ioapic_update_eoi(struct kvm_vcpu *vcpu, int vector, int trigger_mode)
308{ 308{
309 struct kvm_ioapic *ioapic = kvm->arch.vioapic; 309 struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic;
310 310
311 spin_lock(&ioapic->lock); 311 spin_lock(&ioapic->lock);
312 __kvm_ioapic_update_eoi(ioapic, vector, trigger_mode); 312 __kvm_ioapic_update_eoi(vcpu, ioapic, vector, trigger_mode);
313 spin_unlock(&ioapic->lock); 313 spin_unlock(&ioapic->lock);
314} 314}
315 315
@@ -407,7 +407,7 @@ static int ioapic_mmio_write(struct kvm_io_device *this, gpa_t addr, int len,
407 break; 407 break;
408#ifdef CONFIG_IA64 408#ifdef CONFIG_IA64
409 case IOAPIC_REG_EOI: 409 case IOAPIC_REG_EOI:
410 __kvm_ioapic_update_eoi(ioapic, data, IOAPIC_LEVEL_TRIG); 410 __kvm_ioapic_update_eoi(NULL, ioapic, data, IOAPIC_LEVEL_TRIG);
411 break; 411 break;
412#endif 412#endif
413 413