提交 8bab1e7c 编写于 作者: J Jim Fehlig

libxl: add USB to hostdev domcapabilities

Commit 2a58ed0b added support for creating guests with USB
hostdevs. Commit fc21d106 later added support for hotplut of
USB hostdevs. Advertise support for USB hostdevs in the
domcapabilities.

In addition add the appropriate caps for USB support on
domaincapstest when libvirt is built on a Xen with
LIBXL_HAVE_PVUSB. Otherwise domaincapstest would fail i.e.
testing the wrong domain capabilities.
Signed-off-by: NJim Fehlig <jfehlig@suse.com>
Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
上级 22d262c9
...@@ -492,6 +492,11 @@ libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdevPtr dev) ...@@ -492,6 +492,11 @@ libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdevPtr dev)
VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType, VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType,
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI); VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI);
#ifdef LIBXL_HAVE_PVUSB
VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType,
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB);
#endif
/* No virDomainHostdevCapsType for libxl */ /* No virDomainHostdevCapsType for libxl */
virDomainCapsEnumClear(&dev->capsType); virDomainCapsEnumClear(&dev->capsType);
......
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>xen</domain>
<machine>xenfv</machine>
<arch>x86_64</arch>
<vcpu max='128'/>
<os supported='yes'>
<loader supported='yes'>
<value>/usr/lib/xen/boot/hvmloader</value>
<value>/usr/lib/xen/boot/ovmf.bin</value>
<enum name='type'>
<value>rom</value>
<value>pflash</value>
</enum>
<enum name='readonly'>
<value>yes</value>
</enum>
</loader>
</os>
<devices>
<disk supported='yes'>
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
</enum>
<enum name='bus'>
<value>ide</value>
<value>scsi</value>
<value>xen</value>
</enum>
</disk>
<graphics supported='yes'>
<enum name='type'>
<value>sdl</value>
<value>vnc</value>
<value>spice</value>
</enum>
</graphics>
<video supported='yes'>
<enum name='modelType'>
<value>vga</value>
<value>cirrus</value>
<value>xen</value>
</enum>
</video>
<hostdev supported='yes'>
<enum name='mode'>
<value>subsystem</value>
</enum>
<enum name='startupPolicy'>
<value>default</value>
<value>mandatory</value>
<value>requisite</value>
<value>optional</value>
</enum>
<enum name='subsysType'>
<value>usb</value>
<value>pci</value>
</enum>
<enum name='capsType'/>
<enum name='pciBackend'>
<value>xen</value>
</enum>
</hostdev>
</devices>
<features>
<gic supported='no'/>
</features>
</domainCapabilities>
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>xen</domain>
<machine>xenpv</machine>
<arch>x86_64</arch>
<vcpu max='512'/>
<os supported='yes'>
<loader supported='no'/>
</os>
<devices>
<disk supported='yes'>
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
</enum>
<enum name='bus'>
<value>ide</value>
<value>scsi</value>
<value>xen</value>
</enum>
</disk>
<graphics supported='yes'>
<enum name='type'>
<value>sdl</value>
<value>vnc</value>
<value>spice</value>
</enum>
</graphics>
<video supported='yes'>
<enum name='modelType'>
<value>vga</value>
<value>cirrus</value>
<value>xen</value>
</enum>
</video>
<hostdev supported='yes'>
<enum name='mode'>
<value>subsystem</value>
</enum>
<enum name='startupPolicy'>
<value>default</value>
<value>mandatory</value>
<value>requisite</value>
<value>optional</value>
</enum>
<enum name='subsysType'>
<value>usb</value>
<value>pci</value>
</enum>
<enum name='capsType'/>
<enum name='pciBackend'>
<value>xen</value>
</enum>
</hostdev>
</devices>
<features>
<gic supported='no'/>
</features>
</domainCapabilities>
...@@ -367,9 +367,17 @@ mymain(void) ...@@ -367,9 +367,17 @@ mymain(void)
#if WITH_LIBXL #if WITH_LIBXL
DO_TEST_LIBXL("libxl-xenpv", "/usr/bin/qemu-system-x86_64", # ifdef LIBXL_HAVE_PVUSB
# define LIBXL_XENPV_CAPS "libxl-xenpv-usb"
# define LIBXL_XENFV_CAPS "libxl-xenfv-usb"
# else
# define LIBXL_XENPV_CAPS "libxl-xenpv"
# define LIBXL_XENFV_CAPS "libxl-xenfv"
# endif
DO_TEST_LIBXL(LIBXL_XENPV_CAPS, "/usr/bin/qemu-system-x86_64",
"xenpv", "x86_64", VIR_DOMAIN_VIRT_XEN); "xenpv", "x86_64", VIR_DOMAIN_VIRT_XEN);
DO_TEST_LIBXL("libxl-xenfv", "/usr/bin/qemu-system-x86_64", DO_TEST_LIBXL(LIBXL_XENFV_CAPS, "/usr/bin/qemu-system-x86_64",
"xenfv", "x86_64", VIR_DOMAIN_VIRT_XEN); "xenfv", "x86_64", VIR_DOMAIN_VIRT_XEN);
#endif /* WITH_LIBXL */ #endif /* WITH_LIBXL */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册