1. 16 11月, 2012 3 次提交
    • G
      usb-host: scan for usb devices when the vm starts · c06c68c9
      Gerd Hoffmann 提交于
      Commit a844ed84 leads to usb-host
      detecting devices not right after qemu startup because the guest
      isn't running yet.  Instead they are found on the first of the
      regular usb device poll runs.  Which is too late for seabios to see
      them, so booting from usb sticks fails.
      
      Fix this by adding a vm state change handler which triggers a device
      scan when the vm is started.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      c06c68c9
    • D
      usb: Fix (another) bug in usb_packet_map() for IOMMU handling · 155de06f
      David Gibson 提交于
      Elements in qemu SGLists can cross IOMMU page boundaries.  So, in commit
      39c138c8 "usb: Fix usb_packet_map() in the
      presence of IOMMUs", I changed usb_packet_map() to split up each SGList
      element on IOMMU page boundaries and each resulting piece of qemu's memory
      space separately to the iovec the usb code uses internally.
      
      That was correct in concept, but the patch has a bug.  The 'base' variable
      correctly steps through the dma address of each piece, but then we call
      the dma_memory_map() function on the base address of the whole SGList
      element every time.
      
      This patch fixes at least one problem using XHCI on the pseries guest
      machine.  It didn't affect OHCI because that doesn't use usb_packet_map().
      In theory it also affects EHCI, but we haven't observed that in practice.
      I think the transfers were small enough on EHCI that they never crossed an
      IOMMU page boundary in practice.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      155de06f
    • G
      fix live migration · 4ea375bf
      Gerd Hoffmann 提交于
      Commit 1c380f94 breaks live migration.
      DMA stops working for ehci (and probably for any pci device) after
      restoring the guest because the bus master region never gets enabled.
      Add code doing that after loading the pci config space from vmstate.
      
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      4ea375bf
  2. 15 11月, 2012 2 次提交
  3. 14 11月, 2012 16 次提交
  4. 13 11月, 2012 2 次提交
  5. 12 11月, 2012 15 次提交
  6. 11 11月, 2012 2 次提交