aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
authorSheng Yang <sheng@linux.intel.com>2009-03-12 09:45:39 -0400
committerAvi Kivity <avi@redhat.com>2009-06-10 04:48:29 -0400
commite56d532f20c890a06bbe7cd479f4201e3a03cd73 (patch)
tree6c8b1a019a77bf2081ac7482eea322f5b0a636e8 /arch/x86/kvm/x86.c
parent386eb6e8b3caface8a0514da70a47c05cabb5b96 (diff)
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>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 43e049a2ccf4..41123fc8613e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1026,6 +1026,7 @@ int kvm_dev_ioctl_check_extension(long ext)
1026 case KVM_CAP_SYNC_MMU: 1026 case KVM_CAP_SYNC_MMU:
1027 case KVM_CAP_REINJECT_CONTROL: 1027 case KVM_CAP_REINJECT_CONTROL:
1028 case KVM_CAP_IRQ_INJECT_STATUS: 1028 case KVM_CAP_IRQ_INJECT_STATUS:
1029 case KVM_CAP_ASSIGN_DEV_IRQ:
1029 r = 1; 1030 r = 1;
1030 break; 1031 break;
1031 case KVM_CAP_COALESCED_MMIO: 1032 case KVM_CAP_COALESCED_MMIO: