mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-28 05:50:37 +00:00
0f58f68b58
$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>
39 lines
1.4 KiB
Plaintext
39 lines
1.4 KiB
Plaintext
|
|
qemu usb storage emulation
|
|
--------------------------
|
|
|
|
Qemu has two emulations for usb storage devices.
|
|
|
|
Number one emulates the classic bulk-only transport protocol which is
|
|
used by 99% of the usb sticks on the marked today and is called
|
|
"usb-storage". Usage (hooking up to xhci, other host controllers work
|
|
too):
|
|
|
|
qemu ${other_vm_args} \
|
|
-drive if=none,id=stick,file=/path/to/file.img \
|
|
-device nec-usb-xhci,id=xhci \
|
|
-device usb-storage,bus=xhci.0,drive=stick
|
|
|
|
|
|
Number two is the newer usb attached scsi transport. This one doesn't
|
|
automagically create a scsi disk, so you have to explicitly attach one
|
|
manually. Multiple logical units are supported. Here is an example
|
|
with tree logical units:
|
|
|
|
qemu ${other_vm_args} \
|
|
-drive if=none,id=uas-disk1,file=/path/to/file1.img \
|
|
-drive if=none,id=uas-disk2,file=/path/to/file2.img \
|
|
-drive if=none,id=uas-cdrom,media=cdrom,file=/path/to/image.iso \
|
|
-device nec-usb-xhci,id=xhci \
|
|
-device usb-uas,id=uas,bus=xhci.0 \
|
|
-device scsi-hd,bus=uas.0,scsi-id=0,lun=0,drive=uas-disk1 \
|
|
-device scsi-hd,bus=uas.0,scsi-id=0,lun=1,drive=uas-disk2 \
|
|
-device scsi-cd,bus=uas.0,scsi-id=0,lun=5,drive=uas-cdrom
|
|
|
|
|
|
enjoy,
|
|
Gerd
|
|
|
|
--
|
|
Gerd Hoffmann <kraxel@redhat.com>
|