This patch series include two patches: 1/2 is the implementation of the hostdev passthrough common library. To meet two purposes: a. move qemu hostdev APIs to common library so that it could be used by all hypervisor drivers. b. maintain a global hostdev in-use state. 2/2 is the implementation of pci passthrough to libxl driver. Using common library APIs to implement pci passthrough for libxl driver. (Changes to qemu/lxc driver are not included yet. That could be done after common library is confirmed.) Changes to v1: 1/2: * add scsi part to common library * instead of hardcode, check for <driver name='kvm/vfio/xen'/> setting, call virPCIDeviceSetStubDriver to set stub driver. For libxl driver, a <driver name='xen' /> is needed. * rebase to current libvirt changes 2/2: * Add device-attach/detach a pci hostdev implementataion to libxl driver Chunyan Liu (2): add hostdev passthrough common library add pci passthrough impl to libxl po/POTFILES.in | 1 + src/Makefile.am | 1 + src/conf/domain_conf.c | 3 +- src/conf/domain_conf.h | 1 + src/libvirt.c | 5 + src/libvirt_private.syms | 22 +- src/libxl/libxl_conf.c | 106 +++ src/libxl/libxl_conf.h | 3 +- src/libxl/libxl_driver.c | 250 +++++++- src/util/virhostdevmanager.c | 1486 ++++++++++++++++++++++++++++++++++++++++++ src/util/virhostdevmanager.h | 109 +++ src/util/virpci.c | 17 +- src/util/virpci.h | 7 +- src/util/virscsi.c | 18 +- src/util/virscsi.h | 4 +- src/util/virusb.c | 19 +- src/util/virusb.h | 4 +- 17 files changed, 2026 insertions(+), 30 deletions(-) create mode 100644 src/util/virhostdevmanager.c create mode 100644 src/util/virhostdevmanager.h -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list