mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
libxl: add USB to hostdev domcapabilities
Commit2a58ed0b
added support for creating guests with USB hostdevs. Commitfc21d10
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: Jim Fehlig <jfehlig@suse.com> Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
This commit is contained in:
parent
22d262c9b0
commit
8bab1e7c05
@ -492,6 +492,11 @@ libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdevPtr dev)
|
||||
VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType,
|
||||
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 */
|
||||
virDomainCapsEnumClear(&dev->capsType);
|
||||
|
||||
|
69
tests/domaincapsschemadata/libxl-xenfv-usb.xml
Normal file
69
tests/domaincapsschemadata/libxl-xenfv-usb.xml
Normal file
@ -0,0 +1,69 @@
|
||||
<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>
|
59
tests/domaincapsschemadata/libxl-xenpv-usb.xml
Normal file
59
tests/domaincapsschemadata/libxl-xenpv-usb.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<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)
|
||||
|
||||
#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);
|
||||
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);
|
||||
|
||||
#endif /* WITH_LIBXL */
|
||||
|
Loading…
Reference in New Issue
Block a user