From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v7 RFC 0/2] libxl USB prototype and design discussion Date: Wed, 18 Jun 2014 14:15:28 +0100 Message-ID: <53A190F0.2080106@eu.citrix.com> References: <1401716658-22393-1-git-send-email-george.dunlap@eu.citrix.com> <1403096222.32540.14.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1403096222.32540.14.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: "Daniel P. Berrange" , LibVirt Development List , Jim Fehlig , xen-devel@lists.xen.org, sstanisi@cbnco.com, Fabio Fantoni , Anthony Perard , Ian Jackson , "Simon (Bo) Cao" , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org On 06/18/2014 01:57 PM, Ian Campbell wrote: >> * Is it possible for the toolstack to tell if domU has a working and >> connected PVUSB front-end? > It can observe the state variable being 4 I suppose. Why do you need to > know? It might be nice to be able to create both a pv and an emulated controller in the config file, and then have "xl usb-attach [foo]" to automatically plug it into the PV controller if the PV frontend seems to be up, and into the emulated controller if it doesn't seem to be up. But that doesn't change the elements of the interface, just what the default would be if the controller field is empty. >> * Do we want to be able to create virtual hubs for qemu-backed >> controllers at some point in the future? Is there any groundwork we >> want to lay for that? > qemu-backed emulated or PV controllers? > > I don't think emulated would make sense for a PV guest and if qemu > wanted to be a PV backend it would have to implement the usual xenstore > watches etc. I mean, emulate an actual USB hub -- you know, it plugs into your USB controller and you can plug other USB devices into it. I'm inclined not to bother with it at this point. >> -- snip -- >> >> Given that, here is a potential config file format: >> >> -- snip -- >> # Create two controllers, one pv, one emulated >> usbcontroller=['type=pv,name=pv0,usbversion=2,numports=4', >> 'type=emul,name=hci0,usbversion=2'] >> >> # Create a controller with the defaults; PV for PV guests, emul for HVM guests >> usbcontroller=[''] >> >> # Same as above, but defaulting to version 2 >> usbversion=2 >> >> # I think we should be able to automatically detect which format to >> # use; so I think we should re-use usbdevice. I could be convinced otherwise. >> usbdevice=['type=tablet','type=hostdev,hostaddr=4.3,bus=pv0'] > Does this require that the usbcontroller have been specified? > > I think it would be good if xl would by default create some number of > appropriate controllers without my having to specify them explicitly, > iow just saying usbdevice=[...] should be enough. > > I'm not saying that you shouldn't support more specific syntax for > people who want more control, just that it shouldn't be required to do > so. > > (I'm just talking xl here, at the libxl layer I think it would be fine > to require them to be explicit). That makes sense. >> * Rather than having to specify a controller, automatically hot-plug >> controllers as-needed. > At the xl level I think this would be good. OK, sounds good. Thanks for the input. -George