• D
    Fix USB passthrough based on product/vendor · 09ed0729
    Daniel P. Berrange 提交于
    Changeset
    
      commit 5073aa99
      Author: Cole Robinson <crobinso@redhat.com>
      Date:   Mon Jan 11 11:40:46 2010 -0500
    
    Added support for product/vendor based passthrough, but it only
    worked at the security driver layer. The main guest XML config
    was not updated with the resolved bus/device ID. When the QEMU
    argv refactoring removed use of product/vendor, this then broke
    launching guests.
    
    THe solution is to move the product/vendor resolution up a layer
    into the QEMU driver. So the first thing QEMU does is resolve
    the product/vendor to a bus/device and updates the XML config
    with this info. The rest of the code, including security drivers
    and QEMU argv generated can now rely on bus/device always being
    set.
    
    * src/util/hostusb.c, src/util/hostusb.h: Split vendor/product
      resolution code out of usbGetDevice and into usbFindDevice.
      Add accessors for bus/device ID
    * src/security/virt-aa-helper.c, src/security/security_selinux.c,
      src/qemu/qemu_security_dac.c: Remove vendor/product from the
      usbGetDevice() calls
    * src/qemu/qemu_driver.c: Use usbFindDevice to resolve vendor/product
      into a bus/device ID
    09ed0729
qemu_driver.c 287.5 KB