All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: Proposed libxl USB hot-plug interface
@ 2013-04-03 15:11 George Dunlap
  2013-04-03 15:46 ` Ian Jackson
  2013-04-10 10:26 ` Ian Campbell
  0 siblings, 2 replies; 5+ messages in thread
From: George Dunlap @ 2013-04-03 15:11 UTC (permalink / raw)
  To: xen-devel@lists.xen.org, Ian Jackson, Roger Pau Monne,
	Ian Campbell, Marek Marczykowski

OK, based on the feedback, what about an interface like the following?

The idea would be that long-term, AUTO would always do PV for PV VMs, 
and would somehow decide whether to do HVM or PV for HVM domains.

The "type" and the "union" fields are designed to allow the interface to 
be extended to include other types of devices, such as adding emulated 
tablets, mice, keyboards, usb sticks, &c.

"list" should return all available USB devices including the "handle" 
that can be used to remove a device.

Thoughts?

  -George

#define LIBXL_DEVICE_HOST_USB_ANY (-1)
int libxl_usb_add(libxl_ctx *ctx, uint32_t domid,
                   libxl_device_usb *dev,
                   const libxl_asyncop_how *ao_how)
                   LIBXL_EXTERNAL_CALLERS_ONLY;
int libxl_usb_del(libxl_ctx *ctx, uint32_t domid,
                   uint64_t handle,
                   const libxl_asyncop_how *ao_how)
                   LIBXL_EXTERNAL_CALLERS_ONLY;
int libxl_usb_list(libxl_ctx *ctx, uint32_t domid,
                    libxl_device_usb **dev,
                    const libxl_asyncop_how *ao_how)
                    LIBXL_EXTERNAL_CALLERS_ONLY;

struct libxl_device_usb {
     uint16_t protocol; /* AUTO, PV, HVM */
     uint16_t type; /* HOST; later can be emulated devices like tablet, 
disk, &c */
     uint32_t backend_domain_id; /* For PVUSB */
     uint64_t handle;  /* OUT: Unique (per domain) handle that must be 
used to remove a device */
     int
     union {
         struct {
             int hostbus, hostaddr, vendorid, productid;
         } host;
     };
};

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-04-10 10:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-03 15:11 RFC: Proposed libxl USB hot-plug interface George Dunlap
2013-04-03 15:46 ` Ian Jackson
2013-04-03 16:04   ` George Dunlap
2013-04-03 16:11     ` Ian Jackson
2013-04-10 10:26 ` Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.