[libvirt] [PATCH 1/6] extend usb controller model to support xen pvusb

Chun Yan Liu cyliu at suse.com
Wed Jun 15 02:40:17 UTC 2016



>>> On 6/14/2016 at 11:29 PM, in message
<75f3d94f-19d3-b466-781f-abb2830637bc at laine.org>, Laine Stump <laine at laine.org>
wrote: 
> On 06/14/2016 01:02 AM, Jim Fehlig wrote: 
> >> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c 
> >> >index 490260f..5c3de83 100644 
> >> >--- a/src/qemu/qemu_command.c 
> >> >+++ b/src/qemu/qemu_command.c 
> >> >@@ -133,6 +133,10 @@ VIR_ENUM_IMPL(qemuControllerModelUSB,  
> VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST, 
> >> >                "vt82c686b-usb-uhci", 
> >> >                "pci-ohci", 
> >> >                "nec-usb-xhci", 
> >> >+              "pvusb1", 
> >> >+              "pvusb2", 
> >> >+              "qusb1", 
> >> >+              "qusb2", 
> >> >                "none"); 
> > It seems odd that these need to be added to qemu_command.c. But sadly, I'm  
> not 
> > familiar with how USB controllers are handled in the qemu driver to give  
> much 
> > useful feedback at this time. I can certainly start investigating that, but  
> in 
> > the meantime I've added Laine to the cc list. He has done quite a bit of  
> work in 
> > this area in the past and might have a few minutes free to comment on these  
> changes. 
>  
>  
> This enum exists because the model strings recognized/stored by  
> libvirt's XML parser are slightly different from the exact name of the  
> devices on the qemu commandline. For example, if you put "ehci" in the  
> XML, the device that qemu uses is called "usb-ehci". Internally (in the  
> domain object) it is stored as an enum value, and when we create the  
> qemu commandline we use qemuControllerModelUSBTypeToString(model) to get  
> the name of the device. 
>  
>  
> This points out a couple of things: 
>  
>  
> 1) the VIR_ENUM_IMPL for qemuControllerModelUSB and  
> virDomainontrollerModelUSB must be kept in sync (this is partly enforced  
> by the VIR_ENUM_IMPL() macro, which checks that the array of strings has  
> as many entries as VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST). 

Yes, that's why we have to update qemuControllerModelUSB too.

>  
>  
> 2) If new models are added that aren't supported in a particular  
> hypervisor, the post-parse validation for that hypervisor should check  
> for those models and flag them as errors. 

Right. I'll add a check in qemu post-parse.

Thanks,
Chunyan

>  
>  
>  
>  






More information about the libvir-list mailing list