[libvirt] [PATCH 2/2] bhyve: add xhci tablet support

Roman Bogorodskiy bogorodskiy at gmail.com
Sun Mar 26 15:32:41 UTC 2017


  Michal Privoznik wrote:

> On 03/20/2017 05:31 PM, Roman Bogorodskiy wrote:
> > Along with video and VNC support, bhyve has introduced USB tablet
> > support as an input device. This tablet is exposed to a guest
> > as a device on an XHCI controller.
> >
> > At present, tablet is the only supported device on the XHCI controller
> > in bhyve, so to make things simple, it's allowed to only have a
> > single XHCI controller with a single tablet device.
> >
> > In detail, this commit:
> >
> >  - Introduce a new capability bit for XHCI support in bhyve
> >  - Add an XHCI controller and tabled support with 1:1 mapping
> >    between them
> >  - Add a couple of unit tests
> > ---
> >  src/bhyve/bhyve_capabilities.c                     | 15 +++++++
> >  src/bhyve/bhyve_capabilities.h                     |  1 +
> >  src/bhyve/bhyve_command.c                          | 50 ++++++++++++++++++++++
> >  src/bhyve/bhyve_device.c                           |  4 +-
> >  .../bhyvexml2argv-input-xhci-tablet.args           |  9 ++++
> >  .../bhyvexml2argv-input-xhci-tablet.ldargs         |  3 ++
> >  .../bhyvexml2argv-input-xhci-tablet.xml            | 18 ++++++++
> >  .../bhyvexml2argv-xhci-multiple-controllers.xml    | 19 ++++++++
> >  .../bhyvexml2argv-xhci-multiple-devs.xml           | 19 ++++++++
> >  .../bhyvexml2argv-xhci-no-devs.xml                 | 17 ++++++++
> >  tests/bhyvexml2argvtest.c                          | 10 ++++-
> >  .../bhyvexml2xmlout-input-xhci-tablet.xml          | 31 ++++++++++++++
> >  tests/bhyvexml2xmltest.c                           |  3 ++
> >  13 files changed, 197 insertions(+), 2 deletions(-)
> >  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-input-xhci-tablet.args
> >  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-input-xhci-tablet.ldargs
> >  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-input-xhci-tablet.xml
> >  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-xhci-multiple-controllers.xml
> >  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-xhci-multiple-devs.xml
> >  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-xhci-no-devs.xml
> >  create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-input-xhci-tablet.xml

...

> > --- a/src/bhyve/bhyve_capabilities.h
> > +++ b/src/bhyve/bhyve_capabilities.h
> > @@ -45,6 +45,7 @@ typedef enum {
> >      BHYVE_CAP_NET_E1000 = 1 << 2,
> >      BHYVE_CAP_LPC_BOOTROM = 1 << 3,
> >      BHYVE_CAP_FBUF = 1 << 4,
> > +    BHYVE_CAP_XHCI = 1 << 5,
> >  } virBhyveCapsFlags;
> 
> Should we perhaps turn these into virBitmap? We could have something 
> like qemuCaps then. Because if this continues to grow, at 32 items we 
> will hit problem on 32 bit systems. But that can be saved to a follow up 
> patch.

Yeah, I think I'll do that when it gets to around 16 items or so.

> ACK

Pushed the series, thanks!

> Michal

Roman Bogorodskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170326/c22e7ebe/attachment-0001.sig>


More information about the libvir-list mailing list