[SeaBIOS] [PATCH 00/16] make SCSI and virtio layers more generic, fix usb-msc bugs

Paolo Bonzini pbonzini at redhat.com
Wed Nov 16 13:02:41 CET 2011


Hi all,

this are the preparatory bits for virtio-scsi support in SeaBIOS.
They mostly aim at making code more generic in SeaBIOS for both SCSI and
virtio, but (on the SCSI side) they also fix some bugs, so I'm sending
them early to get more exposure.

New features are mostly visible on the USB side since that's currently
the main consumer of the SCSI implementation.  They include more robust
LUN detection, support for hard disk geometry, and USB mass storage
write support.

I also fixed for real the race that the RFC series was working around.

For virtio, the series adds a few extra interface bits that are common
to both virtio-scsi and virtio-blk.

The two parts are logically separate but they have a small conflict,
so I'm sending them together.

Paolo Bonzini (16):
  cdrom: use TEST UNIT READY to detect ready medium
  usb-uhci: reorganize wait_qh into wait_pipe
  usb-uhci: fix race against host controller
  usb-msc: support commands without payload
  usb-msc: add usb_msc_send
  usb-msc: support WRITE commands
  usb-msc: move READ CAPACITY to usb_msc_init, fix off-by-one
  usb-msc: pass drive to setup_drive_*
  usb-msc: rename INQUIRY types
  usb-msc: go through TEST UNIT READY for hard disks.
  usb-msc: move common scsi code to blockcmd.c
  usb-msc: move cdb dispatch to block.c
  scsi: get physical chs geometry from mode page 0x04
  always specify virtio-blk rather than virtio
  virtio-pci: introduce vp_init_simple
  virtio-pci: allocate vq in vp_find_vq

v1->v2:
    do not send commands to CDs until they are actually selected for
    boot; fix usb-uhci race for real; virtio-scsi driver not yet
    included.

 src/Kconfig      |    4 +-
 src/block.c      |   34 ++++++++++--
 src/blockcmd.c   |  157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/blockcmd.h   |   42 ++++++++++++++-
 src/cdrom.c      |   58 +-------------------
 src/disk.c       |    4 +-
 src/disk.h       |   18 +++---
 src/usb-msc.c    |  132 ++++++++++++++-------------------------------
 src/usb-msc.h    |    3 -
 src/usb-uhci.c   |   91 +++++++++++++++----------------
 src/virtio-blk.c |   25 +++------
 src/virtio-blk.h |    2 +-
 src/virtio-pci.c |   33 ++++++++++--
 src/virtio-pci.h |    3 +-
 14 files changed, 364 insertions(+), 242 deletions(-)

-- 
1.7.7.1




More information about the SeaBIOS mailing list