I tested my latest patches about usb controllers (1-2-3) and usb redirection (from Spice client) support for upstream qemu and are working. I also tested usb passthrough (from dom0) but seems that with older -usbdevice paraters is not working. I see the qemu docs/qdev-device-use.txt and based on this I tried the new parameters, for example: device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] With new parameters usb passthrough is working, also with new usb controller and also with usb redirection enabled. I did all tests using latest xen and qemu version (1.6). I think should be good to change upstream qemu parameters for usb passthrough on libxl with the new ones. Thanks for any reply.
On 09/23/2013 03:46 PM, Fabio Fantoni wrote:> I tested my latest patches about usb controllers (1-2-3) and usb > redirection (from Spice client) support for upstream qemu and are working. > I also tested usb passthrough (from dom0) but seems that with older > -usbdevice paraters is not working. > I see the qemu docs/qdev-device-use.txt and based on this I tried the > new parameters, for example: > device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] > With new parameters usb passthrough is working, also with new usb > controller and also with usb redirection enabled. > I did all tests using latest xen and qemu version (1.6). > I think should be good to change upstream qemu parameters for usb > passthrough on libxl with the new ones.Yes, I think it would be better. The main difficulty is that the libxl parameter is basically the old-style usbdevice parameter passed straight through. To support the current libxl parameter with the new qemu would mean interpreting the usbdevice parameter and translating it into the new-style parameter. My USB hot-plug series begins to introduce a more reasonable interface for USB devices. Once that''s in, we can think about introducing a similar new interface for creating domains, that should match the new way of specifying devices better. Then we could just say, "If you''re using spice, you have to use the new interface." Unfortunately, it''s looking like the USB hot-plug series may not make it into 4.4 unless someone else can pick it up (or unless we slip the feature freeze). -George
On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote:> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: > >I tested my latest patches about usb controllers (1-2-3) and usb > >redirection (from Spice client) support for upstream qemu and are working. > >I also tested usb passthrough (from dom0) but seems that with older > >-usbdevice paraters is not working. > >I see the qemu docs/qdev-device-use.txt and based on this I tried the > >new parameters, for example: > >device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] > >With new parameters usb passthrough is working, also with new usb > >controller and also with usb redirection enabled. > >I did all tests using latest xen and qemu version (1.6). > >I think should be good to change upstream qemu parameters for usb > >passthrough on libxl with the new ones. > > Yes, I think it would be better. The main difficulty is that the > libxl parameter is basically the old-style usbdevice parameter > passed straight through. To support the current libxl parameter > with the new qemu would mean interpreting the usbdevice parameter > and translating it into the new-style parameter. > > My USB hot-plug series begins to introduce a more reasonable > interface for USB devices. Once that''s in, we can think about > introducing a similar new interface for creating domains, that > should match the new way of specifying devices better. Then we > could just say, "If you''re using spice, you have to use the new > interface." > > Unfortunately, it''s looking like the USB hot-plug series may not > make it into 4.4 unless someone else can pick it up (or unless we > slip the feature freeze). >Hi, Is the latest version of the usb hotplug series posted to xen-devel, or are these not-yet-posted changes in your (private) tree? Just wondering if someone else wants to take a look at that. -- Pasi
On 25/09/13 15:11, Pasi Kärkkäinen wrote:> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>> I tested my latest patches about usb controllers (1-2-3) and usb >>> redirection (from Spice client) support for upstream qemu and are working. >>> I also tested usb passthrough (from dom0) but seems that with older >>> -usbdevice paraters is not working. >>> I see the qemu docs/qdev-device-use.txt and based on this I tried the >>> new parameters, for example: >>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>> With new parameters usb passthrough is working, also with new usb >>> controller and also with usb redirection enabled. >>> I did all tests using latest xen and qemu version (1.6). >>> I think should be good to change upstream qemu parameters for usb >>> passthrough on libxl with the new ones. >> Yes, I think it would be better. The main difficulty is that the >> libxl parameter is basically the old-style usbdevice parameter >> passed straight through. To support the current libxl parameter >> with the new qemu would mean interpreting the usbdevice parameter >> and translating it into the new-style parameter. >> >> My USB hot-plug series begins to introduce a more reasonable >> interface for USB devices. Once that''s in, we can think about >> introducing a similar new interface for creating domains, that >> should match the new way of specifying devices better. Then we >> could just say, "If you''re using spice, you have to use the new >> interface." >> >> Unfortunately, it''s looking like the USB hot-plug series may not >> make it into 4.4 unless someone else can pick it up (or unless we >> slip the feature freeze). >> > Hi, > > Is the latest version of the usb hotplug series posted to xen-devel, > or are these not-yet-posted changes in your (private) tree? > > Just wondering if someone else wants to take a look at that.The latest patches I posted were version 6; the 1/2 can be found here: http://marc.info/?l=xen-devel&m=136638728928743 I can''t remember if I went through and made any changes as a result of comments or not; My latest local version can be found here: git://xenbits.xen.org/people/gdunlap/xen.git out/hvm-usb-hotplug.v6-plus -George
Il 04/10/2013 11:59, George Dunlap ha scritto:> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>> redirection (from Spice client) support for upstream qemu and are >>>> working. >>>> I also tested usb passthrough (from dom0) but seems that with older >>>> -usbdevice paraters is not working. >>>> I see the qemu docs/qdev-device-use.txt and based on this I tried the >>>> new parameters, for example: >>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>> >>>> With new parameters usb passthrough is working, also with new usb >>>> controller and also with usb redirection enabled. >>>> I did all tests using latest xen and qemu version (1.6). >>>> I think should be good to change upstream qemu parameters for usb >>>> passthrough on libxl with the new ones. >>> Yes, I think it would be better. The main difficulty is that the >>> libxl parameter is basically the old-style usbdevice parameter >>> passed straight through. To support the current libxl parameter >>> with the new qemu would mean interpreting the usbdevice parameter >>> and translating it into the new-style parameter. >>> >>> My USB hot-plug series begins to introduce a more reasonable >>> interface for USB devices. Once that''s in, we can think about >>> introducing a similar new interface for creating domains, that >>> should match the new way of specifying devices better. Then we >>> could just say, "If you''re using spice, you have to use the new >>> interface." >>> >>> Unfortunately, it''s looking like the USB hot-plug series may not >>> make it into 4.4 unless someone else can pick it up (or unless we >>> slip the feature freeze). >>> >> Hi, >> >> Is the latest version of the usb hotplug series posted to xen-devel, >> or are these not-yet-posted changes in your (private) tree? >> >> Just wondering if someone else wants to take a look at that. > > The latest patches I posted were version 6; the 1/2 can be found here: > > http://marc.info/?l=xen-devel&m=136638728928743 > > I can''t remember if I went through and made any changes as a result of > comments or not; My latest local version can be found here: > > git://xenbits.xen.org/people/gdunlap/xen.git out/hvm-usb-hotplug.v6-plus > > -GeorgeThanks for reply, I see your patches but I didn''t found changes on "xl create" parts. Please could you keep an eye on my yesterday''s mail about "xl create" part changes? http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html For now I''m trying to do patch for basic spice support to pv. After that I''ll try to do a patch for changes usb qemu parameters to make usb passthrough full working also with usb2,usb3 and usb redirection enabled ifno one else can do. Thanks for any reply.
On 04/10/13 14:16, Fabio Fantoni wrote:> Il 04/10/2013 11:59, George Dunlap ha scritto: >> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>> redirection (from Spice client) support for upstream qemu and are >>>>> working. >>>>> I also tested usb passthrough (from dom0) but seems that with older >>>>> -usbdevice paraters is not working. >>>>> I see the qemu docs/qdev-device-use.txt and based on this I tried the >>>>> new parameters, for example: >>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>> >>>>> With new parameters usb passthrough is working, also with new usb >>>>> controller and also with usb redirection enabled. >>>>> I did all tests using latest xen and qemu version (1.6). >>>>> I think should be good to change upstream qemu parameters for usb >>>>> passthrough on libxl with the new ones. >>>> Yes, I think it would be better. The main difficulty is that the >>>> libxl parameter is basically the old-style usbdevice parameter >>>> passed straight through. To support the current libxl parameter >>>> with the new qemu would mean interpreting the usbdevice parameter >>>> and translating it into the new-style parameter. >>>> >>>> My USB hot-plug series begins to introduce a more reasonable >>>> interface for USB devices. Once that''s in, we can think about >>>> introducing a similar new interface for creating domains, that >>>> should match the new way of specifying devices better. Then we >>>> could just say, "If you''re using spice, you have to use the new >>>> interface." >>>> >>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>> make it into 4.4 unless someone else can pick it up (or unless we >>>> slip the feature freeze). >>>> >>> Hi, >>> >>> Is the latest version of the usb hotplug series posted to xen-devel, >>> or are these not-yet-posted changes in your (private) tree? >>> >>> Just wondering if someone else wants to take a look at that. >> >> The latest patches I posted were version 6; the 1/2 can be found here: >> >> http://marc.info/?l=xen-devel&m=136638728928743 >> >> I can''t remember if I went through and made any changes as a result >> of comments or not; My latest local version can be found here: >> >> git://xenbits.xen.org/people/gdunlap/xen.git out/hvm-usb-hotplug.v6-plus >> >> -George > > Thanks for reply, I see your patches but I didn''t found changes on "xl > create" parts. > Please could you keep an eye on my yesterday''s mail about "xl create" > part changes? > http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html > For now I''m trying to do patch for basic spice support to pv. > After that I''ll try to do a patch for changes usb qemu parameters to > make usb passthrough full working also with usb2,usb3 and usb > redirection enabled ifno one else can do.So at the moment, USB devices specified in the config file are added to the guest on the qemu command line. However, most devices aren''t like that: if you specify a PCI pass-through device, it will create the guest, and then the domain creation will call the pci add functions, just as it would if you were hot-plugging the device afterwards. So the idea would be that once the new USB hotplug interface was fully functional, then you''d do the same thing: just specify the USB controller on the qemu command line, and add in the other USB devices afterwards (i.e., after qemu had come up but before actually unpausing the guest). -George
Il 04/10/2013 15:30, George Dunlap ha scritto:> On 04/10/13 14:16, Fabio Fantoni wrote: >> Il 04/10/2013 11:59, George Dunlap ha scritto: >>> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>>> redirection (from Spice client) support for upstream qemu and are >>>>>> working. >>>>>> I also tested usb passthrough (from dom0) but seems that with older >>>>>> -usbdevice paraters is not working. >>>>>> I see the qemu docs/qdev-device-use.txt and based on this I tried >>>>>> the >>>>>> new parameters, for example: >>>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>>> >>>>>> With new parameters usb passthrough is working, also with new usb >>>>>> controller and also with usb redirection enabled. >>>>>> I did all tests using latest xen and qemu version (1.6). >>>>>> I think should be good to change upstream qemu parameters for usb >>>>>> passthrough on libxl with the new ones. >>>>> Yes, I think it would be better. The main difficulty is that the >>>>> libxl parameter is basically the old-style usbdevice parameter >>>>> passed straight through. To support the current libxl parameter >>>>> with the new qemu would mean interpreting the usbdevice parameter >>>>> and translating it into the new-style parameter. >>>>> >>>>> My USB hot-plug series begins to introduce a more reasonable >>>>> interface for USB devices. Once that''s in, we can think about >>>>> introducing a similar new interface for creating domains, that >>>>> should match the new way of specifying devices better. Then we >>>>> could just say, "If you''re using spice, you have to use the new >>>>> interface." >>>>> >>>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>>> make it into 4.4 unless someone else can pick it up (or unless we >>>>> slip the feature freeze). >>>>> >>>> Hi, >>>> >>>> Is the latest version of the usb hotplug series posted to xen-devel, >>>> or are these not-yet-posted changes in your (private) tree? >>>> >>>> Just wondering if someone else wants to take a look at that. >>> >>> The latest patches I posted were version 6; the 1/2 can be found here: >>> >>> http://marc.info/?l=xen-devel&m=136638728928743 >>> >>> I can''t remember if I went through and made any changes as a result >>> of comments or not; My latest local version can be found here: >>> >>> git://xenbits.xen.org/people/gdunlap/xen.git >>> out/hvm-usb-hotplug.v6-plus >>> >>> -George >> >> Thanks for reply, I see your patches but I didn''t found changes on >> "xl create" parts. >> Please could you keep an eye on my yesterday''s mail about "xl create" >> part changes? >> http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html >> For now I''m trying to do patch for basic spice support to pv. >> After that I''ll try to do a patch for changes usb qemu parameters to >> make usb passthrough full working also with usb2,usb3 and usb >> redirection enabled ifno one else can do. > > So at the moment, USB devices specified in the config file are added > to the guest on the qemu command line. However, most devices aren''t > like that: if you specify a PCI pass-through device, it will create > the guest, and then the domain creation will call the pci add > functions, just as it would if you were hot-plugging the device > afterwards. > > So the idea would be that once the new USB hotplug interface was fully > functional, then you''d do the same thing: just specify the USB > controller on the qemu command line, and add in the other USB devices > afterwards (i.e., after qemu had come up but before actually unpausing > the guest). > > -GeorgeIf I''m not wrong on what you mean, usb controller definition should be right with my patch "usbversion" while actual usbpassthrough part should be replaced/remade in order to have devices passed by usbdevice and usbdevice_list added after qemu launch with hotplug function you had already did with your patches. Did you mean something else?
On 04/10/13 15:00, Fabio Fantoni wrote:> Il 04/10/2013 15:30, George Dunlap ha scritto: >> On 04/10/13 14:16, Fabio Fantoni wrote: >>> Il 04/10/2013 11:59, George Dunlap ha scritto: >>>> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>>>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>>>> redirection (from Spice client) support for upstream qemu and >>>>>>> are working. >>>>>>> I also tested usb passthrough (from dom0) but seems that with older >>>>>>> -usbdevice paraters is not working. >>>>>>> I see the qemu docs/qdev-device-use.txt and based on this I >>>>>>> tried the >>>>>>> new parameters, for example: >>>>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>>>> >>>>>>> With new parameters usb passthrough is working, also with new usb >>>>>>> controller and also with usb redirection enabled. >>>>>>> I did all tests using latest xen and qemu version (1.6). >>>>>>> I think should be good to change upstream qemu parameters for usb >>>>>>> passthrough on libxl with the new ones. >>>>>> Yes, I think it would be better. The main difficulty is that the >>>>>> libxl parameter is basically the old-style usbdevice parameter >>>>>> passed straight through. To support the current libxl parameter >>>>>> with the new qemu would mean interpreting the usbdevice parameter >>>>>> and translating it into the new-style parameter. >>>>>> >>>>>> My USB hot-plug series begins to introduce a more reasonable >>>>>> interface for USB devices. Once that''s in, we can think about >>>>>> introducing a similar new interface for creating domains, that >>>>>> should match the new way of specifying devices better. Then we >>>>>> could just say, "If you''re using spice, you have to use the new >>>>>> interface." >>>>>> >>>>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>>>> make it into 4.4 unless someone else can pick it up (or unless we >>>>>> slip the feature freeze). >>>>>> >>>>> Hi, >>>>> >>>>> Is the latest version of the usb hotplug series posted to xen-devel, >>>>> or are these not-yet-posted changes in your (private) tree? >>>>> >>>>> Just wondering if someone else wants to take a look at that. >>>> >>>> The latest patches I posted were version 6; the 1/2 can be found here: >>>> >>>> http://marc.info/?l=xen-devel&m=136638728928743 >>>> >>>> I can''t remember if I went through and made any changes as a result >>>> of comments or not; My latest local version can be found here: >>>> >>>> git://xenbits.xen.org/people/gdunlap/xen.git >>>> out/hvm-usb-hotplug.v6-plus >>>> >>>> -George >>> >>> Thanks for reply, I see your patches but I didn''t found changes on >>> "xl create" parts. >>> Please could you keep an eye on my yesterday''s mail about "xl >>> create" part changes? >>> http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html >>> For now I''m trying to do patch for basic spice support to pv. >>> After that I''ll try to do a patch for changes usb qemu parameters to >>> make usb passthrough full working also with usb2,usb3 and usb >>> redirection enabled ifno one else can do. >> >> So at the moment, USB devices specified in the config file are added >> to the guest on the qemu command line. However, most devices aren''t >> like that: if you specify a PCI pass-through device, it will create >> the guest, and then the domain creation will call the pci add >> functions, just as it would if you were hot-plugging the device >> afterwards. >> >> So the idea would be that once the new USB hotplug interface was >> fully functional, then you''d do the same thing: just specify the USB >> controller on the qemu command line, and add in the other USB devices >> afterwards (i.e., after qemu had come up but before actually >> unpausing the guest). >> >> -George > > If I''m not wrong on what you mean, usb controller definition should be > right with my patch "usbversion" while actual usbpassthrough part > should be > replaced/remade in order to have devices passed by usbdevice and > usbdevice_list added after qemu launch with hotplug function you had > already did with your patches. > Did you mean something else?I thought the "usbpassthrough" stuff had to do with spice. In any case, what you describe it sounds pretty close, with one caveat: Because usbdevice and usbdevice_list are basically just passing through strings that qemu understands on its command line, I don''t think we can re-use them: I think we''d have to introduce another config option that would have a new interface which matches the new libxl interface better. We''d have to keep the old ones around for backwards compatibility, but we can deprecate them. -George
Il 04/10/2013 16:25, George Dunlap ha scritto:> On 04/10/13 15:00, Fabio Fantoni wrote: >> Il 04/10/2013 15:30, George Dunlap ha scritto: >>> On 04/10/13 14:16, Fabio Fantoni wrote: >>>> Il 04/10/2013 11:59, George Dunlap ha scritto: >>>>> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>>>>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>>>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>>>>> redirection (from Spice client) support for upstream qemu and >>>>>>>> are working. >>>>>>>> I also tested usb passthrough (from dom0) but seems that with >>>>>>>> older >>>>>>>> -usbdevice paraters is not working. >>>>>>>> I see the qemu docs/qdev-device-use.txt and based on this I >>>>>>>> tried the >>>>>>>> new parameters, for example: >>>>>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>>>>> >>>>>>>> With new parameters usb passthrough is working, also with new usb >>>>>>>> controller and also with usb redirection enabled. >>>>>>>> I did all tests using latest xen and qemu version (1.6). >>>>>>>> I think should be good to change upstream qemu parameters for usb >>>>>>>> passthrough on libxl with the new ones. >>>>>>> Yes, I think it would be better. The main difficulty is that the >>>>>>> libxl parameter is basically the old-style usbdevice parameter >>>>>>> passed straight through. To support the current libxl parameter >>>>>>> with the new qemu would mean interpreting the usbdevice parameter >>>>>>> and translating it into the new-style parameter. >>>>>>> >>>>>>> My USB hot-plug series begins to introduce a more reasonable >>>>>>> interface for USB devices. Once that''s in, we can think about >>>>>>> introducing a similar new interface for creating domains, that >>>>>>> should match the new way of specifying devices better. Then we >>>>>>> could just say, "If you''re using spice, you have to use the new >>>>>>> interface." >>>>>>> >>>>>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>>>>> make it into 4.4 unless someone else can pick it up (or unless we >>>>>>> slip the feature freeze). >>>>>>> >>>>>> Hi, >>>>>> >>>>>> Is the latest version of the usb hotplug series posted to xen-devel, >>>>>> or are these not-yet-posted changes in your (private) tree? >>>>>> >>>>>> Just wondering if someone else wants to take a look at that. >>>>> >>>>> The latest patches I posted were version 6; the 1/2 can be found >>>>> here: >>>>> >>>>> http://marc.info/?l=xen-devel&m=136638728928743 >>>>> >>>>> I can''t remember if I went through and made any changes as a >>>>> result of comments or not; My latest local version can be found here: >>>>> >>>>> git://xenbits.xen.org/people/gdunlap/xen.git >>>>> out/hvm-usb-hotplug.v6-plus >>>>> >>>>> -George >>>> >>>> Thanks for reply, I see your patches but I didn''t found changes on >>>> "xl create" parts. >>>> Please could you keep an eye on my yesterday''s mail about "xl >>>> create" part changes? >>>> http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html >>>> For now I''m trying to do patch for basic spice support to pv. >>>> After that I''ll try to do a patch for changes usb qemu parameters >>>> to make usb passthrough full working also with usb2,usb3 and usb >>>> redirection enabled ifno one else can do. >>> >>> So at the moment, USB devices specified in the config file are added >>> to the guest on the qemu command line. However, most devices aren''t >>> like that: if you specify a PCI pass-through device, it will create >>> the guest, and then the domain creation will call the pci add >>> functions, just as it would if you were hot-plugging the device >>> afterwards. >>> >>> So the idea would be that once the new USB hotplug interface was >>> fully functional, then you''d do the same thing: just specify the USB >>> controller on the qemu command line, and add in the other USB >>> devices afterwards (i.e., after qemu had come up but before actually >>> unpausing the guest). >>> >>> -George >> >> If I''m not wrong on what you mean, usb controller definition should >> be right with my patch "usbversion" while actual usbpassthrough part >> should be >> replaced/remade in order to have devices passed by usbdevice and >> usbdevice_list added after qemu launch with hotplug function you had >> already did with your patches. >> Did you mean something else? > > I thought the "usbpassthrough" stuff had to do with spice. > > In any case, what you describe it sounds pretty close, with one > caveat: Because usbdevice and usbdevice_list are basically just > passing through strings that qemu understands on its command line, I > don''t think we can re-use them: I think we''d have to introduce another > config option that would have a new interface which matches the new > libxl interface better. We''d have to keep the old ones around for > backwards compatibility, but we can deprecate them. > > -GeorgeSo to be sure, you mean to keep the old parameters usbdevice and usbdevice_list with only usb1 (making them deprecated), and introduce a new parameter storing the devices usbpassthrough list (from dom0) which will use the new usb1-2-3 controller (with usbversion) and your usbhotplug functions? Is it right?
On Fri, Oct 4, 2013 at 3:59 PM, Fabio Fantoni <fabio.fantoni@m2r.biz> wrote:> Il 04/10/2013 16:25, George Dunlap ha scritto: > >> On 04/10/13 15:00, Fabio Fantoni wrote: >>> >>> Il 04/10/2013 15:30, George Dunlap ha scritto: >>>> >>>> On 04/10/13 14:16, Fabio Fantoni wrote: >>>>> >>>>> Il 04/10/2013 11:59, George Dunlap ha scritto: >>>>>> >>>>>> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>>>>>> >>>>>>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>>>>>> >>>>>>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>>>>>> >>>>>>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>>>>>> redirection (from Spice client) support for upstream qemu and are >>>>>>>>> working. >>>>>>>>> I also tested usb passthrough (from dom0) but seems that with older >>>>>>>>> -usbdevice paraters is not working. >>>>>>>>> I see the qemu docs/qdev-device-use.txt and based on this I tried >>>>>>>>> the >>>>>>>>> new parameters, for example: >>>>>>>>> >>>>>>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>>>>>> With new parameters usb passthrough is working, also with new usb >>>>>>>>> controller and also with usb redirection enabled. >>>>>>>>> I did all tests using latest xen and qemu version (1.6). >>>>>>>>> I think should be good to change upstream qemu parameters for usb >>>>>>>>> passthrough on libxl with the new ones. >>>>>>>> >>>>>>>> Yes, I think it would be better. The main difficulty is that the >>>>>>>> libxl parameter is basically the old-style usbdevice parameter >>>>>>>> passed straight through. To support the current libxl parameter >>>>>>>> with the new qemu would mean interpreting the usbdevice parameter >>>>>>>> and translating it into the new-style parameter. >>>>>>>> >>>>>>>> My USB hot-plug series begins to introduce a more reasonable >>>>>>>> interface for USB devices. Once that''s in, we can think about >>>>>>>> introducing a similar new interface for creating domains, that >>>>>>>> should match the new way of specifying devices better. Then we >>>>>>>> could just say, "If you''re using spice, you have to use the new >>>>>>>> interface." >>>>>>>> >>>>>>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>>>>>> make it into 4.4 unless someone else can pick it up (or unless we >>>>>>>> slip the feature freeze). >>>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Is the latest version of the usb hotplug series posted to xen-devel, >>>>>>> or are these not-yet-posted changes in your (private) tree? >>>>>>> >>>>>>> Just wondering if someone else wants to take a look at that. >>>>>> >>>>>> >>>>>> The latest patches I posted were version 6; the 1/2 can be found here: >>>>>> >>>>>> http://marc.info/?l=xen-devel&m=136638728928743 >>>>>> >>>>>> I can''t remember if I went through and made any changes as a result of >>>>>> comments or not; My latest local version can be found here: >>>>>> >>>>>> git://xenbits.xen.org/people/gdunlap/xen.git >>>>>> out/hvm-usb-hotplug.v6-plus >>>>>> >>>>>> -George >>>>> >>>>> >>>>> Thanks for reply, I see your patches but I didn''t found changes on "xl >>>>> create" parts. >>>>> Please could you keep an eye on my yesterday''s mail about "xl create" >>>>> part changes? >>>>> http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html >>>>> For now I''m trying to do patch for basic spice support to pv. >>>>> After that I''ll try to do a patch for changes usb qemu parameters to >>>>> make usb passthrough full working also with usb2,usb3 and usb redirection >>>>> enabled ifno one else can do. >>>> >>>> >>>> So at the moment, USB devices specified in the config file are added to >>>> the guest on the qemu command line. However, most devices aren''t like that: >>>> if you specify a PCI pass-through device, it will create the guest, and then >>>> the domain creation will call the pci add functions, just as it would if you >>>> were hot-plugging the device afterwards. >>>> >>>> So the idea would be that once the new USB hotplug interface was fully >>>> functional, then you''d do the same thing: just specify the USB controller on >>>> the qemu command line, and add in the other USB devices afterwards (i.e., >>>> after qemu had come up but before actually unpausing the guest). >>>> >>>> -George >>> >>> >>> If I''m not wrong on what you mean, usb controller definition should be >>> right with my patch "usbversion" while actual usbpassthrough part should be >>> replaced/remade in order to have devices passed by usbdevice and >>> usbdevice_list added after qemu launch with hotplug function you had already >>> did with your patches. >>> Did you mean something else? >> >> >> I thought the "usbpassthrough" stuff had to do with spice. >> >> In any case, what you describe it sounds pretty close, with one caveat: >> Because usbdevice and usbdevice_list are basically just passing through >> strings that qemu understands on its command line, I don''t think we can >> re-use them: I think we''d have to introduce another config option that would >> have a new interface which matches the new libxl interface better. We''d >> have to keep the old ones around for backwards compatibility, but we can >> deprecate them. >> >> -George > > > So to be sure, you mean to keep the old parameters usbdevice and > usbdevice_list with only usb1 (making them deprecated), and introduce a new > parameter storing the devices usbpassthrough list (from dom0) which will use > the new usb1-2-3 controller (with usbversion) and your usbhotplug functions? > Is it right?Yes, except that I think ideally you''d design the new interface not only for pass-through devices, but for emulated devices as well -- tablets, mice, keyboard, &c. The patches I posted should be expandable to include things like that. -George
Il 07/10/2013 12:41, George Dunlap ha scritto:> On Fri, Oct 4, 2013 at 3:59 PM, Fabio Fantoni <fabio.fantoni@m2r.biz> wrote: >> Il 04/10/2013 16:25, George Dunlap ha scritto: >> >>> On 04/10/13 15:00, Fabio Fantoni wrote: >>>> Il 04/10/2013 15:30, George Dunlap ha scritto: >>>>> On 04/10/13 14:16, Fabio Fantoni wrote: >>>>>> Il 04/10/2013 11:59, George Dunlap ha scritto: >>>>>>> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>>>>>>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>>>>>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>>>>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>>>>>>> redirection (from Spice client) support for upstream qemu and are >>>>>>>>>> working. >>>>>>>>>> I also tested usb passthrough (from dom0) but seems that with older >>>>>>>>>> -usbdevice paraters is not working. >>>>>>>>>> I see the qemu docs/qdev-device-use.txt and based on this I tried >>>>>>>>>> the >>>>>>>>>> new parameters, for example: >>>>>>>>>> >>>>>>>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>>>>>>> With new parameters usb passthrough is working, also with new usb >>>>>>>>>> controller and also with usb redirection enabled. >>>>>>>>>> I did all tests using latest xen and qemu version (1.6). >>>>>>>>>> I think should be good to change upstream qemu parameters for usb >>>>>>>>>> passthrough on libxl with the new ones. >>>>>>>>> Yes, I think it would be better. The main difficulty is that the >>>>>>>>> libxl parameter is basically the old-style usbdevice parameter >>>>>>>>> passed straight through. To support the current libxl parameter >>>>>>>>> with the new qemu would mean interpreting the usbdevice parameter >>>>>>>>> and translating it into the new-style parameter. >>>>>>>>> >>>>>>>>> My USB hot-plug series begins to introduce a more reasonable >>>>>>>>> interface for USB devices. Once that''s in, we can think about >>>>>>>>> introducing a similar new interface for creating domains, that >>>>>>>>> should match the new way of specifying devices better. Then we >>>>>>>>> could just say, "If you''re using spice, you have to use the new >>>>>>>>> interface." >>>>>>>>> >>>>>>>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>>>>>>> make it into 4.4 unless someone else can pick it up (or unless we >>>>>>>>> slip the feature freeze). >>>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Is the latest version of the usb hotplug series posted to xen-devel, >>>>>>>> or are these not-yet-posted changes in your (private) tree? >>>>>>>> >>>>>>>> Just wondering if someone else wants to take a look at that. >>>>>>> >>>>>>> The latest patches I posted were version 6; the 1/2 can be found here: >>>>>>> >>>>>>> http://marc.info/?l=xen-devel&m=136638728928743 >>>>>>> >>>>>>> I can''t remember if I went through and made any changes as a result of >>>>>>> comments or not; My latest local version can be found here: >>>>>>> >>>>>>> git://xenbits.xen.org/people/gdunlap/xen.git >>>>>>> out/hvm-usb-hotplug.v6-plus >>>>>>> >>>>>>> -George >>>>>> >>>>>> Thanks for reply, I see your patches but I didn''t found changes on "xl >>>>>> create" parts. >>>>>> Please could you keep an eye on my yesterday''s mail about "xl create" >>>>>> part changes? >>>>>> http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html >>>>>> For now I''m trying to do patch for basic spice support to pv. >>>>>> After that I''ll try to do a patch for changes usb qemu parameters to >>>>>> make usb passthrough full working also with usb2,usb3 and usb redirection >>>>>> enabled ifno one else can do. >>>>> >>>>> So at the moment, USB devices specified in the config file are added to >>>>> the guest on the qemu command line. However, most devices aren''t like that: >>>>> if you specify a PCI pass-through device, it will create the guest, and then >>>>> the domain creation will call the pci add functions, just as it would if you >>>>> were hot-plugging the device afterwards. >>>>> >>>>> So the idea would be that once the new USB hotplug interface was fully >>>>> functional, then you''d do the same thing: just specify the USB controller on >>>>> the qemu command line, and add in the other USB devices afterwards (i.e., >>>>> after qemu had come up but before actually unpausing the guest). >>>>> >>>>> -George >>>> >>>> If I''m not wrong on what you mean, usb controller definition should be >>>> right with my patch "usbversion" while actual usbpassthrough part should be >>>> replaced/remade in order to have devices passed by usbdevice and >>>> usbdevice_list added after qemu launch with hotplug function you had already >>>> did with your patches. >>>> Did you mean something else? >>> >>> I thought the "usbpassthrough" stuff had to do with spice. >>> >>> In any case, what you describe it sounds pretty close, with one caveat: >>> Because usbdevice and usbdevice_list are basically just passing through >>> strings that qemu understands on its command line, I don''t think we can >>> re-use them: I think we''d have to introduce another config option that would >>> have a new interface which matches the new libxl interface better. We''d >>> have to keep the old ones around for backwards compatibility, but we can >>> deprecate them. >>> >>> -George >> >> So to be sure, you mean to keep the old parameters usbdevice and >> usbdevice_list with only usb1 (making them deprecated), and introduce a new >> parameter storing the devices usbpassthrough list (from dom0) which will use >> the new usb1-2-3 controller (with usbversion) and your usbhotplug functions? >> Is it right? > Yes, except that I think ideally you''d design the new interface not > only for pass-through devices, but for emulated devices as well -- > tablets, mice, keyboard, &c. The patches I posted should be > expandable to include things like that. > > -GeorgeI redid and posted some times ago usbversion and usbredirection patches: http://lists.xen.org/archives/html/xen-devel/2013-10/msg00580.html http://lists.xen.org/archives/html/xen-devel/2013-10/msg00973.html Today I refreshed your patches of usb hot-plug, also fixed one bug and tested it. Seems full working (usb-attach, usb-list, usb-detach) and also with usbredirection enabled no problem found. Here the latest version of all usb patches: https://github.com/Fantu/Xen/commits/hvm-improve.t6
Il 28/10/2013 17:19, Fabio Fantoni ha scritto:> Il 07/10/2013 12:41, George Dunlap ha scritto: >> On Fri, Oct 4, 2013 at 3:59 PM, Fabio Fantoni <fabio.fantoni@m2r.biz> >> wrote: >>> Il 04/10/2013 16:25, George Dunlap ha scritto: >>> >>>> On 04/10/13 15:00, Fabio Fantoni wrote: >>>>> Il 04/10/2013 15:30, George Dunlap ha scritto: >>>>>> On 04/10/13 14:16, Fabio Fantoni wrote: >>>>>>> Il 04/10/2013 11:59, George Dunlap ha scritto: >>>>>>>> On 25/09/13 15:11, Pasi Kärkkäinen wrote: >>>>>>>>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>>>>>>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>>>>>>>> I tested my latest patches about usb controllers (1-2-3) and >>>>>>>>>>> usb >>>>>>>>>>> redirection (from Spice client) support for upstream qemu >>>>>>>>>>> and are >>>>>>>>>>> working. >>>>>>>>>>> I also tested usb passthrough (from dom0) but seems that >>>>>>>>>>> with older >>>>>>>>>>> -usbdevice paraters is not working. >>>>>>>>>>> I see the qemu docs/qdev-device-use.txt and based on this I >>>>>>>>>>> tried >>>>>>>>>>> the >>>>>>>>>>> new parameters, for example: >>>>>>>>>>> >>>>>>>>>>> device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] >>>>>>>>>>> >>>>>>>>>>> With new parameters usb passthrough is working, also with >>>>>>>>>>> new usb >>>>>>>>>>> controller and also with usb redirection enabled. >>>>>>>>>>> I did all tests using latest xen and qemu version (1.6). >>>>>>>>>>> I think should be good to change upstream qemu parameters >>>>>>>>>>> for usb >>>>>>>>>>> passthrough on libxl with the new ones. >>>>>>>>>> Yes, I think it would be better. The main difficulty is that >>>>>>>>>> the >>>>>>>>>> libxl parameter is basically the old-style usbdevice parameter >>>>>>>>>> passed straight through. To support the current libxl parameter >>>>>>>>>> with the new qemu would mean interpreting the usbdevice >>>>>>>>>> parameter >>>>>>>>>> and translating it into the new-style parameter. >>>>>>>>>> >>>>>>>>>> My USB hot-plug series begins to introduce a more reasonable >>>>>>>>>> interface for USB devices. Once that''s in, we can think about >>>>>>>>>> introducing a similar new interface for creating domains, that >>>>>>>>>> should match the new way of specifying devices better. Then we >>>>>>>>>> could just say, "If you''re using spice, you have to use the new >>>>>>>>>> interface." >>>>>>>>>> >>>>>>>>>> Unfortunately, it''s looking like the USB hot-plug series may not >>>>>>>>>> make it into 4.4 unless someone else can pick it up (or >>>>>>>>>> unless we >>>>>>>>>> slip the feature freeze). >>>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Is the latest version of the usb hotplug series posted to >>>>>>>>> xen-devel, >>>>>>>>> or are these not-yet-posted changes in your (private) tree? >>>>>>>>> >>>>>>>>> Just wondering if someone else wants to take a look at that. >>>>>>>> >>>>>>>> The latest patches I posted were version 6; the 1/2 can be >>>>>>>> found here: >>>>>>>> >>>>>>>> http://marc.info/?l=xen-devel&m=136638728928743 >>>>>>>> >>>>>>>> I can''t remember if I went through and made any changes as a >>>>>>>> result of >>>>>>>> comments or not; My latest local version can be found here: >>>>>>>> >>>>>>>> git://xenbits.xen.org/people/gdunlap/xen.git >>>>>>>> out/hvm-usb-hotplug.v6-plus >>>>>>>> >>>>>>>> -George >>>>>>> >>>>>>> Thanks for reply, I see your patches but I didn''t found changes >>>>>>> on "xl >>>>>>> create" parts. >>>>>>> Please could you keep an eye on my yesterday''s mail about "xl >>>>>>> create" >>>>>>> part changes? >>>>>>> http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html >>>>>>> For now I''m trying to do patch for basic spice support to pv. >>>>>>> After that I''ll try to do a patch for changes usb qemu >>>>>>> parameters to >>>>>>> make usb passthrough full working also with usb2,usb3 and usb >>>>>>> redirection >>>>>>> enabled ifno one else can do. >>>>>> >>>>>> So at the moment, USB devices specified in the config file are >>>>>> added to >>>>>> the guest on the qemu command line. However, most devices aren''t >>>>>> like that: >>>>>> if you specify a PCI pass-through device, it will create the >>>>>> guest, and then >>>>>> the domain creation will call the pci add functions, just as it >>>>>> would if you >>>>>> were hot-plugging the device afterwards. >>>>>> >>>>>> So the idea would be that once the new USB hotplug interface was >>>>>> fully >>>>>> functional, then you''d do the same thing: just specify the USB >>>>>> controller on >>>>>> the qemu command line, and add in the other USB devices >>>>>> afterwards (i.e., >>>>>> after qemu had come up but before actually unpausing the guest). >>>>>> >>>>>> -George >>>>> >>>>> If I''m not wrong on what you mean, usb controller definition >>>>> should be >>>>> right with my patch "usbversion" while actual usbpassthrough part >>>>> should be >>>>> replaced/remade in order to have devices passed by usbdevice and >>>>> usbdevice_list added after qemu launch with hotplug function you >>>>> had already >>>>> did with your patches. >>>>> Did you mean something else? >>>> >>>> I thought the "usbpassthrough" stuff had to do with spice. >>>> >>>> In any case, what you describe it sounds pretty close, with one >>>> caveat: >>>> Because usbdevice and usbdevice_list are basically just passing >>>> through >>>> strings that qemu understands on its command line, I don''t think we >>>> can >>>> re-use them: I think we''d have to introduce another config option >>>> that would >>>> have a new interface which matches the new libxl interface better. >>>> We''d >>>> have to keep the old ones around for backwards compatibility, but >>>> we can >>>> deprecate them. >>>> >>>> -George >>> >>> So to be sure, you mean to keep the old parameters usbdevice and >>> usbdevice_list with only usb1 (making them deprecated), and >>> introduce a new >>> parameter storing the devices usbpassthrough list (from dom0) which >>> will use >>> the new usb1-2-3 controller (with usbversion) and your usbhotplug >>> functions? >>> Is it right? >> Yes, except that I think ideally you''d design the new interface not >> only for pass-through devices, but for emulated devices as well -- >> tablets, mice, keyboard, &c. The patches I posted should be >> expandable to include things like that. >> >> -George > > I redid and posted some times ago usbversion and usbredirection patches: > http://lists.xen.org/archives/html/xen-devel/2013-10/msg00580.html > http://lists.xen.org/archives/html/xen-devel/2013-10/msg00973.html > Today I refreshed your patches of usb hot-plug, also fixed one bug and > tested it. > Seems full working (usb-attach, usb-list, usb-detach) and also with > usbredirection enabled no problem found. > Here the latest version of all usb patches: > https://github.com/Fantu/Xen/commits/hvm-improve.t6About adding the missing cases (vendor and model id and other emulated usb devices) in new usb hot-plug functionalities what can it be the best choice? About emulated usb devices, according to qemu docs, they should be: ccid, keyboard, mouse, tablet, wacom-tablet. Can it be good to add one enumeration on libxl_device_usb_type for each emulated device and have for example on xl command "xl [-vfN] usb-attach <Domain> tablet". Or would it be better to have just one enameration for all emulated devices and on xl command for example "xl [-vfN] usb-attach <Domain> emudev:tablet"? About adding vendor and model id for usb passghtrough, should we maintain the syntax hostdev:<hostbus.hostaddr>|<vendorid.modelid> and tell them apart by the number of characters (4 for vendor and model) or should we use another method? Can someone also review the latest version of my usbversion and usbredirection patches already posted some time ago without replies (links above)? Thanks for any reply.