These patches implements a separate module for hostdev passthrough so that it could be shared by different drivers and can maintain a global state of a host device. patch 1/6: extract hostdev passthrough function from qemu_hostdev.c and make it reusable by multiple drivers. patch 2/6: add a unit test for hostdev common library. patch 3/6: switch qemu driver to use the common library instead of its own hostdev passthrough APIs. patch 4/6: switch lxc driver to use the common library instead of its own hostdev passthrough APIs. patch 5/6: add a hostdev pci backend type for xen usage. patch 6/6: add pci passthrough to libxl driver. --- Changes: * fix v7 comments * reorganize order of patches * rebase to latest source code Chunyan Liu (6): add hostdev passthrough common library add a unit test for hostdev common library change qemu driver to use hostdev common library change lxc driver to use hostdev common library add hostdev pci backend type for xen add pci passthrough to libxl driver docs/schemas/domaincommon.rng | 1 + po/POTFILES.in | 3 +- src/Makefile.am | 3 +- src/conf/domain_conf.c | 3 +- src/conf/domain_conf.h | 1 + src/libvirt_private.syms | 21 + src/libxl/libxl_conf.c | 63 + src/libxl/libxl_conf.h | 4 + src/libxl/libxl_domain.c | 9 + src/libxl/libxl_driver.c | 448 +++++- src/lxc/lxc_conf.h | 4 - src/lxc/lxc_driver.c | 47 +- src/lxc/lxc_hostdev.c | 413 ----- src/lxc/lxc_hostdev.h | 43 - src/lxc/lxc_process.c | 24 +- src/qemu/qemu_command.c | 4 +- src/qemu/qemu_conf.h | 9 +- src/qemu/qemu_domain.c | 22 + src/qemu/qemu_driver.c | 81 +- src/qemu/qemu_hostdev.c | 1454 ----------------- src/qemu/qemu_hostdev.h | 76 - src/qemu/qemu_hotplug.c | 136 +- src/qemu/qemu_process.c | 40 +- src/util/virhostdev.c | 1703 ++++++++++++++++++++ src/util/virhostdev.h | 134 ++ src/util/virpci.c | 30 +- src/util/virpci.h | 9 +- src/util/virscsi.c | 28 +- src/util/virscsi.h | 8 +- src/util/virusb.c | 29 +- src/util/virusb.h | 8 +- tests/Makefile.am | 5 + .../qemuxml2argv-hostdev-pci-address.xml | 1 + .../qemuxml2argvdata/qemuxml2argv-net-hostdev.xml | 1 + tests/qemuxml2argvdata/qemuxml2argv-pci-rom.xml | 2 + tests/virhostdevtest.c | 481 ++++++ tests/virpcimock.c | 45 +- 37 files changed, 3181 insertions(+), 2212 deletions(-) delete mode 100644 src/lxc/lxc_hostdev.c delete mode 100644 src/lxc/lxc_hostdev.h delete mode 100644 src/qemu/qemu_hostdev.c delete mode 100644 src/qemu/qemu_hostdev.h create mode 100644 src/util/virhostdev.c create mode 100644 src/util/virhostdev.h create mode 100644 tests/virhostdevtest.c -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list