diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 45f098826a..0145116e98 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -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); diff --git a/tests/domaincapsschemadata/libxl-xenfv-usb.xml b/tests/domaincapsschemadata/libxl-xenfv-usb.xml new file mode 100644 index 0000000000..c071d1240b --- /dev/null +++ b/tests/domaincapsschemadata/libxl-xenfv-usb.xml @@ -0,0 +1,69 @@ + + /usr/bin/qemu-system-x86_64 + xen + xenfv + x86_64 + + + + /usr/lib/xen/boot/hvmloader + /usr/lib/xen/boot/ovmf.bin + + rom + pflash + + + yes + + + + + + + disk + cdrom + + + ide + scsi + xen + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + + + + xen + + + + + + + diff --git a/tests/domaincapsschemadata/libxl-xenpv-usb.xml b/tests/domaincapsschemadata/libxl-xenpv-usb.xml new file mode 100644 index 0000000000..4dd07bd966 --- /dev/null +++ b/tests/domaincapsschemadata/libxl-xenpv-usb.xml @@ -0,0 +1,59 @@ + + /usr/bin/qemu-system-x86_64 + xen + xenpv + x86_64 + + + + + + + + disk + cdrom + + + ide + scsi + xen + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + + + + xen + + + + + + + diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index 9fb2c974ec..ae311464d6 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -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 */