Re: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-18 Thread Avi Kivity
Han, Weidong wrote: In fact, without multiple device assignment, VT-d hotplug cannot be supported cleanly. Given hot add a device under a different iommu, it will be mapped in a wrong iommu, thus it won't work. I will start to implement multiple device assignment first. Yes, the 2.6.28

RE: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-17 Thread Han, Weidong
Avi Kivity wrote: Han, Weidong wrote: From bba614bf2acf22f765995fb2364de04cec039226 Mon Sep 17 00:00:00 2001 From: Weidong Han [EMAIL PROTECTED] Date: Fri, 14 Nov 2008 16:53:10 +0800 Subject: [PATCH] support VT-d device hotplug wrap kvm_assign_device() and kvm_deassign_device

Re: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-17 Thread Avi Kivity
Han, Weidong wrote: Need a KVM_CAP_ to indicate this is available. KVM_ASSIGN_PCI_DEVICE and KVM_ASSIGN_IRQ don't need a KVM_CAP_xxx. Why do you need it for KVM_DEASSIGN_PCI_DEVICE? #define KVM_CAP_DEVICE_ASSIGNMENT 17 -- error compiling committee.c: too many arguments to

RE: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-17 Thread Han, Weidong
Avi Kivity wrote: Han, Weidong wrote: Need a KVM_CAP_ to indicate this is available. KVM_ASSIGN_PCI_DEVICE and KVM_ASSIGN_IRQ don't need a KVM_CAP_xxx. Why do you need it for KVM_DEASSIGN_PCI_DEVICE? #define KVM_CAP_DEVICE_ASSIGNMENT 17 Do you mean add it like that: #ifdef

Re: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-17 Thread Avi Kivity
Han, Weidong wrote: Avi Kivity wrote: Han, Weidong wrote: Need a KVM_CAP_ to indicate this is available. KVM_ASSIGN_PCI_DEVICE and KVM_ASSIGN_IRQ don't need a KVM_CAP_xxx. Why do you need it for KVM_DEASSIGN_PCI_DEVICE? #define KVM_CAP_DEVICE_ASSIGNMENT 17

Re: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-17 Thread Avi Kivity
Han, Weidong wrote: This is how KVM_CAP_ works: - kvm.h defines KVM_CAP_DEVICE_ASSIGNMENT - userspace compiles device assignment code only if it sees KVM_CAP_DEVICE_ASSIGNMENT in kvm.h - kvm.ko returns nonzero to ioctl(KVM_CHECK_EXTENSION, KVM_CAP_DEVICE_ASSIGNMENT) if it supports device

RE: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-17 Thread Han, Weidong
Avi Kivity wrote: Han, Weidong wrote: This is how KVM_CAP_ works: - kvm.h defines KVM_CAP_DEVICE_ASSIGNMENT - userspace compiles device assignment code only if it sees KVM_CAP_DEVICE_ASSIGNMENT in kvm.h - kvm.ko returns nonzero to ioctl(KVM_CHECK_EXTENSION, KVM_CAP_DEVICE_ASSIGNMENT) if

Re: [PATCH 1/4] KVM: support VT-d device hotplug

2008-11-16 Thread Avi Kivity
Han, Weidong wrote: From bba614bf2acf22f765995fb2364de04cec039226 Mon Sep 17 00:00:00 2001 From: Weidong Han [EMAIL PROTECTED] Date: Fri, 14 Nov 2008 16:53:10 +0800 Subject: [PATCH] support VT-d device hotplug wrap kvm_assign_device() and kvm_deassign_device() to support assign/deassign

[PATCH 1/4] KVM: support VT-d device hotplug

2008-11-14 Thread Han, Weidong
From bba614bf2acf22f765995fb2364de04cec039226 Mon Sep 17 00:00:00 2001 From: Weidong Han [EMAIL PROTECTED] Date: Fri, 14 Nov 2008 16:53:10 +0800 Subject: [PATCH] support VT-d device hotplug wrap kvm_assign_device() and kvm_deassign_device() to support assign/deassign a device to a guest Signed

Support VT-d device hotplug

2008-11-14 Thread Han, Weidong
Currently, it doesn't handle cleanly for VT-d device hot add, because kvm_map_guest() will allocate a dmar_domain. It should add a device to the existed dmar_domain instead create a new one. For hot remove, it doesn't release the device from adev_head list, remove its ioperm data from