1. 03 6月, 2013 2 次提交
  2. 07 5月, 2013 1 次提交
  3. 23 4月, 2013 1 次提交
  4. 16 4月, 2013 5 次提交
  5. 03 4月, 2013 4 次提交
  6. 27 3月, 2013 1 次提交
  7. 23 2月, 2013 1 次提交
  8. 19 2月, 2013 2 次提交
  9. 14 1月, 2013 3 次提交
  10. 11 1月, 2013 1 次提交
    • A
      Make all static TypeInfos const · 8c43a6f0
      Andreas Färber 提交于
      Since 39bffca2 (qdev: register all
      types natively through QEMU Object Model), TypeInfo as used in
      the common, non-iterative pattern is no longer amended with information
      and should therefore be const.
      
      Fix the documented QOM examples:
      
       sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
      
      Since frequently the wrong examples are being copied by contributors of
      new devices, fix all types in the tree:
      
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
      
      This also avoids to piggy-back these changes onto real functional
      changes or other refactorings.
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8c43a6f0
  11. 07 1月, 2013 2 次提交
    • G
      xhci: call set-address with dummy usbpacket · a820b575
      Gerd Hoffmann 提交于
      Due to the way devices are addressed with xhci (done by hardware, not
      the guest os) there is no packet when invoking the set-address control
      request.  Create a dummy packet in that case to avoid null pointer
      dereferences.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      a820b575
    • H
      usb: Add an usb_device_ep_stopped USBDevice method · f79738b0
      Hans de Goede 提交于
      Some usb devices (host or network redirection) can benefit from knowing when
      the guest stops using an endpoint. Redirection may involve submitting packets
      independently from the guest (in combination with a fifo buffer between the
      redirection code and the guest), to ensure that buffers of the real usb device
      are timely emptied. This is done for example for isoc traffic and for interrupt
      input endpoints. But when the (re)submission of packets is done by the device
      code, then how does it know when to stop this?
      
      For isoc endpoints this is handled by detecting a set interface (change alt
      setting) command, which works well for isoc endpoints. But for interrupt
      endpoints currently the redirection code never stops receiving data from
      the device, which is less then ideal.
      
      However the controller emulation is aware when a guest looses interest, as
      then the qh for the endpoint gets unlinked (ehci, ohci, uhci) or the endpoint
      is explicitly stopped (xhci). This patch adds a new ep_stopped USBDevice
      method and modifies the hcd code to call this on queue unlink / ep stop.
      
      This makes it possible for the redirection code to properly stop receiving
      interrupt input (*) data when the guest no longer has interest in it.
      
      *) And in the future also buffered bulk input.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      f79738b0
  12. 19 12月, 2012 1 次提交
  13. 17 12月, 2012 1 次提交
  14. 29 11月, 2012 1 次提交
  15. 09 11月, 2012 3 次提交
    • D
      xhci: Fix some DMA host endian bugs · 616b5d53
      David Gibson 提交于
      The xhci device does correct endian switches on the results of some DMAs
      but not all.  In particular, there are many DMAs of what are essentially
      arrays of 32-bit integers which never get byteswapped.  This causes them
      to be interpreted incorrectly on big-endian hosts, since (as per the xhci
      spec) these arrays are always little-endian in guest memory.
      
      This patch adds some helper functions to fix these bugs.  This may not be
      all the endian bugs in the xhci code, but it's certainly some of them and
      the Linux guest xhci driver certainly gets further with these fixes.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      616b5d53
    • H
    • H
      usb: split packet result into actual_length + status · 9a77a0f5
      Hans de Goede 提交于
      Since with the ehci and xhci controllers a single packet can be larger
      then maxpacketsize, it is possible for the result of a single packet
      to be both having transferred some data as well as the transfer to have
      an error.
      
      An example would be an input transfer from a bulk endpoint successfully
      receiving 1 or more maxpacketsize packets from the device, followed
      by a packet signalling halt.
      
      While already touching all the devices and controllers handle_packet /
      handle_data / handle_control code, also change the return type of
      these functions to void, solely storing the status in the packet. To
      make the code paths for regular versus async packet handling more
      uniform.
      
      This patch unfortunately is somewhat invasive, since makeing the qemu
      usb core deal with this requires changes everywhere. This patch only
      prepares the usb core for this, all the hcd / device changes are done
      in such a way that there are no functional changes.
      
      This patch has been tested with uhci and ehci hcds, together with usb-audio,
      usb-hid and usb-storage devices, as well as with usb-redir redirection
      with a wide variety of real devices.
      
      Note that there is usually no need to directly set packet->actual_length
      form devices handle_data callback, as that is done by usb_packet_copy()
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      9a77a0f5
  16. 01 11月, 2012 8 次提交
  17. 25 10月, 2012 3 次提交