kernel-ark/arch/x86/kvm
Sheng Yang e56d532f20 KVM: Device assignment framework rework
After discussion with Marcelo, we decided to rework device assignment framework
together. The old problems are kernel logic is unnecessary complex. So Marcelo
suggest to split it into a more elegant way:

1. Split host IRQ assign and guest IRQ assign. And userspace determine the
combination. Also discard msi2intx parameter, userspace can specific
KVM_DEV_IRQ_HOST_MSI | KVM_DEV_IRQ_GUEST_INTX in assigned_irq->flags to
enable MSI to INTx convertion.

2. Split assign IRQ and deassign IRQ. Import two new ioctls:
KVM_ASSIGN_DEV_IRQ and KVM_DEASSIGN_DEV_IRQ.

This patch also fixed the reversed _IOR vs _IOW in definition(by deprecated the
old interface).

[avi: replace homemade bitcount() by hweight_long()]

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-06-10 11:48:29 +03:00
..
i8254.c KVM: make 'lapic_timer_ops' and 'kpit_ops' static 2009-06-10 11:48:29 +03:00
i8254.h KVM: unify part of generic timer handling 2009-06-10 11:48:25 +03:00
i8259.c KVM: fix sparse warnings: context imbalance 2009-03-24 11:03:13 +02:00
irq.c KVM: x86: fix LAPIC pending count calculation 2009-02-15 02:47:38 +02:00
irq.h KVM: make irq ack notifications aware of routing table 2009-03-24 11:03:08 +02:00
Kconfig Merge branch 'tracing/core-v2' into tracing-for-linus 2009-04-02 00:49:02 +02:00
kvm_cache_regs.h KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
kvm_svm.h KVM: x86: Virtualize debug registers 2009-03-24 11:02:49 +02:00
kvm_timer.h KVM: unify part of generic timer handling 2009-06-10 11:48:25 +03:00
lapic.c KVM: make 'lapic_timer_ops' and 'kpit_ops' static 2009-06-10 11:48:29 +03:00
lapic.h KVM: APIC: get rid of deliver_bitmask 2009-06-10 11:48:27 +03:00
Makefile KVM: unify part of generic timer handling 2009-06-10 11:48:25 +03:00
mmu.c KVM: Make paravirt tlb flush also reload the PAE PDPTRs 2009-05-25 20:00:50 +03:00
mmu.h KVM: is_long_mode() should check for EFER.LMA 2009-03-24 11:03:13 +02:00
paging_tmpl.h KVM: MMU: remove call to kvm_mmu_pte_write from walk_addr 2009-06-10 11:48:26 +03:00
svm.c KVM: SVM: Remove port 80 passthrough 2009-05-11 14:40:51 +03:00
timer.c KVM: unify part of generic timer handling 2009-06-10 11:48:25 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Don't intercept MSR_KERNEL_GS_BASE 2009-06-10 11:48:21 +03:00
x86_emulate.c KVM: x86 emulator: implement 'ret far' instruction (opcode 0xcb) 2009-03-24 11:03:01 +02:00
x86.c KVM: Device assignment framework rework 2009-06-10 11:48:29 +03:00
x86.h KVM: Add a pending interrupt queue 2008-10-15 10:15:13 +02:00