]> git.baikalelectronics.ru Git - kernel.git/commit
x86, apicv: add virtual interrupt delivery support
authorYang Zhang <yang.z.zhang@Intel.com>
Fri, 25 Jan 2013 02:18:51 +0000 (10:18 +0800)
committerGleb Natapov <gleb@redhat.com>
Tue, 29 Jan 2013 08:48:19 +0000 (10:48 +0200)
commitbf48ac4917291537131642dce02ed0b9644bba1e
treefeab61b2f3a5587dd502a9d2bf4b27a8b2ebe507
parent379c1cbc60894a862f043766cb80454ad50494a4
x86, apicv: add virtual interrupt delivery support

Virtual interrupt delivery avoids KVM to inject vAPIC interrupts
manually, which is fully taken care of by the hardware. This needs
some special awareness into existing interrupr injection path:

- for pending interrupt, instead of direct injection, we may need
  update architecture specific indicators before resuming to guest.

- A pending interrupt, which is masked by ISR, should be also
  considered in above update action, since hardware will decide
  when to inject it at right time. Current has_interrupt and
  get_interrupt only returns a valid vector from injection p.o.v.

Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
14 files changed:
arch/ia64/kvm/lapic.h
arch/x86/include/asm/kvm_host.h
arch/x86/include/asm/vmx.h
arch/x86/kvm/irq.c
arch/x86/kvm/lapic.c
arch/x86/kvm/lapic.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c
include/linux/kvm_host.h
virt/kvm/ioapic.c
virt/kvm/ioapic.h
virt/kvm/irq_comm.c
virt/kvm/kvm_main.c