usb: add usb attached scsi emulation
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 8 Jun 2012 14:03:37 +0000 (16:03 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 12 Jul 2012 13:00:39 +0000 (15:00 +0200)
commit0f58f68b58eb0528545553d2c44f6b8e472cedb0
tree1b60b5b25a95e839bc911da477e08d1aabfebb46
parent8e86b93c2b69a7369aa62a6daec203fe5e757497
usb: add usb attached scsi emulation

$subject says all.  First cut.

It's a pure UAS (usb attached scsi) emulation, without BOT (bulk-only
transport) compatibility.  If your guest can't handle it use usb-storage
instead.

The emulation works like any other scsi hba emulation (eps, lsi, virtio,
megasas, ...).  It provides just the HBA where you can attach scsi
devices as you like using '-device'.  A single scsi target with up to
256 luns is supported.

For now only usb 2.0 transport is supported.  This will change in the
future though as I plan to use this as playground when codeing up &
testing usb 3.0 transport and streams support in the qemu usb core and
the xhci emulation.

No migration support yet.  I'm planning to add usb 3.0 support first as
this probably requires saving additional state.

Special thanks go to Paolo for bringing the qemu scsi emulation into
shape, so this can be added nicely without having to touch a single line
of scsi code.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
docs/usb-storage.txt [new file with mode: 0644]
hw/usb/Makefile.objs
hw/usb/dev-uas.c [new file with mode: 0644]
trace-events