* A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration
@ 2015-09-10 10:22 Nan Xiao
2015-09-10 15:08 ` Alex Williamson
0 siblings, 1 reply; 6+ messages in thread
From: Nan Xiao @ 2015-09-10 10:22 UTC (permalink / raw)
To: kvm
Hi all,
When building kernel, it prompts "CONFIG_KVM_DEVICE_ASSIGNMENT" is "deprecated".
But it is still used in kernel code. E.g.:
"kvm_vm_ioctl_check_extension" function:
{
...
#ifdef CONFIG_KVM_DEVICE_ASSIGNMENT
case KVM_CAP_ASSIGN_DEV_IRQ:
case KVM_CAP_PCI_2_3:
#endif
r = 1;
break;
...
#ifdef CONFIG_KVM_DEVICE_ASSIGNMENT
case KVM_CAP_IOMMU:
r = iommu_present(&pci_bus_type);
break;
#endif
...
}
If not configure this option, the following code will execute failed:
ret = ioctl(dev, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU);
So does it mean to use KVM assigned device feature, the
"CONFIG_KVM_DEVICE_ASSIGNMENT"
is not "deprecated"?
Thanks very much in advance!
Best Regards
Nan Xiao
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration 2015-09-10 10:22 A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration Nan Xiao @ 2015-09-10 15:08 ` Alex Williamson 2015-09-10 23:58 ` Nan Xiao 2015-09-11 0:55 ` Chen, Tiejun 0 siblings, 2 replies; 6+ messages in thread From: Alex Williamson @ 2015-09-10 15:08 UTC (permalink / raw) To: Nan Xiao; +Cc: kvm On Thu, 2015-09-10 at 18:22 +0800, Nan Xiao wrote: > Hi all, > > When building kernel, it prompts "CONFIG_KVM_DEVICE_ASSIGNMENT" is "deprecated". > But it is still used in kernel code. E.g.: > "kvm_vm_ioctl_check_extension" function: > { > ... > #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT > case KVM_CAP_ASSIGN_DEV_IRQ: > case KVM_CAP_PCI_2_3: > #endif > r = 1; > break; > ... > #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT > case KVM_CAP_IOMMU: > r = iommu_present(&pci_bus_type); > break; > #endif > ... > } > > If not configure this option, the following code will execute failed: > > ret = ioctl(dev, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU); > > So does it mean to use KVM assigned device feature, the > "CONFIG_KVM_DEVICE_ASSIGNMENT" > is not "deprecated"? Legacy KVM device assignment is deprecated, it is fully replaced by VFIO-based device assignment. The intention is to deprecate legacy KVM device assignment now, so all users can transition away from it and at some point remove it from the kernel. When using QEMU and libvirt, the default is already to use VFIO instead of legacy KVM device assignment. Thanks, Alex ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration 2015-09-10 15:08 ` Alex Williamson @ 2015-09-10 23:58 ` Nan Xiao 2015-09-11 0:18 ` Alex Williamson 2015-09-11 0:55 ` Chen, Tiejun 1 sibling, 1 reply; 6+ messages in thread From: Nan Xiao @ 2015-09-10 23:58 UTC (permalink / raw) To: Alex Williamson; +Cc: kvm Hi Alex, Thanks very much for your response! so for assigning PCI device in QEMU. The following method is deprecated: qemu-system-x86_64 ... -device pci-assign,host=0000:21:00.1 I should use this one instead: qemu-system-x86_64 ... -device vfio-pci,host=0000:21:00.1 right? Thanks in advance! Best Regards Nan Xiao On Thu, Sep 10, 2015 at 11:08 PM, Alex Williamson <alex.williamson@redhat.com> wrote: > On Thu, 2015-09-10 at 18:22 +0800, Nan Xiao wrote: >> Hi all, >> >> When building kernel, it prompts "CONFIG_KVM_DEVICE_ASSIGNMENT" is "deprecated". >> But it is still used in kernel code. E.g.: >> "kvm_vm_ioctl_check_extension" function: >> { >> ... >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT >> case KVM_CAP_ASSIGN_DEV_IRQ: >> case KVM_CAP_PCI_2_3: >> #endif >> r = 1; >> break; >> ... >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT >> case KVM_CAP_IOMMU: >> r = iommu_present(&pci_bus_type); >> break; >> #endif >> ... >> } >> >> If not configure this option, the following code will execute failed: >> >> ret = ioctl(dev, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU); >> >> So does it mean to use KVM assigned device feature, the >> "CONFIG_KVM_DEVICE_ASSIGNMENT" >> is not "deprecated"? > > Legacy KVM device assignment is deprecated, it is fully replaced by > VFIO-based device assignment. The intention is to deprecate legacy KVM > device assignment now, so all users can transition away from it and at > some point remove it from the kernel. When using QEMU and libvirt, the > default is already to use VFIO instead of legacy KVM device assignment. > Thanks, > > Alex > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration 2015-09-10 23:58 ` Nan Xiao @ 2015-09-11 0:18 ` Alex Williamson 2015-09-11 0:42 ` Nan Xiao 0 siblings, 1 reply; 6+ messages in thread From: Alex Williamson @ 2015-09-11 0:18 UTC (permalink / raw) To: Nan Xiao; +Cc: kvm On Fri, 2015-09-11 at 07:58 +0800, Nan Xiao wrote: > Hi Alex, > > Thanks very much for your response! so for assigning PCI device in QEMU. > The following method is deprecated: > > qemu-system-x86_64 ... -device pci-assign,host=0000:21:00.1 > > I should use this one instead: > > qemu-system-x86_64 ... -device vfio-pci,host=0000:21:00.1 > > right? Yes, and the device needs to be bound to the vfio_pci driver in the host rather than pci-stub (and you may or may not need to care about IOMMU groups[1]). Thanks, Alex [1] http://vfio.blogspot.com/2014/08/iommu-groups-inside-and-out.html > On Thu, Sep 10, 2015 at 11:08 PM, Alex Williamson > <alex.williamson@redhat.com> wrote: > > On Thu, 2015-09-10 at 18:22 +0800, Nan Xiao wrote: > >> Hi all, > >> > >> When building kernel, it prompts "CONFIG_KVM_DEVICE_ASSIGNMENT" is "deprecated". > >> But it is still used in kernel code. E.g.: > >> "kvm_vm_ioctl_check_extension" function: > >> { > >> ... > >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT > >> case KVM_CAP_ASSIGN_DEV_IRQ: > >> case KVM_CAP_PCI_2_3: > >> #endif > >> r = 1; > >> break; > >> ... > >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT > >> case KVM_CAP_IOMMU: > >> r = iommu_present(&pci_bus_type); > >> break; > >> #endif > >> ... > >> } > >> > >> If not configure this option, the following code will execute failed: > >> > >> ret = ioctl(dev, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU); > >> > >> So does it mean to use KVM assigned device feature, the > >> "CONFIG_KVM_DEVICE_ASSIGNMENT" > >> is not "deprecated"? > > > > Legacy KVM device assignment is deprecated, it is fully replaced by > > VFIO-based device assignment. The intention is to deprecate legacy KVM > > device assignment now, so all users can transition away from it and at > > some point remove it from the kernel. When using QEMU and libvirt, the > > default is already to use VFIO instead of legacy KVM device assignment. > > Thanks, > > > > Alex > > > > > > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration 2015-09-11 0:18 ` Alex Williamson @ 2015-09-11 0:42 ` Nan Xiao 0 siblings, 0 replies; 6+ messages in thread From: Nan Xiao @ 2015-09-11 0:42 UTC (permalink / raw) To: Alex Williamson; +Cc: kvm Hi Alex, Thanks very much for your time and answer! Best Regards Nan Xiao On Fri, Sep 11, 2015 at 8:18 AM, Alex Williamson <alex.williamson@redhat.com> wrote: > On Fri, 2015-09-11 at 07:58 +0800, Nan Xiao wrote: >> Hi Alex, >> >> Thanks very much for your response! so for assigning PCI device in QEMU. >> The following method is deprecated: >> >> qemu-system-x86_64 ... -device pci-assign,host=0000:21:00.1 >> >> I should use this one instead: >> >> qemu-system-x86_64 ... -device vfio-pci,host=0000:21:00.1 >> >> right? > > Yes, and the device needs to be bound to the vfio_pci driver in the host > rather than pci-stub (and you may or may not need to care about IOMMU > groups[1]). Thanks, > > Alex > > [1] http://vfio.blogspot.com/2014/08/iommu-groups-inside-and-out.html > >> On Thu, Sep 10, 2015 at 11:08 PM, Alex Williamson >> <alex.williamson@redhat.com> wrote: >> > On Thu, 2015-09-10 at 18:22 +0800, Nan Xiao wrote: >> >> Hi all, >> >> >> >> When building kernel, it prompts "CONFIG_KVM_DEVICE_ASSIGNMENT" is "deprecated". >> >> But it is still used in kernel code. E.g.: >> >> "kvm_vm_ioctl_check_extension" function: >> >> { >> >> ... >> >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT >> >> case KVM_CAP_ASSIGN_DEV_IRQ: >> >> case KVM_CAP_PCI_2_3: >> >> #endif >> >> r = 1; >> >> break; >> >> ... >> >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT >> >> case KVM_CAP_IOMMU: >> >> r = iommu_present(&pci_bus_type); >> >> break; >> >> #endif >> >> ... >> >> } >> >> >> >> If not configure this option, the following code will execute failed: >> >> >> >> ret = ioctl(dev, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU); >> >> >> >> So does it mean to use KVM assigned device feature, the >> >> "CONFIG_KVM_DEVICE_ASSIGNMENT" >> >> is not "deprecated"? >> > >> > Legacy KVM device assignment is deprecated, it is fully replaced by >> > VFIO-based device assignment. The intention is to deprecate legacy KVM >> > device assignment now, so all users can transition away from it and at >> > some point remove it from the kernel. When using QEMU and libvirt, the >> > default is already to use VFIO instead of legacy KVM device assignment. >> > Thanks, >> > >> > Alex >> > >> > >> > >> -- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration 2015-09-10 15:08 ` Alex Williamson 2015-09-10 23:58 ` Nan Xiao @ 2015-09-11 0:55 ` Chen, Tiejun 1 sibling, 0 replies; 6+ messages in thread From: Chen, Tiejun @ 2015-09-11 0:55 UTC (permalink / raw) To: Alex Williamson, Nan Xiao; +Cc: kvm On 9/10/2015 11:08 PM, Alex Williamson wrote: > On Thu, 2015-09-10 at 18:22 +0800, Nan Xiao wrote: >> Hi all, >> >> When building kernel, it prompts "CONFIG_KVM_DEVICE_ASSIGNMENT" is "deprecated". >> But it is still used in kernel code. E.g.: >> "kvm_vm_ioctl_check_extension" function: >> { >> ... >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT >> case KVM_CAP_ASSIGN_DEV_IRQ: >> case KVM_CAP_PCI_2_3: >> #endif >> r = 1; >> break; >> ... >> #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT >> case KVM_CAP_IOMMU: >> r = iommu_present(&pci_bus_type); >> break; >> #endif >> ... >> } >> >> If not configure this option, the following code will execute failed: >> >> ret = ioctl(dev, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU); >> >> So does it mean to use KVM assigned device feature, the >> "CONFIG_KVM_DEVICE_ASSIGNMENT" >> is not "deprecated"? > > Legacy KVM device assignment is deprecated, it is fully replaced by Why do we remove this legacy assignment completely? Its always leading to this confusion :) Thanks Tiejun > VFIO-based device assignment. The intention is to deprecate legacy KVM > device assignment now, so all users can transition away from it and at > some point remove it from the kernel. When using QEMU and libvirt, the > default is already to use VFIO instead of legacy KVM device assignment. > Thanks, > > Alex ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-09-11 0:55 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-09-10 10:22 A question about "CONFIG_KVM_DEVICE_ASSIGNMENT" configuration Nan Xiao 2015-09-10 15:08 ` Alex Williamson 2015-09-10 23:58 ` Nan Xiao 2015-09-11 0:18 ` Alex Williamson 2015-09-11 0:42 ` Nan Xiao 2015-09-11 0:55 ` Chen, Tiejun
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.