[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH V3 00/13] libxl: QMP client improvement + pci passthrougth insert through QMP



This patch series improves the QMP client in lib XenLight to be able to insert
a PCI passthrough device with the upstream QEMU. This require to apply a patch
series for QEMU (named Xen PCI Passthrough).

The first three patches are fix.

The next patch creates a key in xenstore with the version of the running device
model, here: /libxl/$domid/dm-version


Changed since v2:
  > dm-version xenstore key patch:
    - small coding style improvement
    - libxl__device_model_version_running() now return an error on unexpected
      value in /libxl/$domid/dm-version
  > qmp_request_context patch:
    - rename handle to context
    - the context is now only used between qmp_sync.._send and qmp_send
    - return code of a callback is now return by qmp_sync.._send()
  > Handle number abrove LONG_MAX patch:
    - the new callback now also handle double.
  > two new patches to do a pci-detatch.
  

Change v1-v2:
  - 3 new patches, with small fix.
  - add a structure in qmp, qmp_request_handle, to carry the return code of a
    callback.
  - the xenstore key for the dm-version is now in /libxl/$domid, instead of
    /local/domain/$domid
  - new patch to parse number bigger than LONG_MAX for json.
  - an user specified vdevfn for a pci passthrough devices is now handle.
  - in the last patch, the code to handle a pci-add through xenstore have is
    own function. that help a bit to keep the code under 80col.


Anthony PERARD (13):
  libxl_qmp: Fix return check of fcntl
  libxl_json: Check the parser status before to call parse_complete
  libxl_qmp: Better error message after a parse error.
  libxl: Introduce dm-version xenstore key.
  libxl_qmp: Introduce an opaque argument to the callbacks.
  libxl_qmp: Introduce list of arguments to qmp_send
  libxl_qmp: Always insert a command id in the callback_list.
  libxl_qmp: Introduce qmp_request_context.
  libxl_json: Handle number abrove LONG_MAX.
  libxl_qmp: Introduce libxl__qmp_pci_add.
  libxl: Use QMP to insert a passthrough device when using upstream
    QEMU
  libxl_qmp: Introduce libxl__qmp_pci_del
  libxl: Remove a passthrough device through QMP.

 tools/libxl/libxl.c          |    2 +
 tools/libxl/libxl_create.c   |   29 +++++-
 tools/libxl/libxl_internal.c |   23 ++++
 tools/libxl/libxl_internal.h |   19 +++-
 tools/libxl/libxl_json.c     |  111 +++++++++++++-------
 tools/libxl/libxl_pci.c      |  143 +++++++++++++++++--------
 tools/libxl/libxl_qmp.c      |  236 +++++++++++++++++++++++++++++++++++------
 tools/libxl/libxl_xshelp.c   |    9 ++
 8 files changed, 450 insertions(+), 122 deletions(-)

-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.