[SeaBIOS] [RFC PATCH 00/16] make SCSI layer more generic, introduce virtio-scsi driver
Paolo Bonzini
pbonzini at redhat.com
Tue Nov 15 17:01:08 CET 2011
Hi all,
this is the first bit of working code for the mythical virtio-scsi
HBA. This patch mostly aims at making code more generic in SeaBIOS
for both SCSI and virtio.
For SCSI, it introduces common bits for LUN detection and fixes some
bugs. This is visible for example in that I can now boot the FreeDOS
image on bochs.sf.net from a USB drive.
For virtio, it adds a few extra interface bits that are common
to both virtio-scsi and virtio-blk.
The final patch adds the virtio-scsi code itself. I think the first 13
patches can go in before the virtio-scsi QEMU code, anyway I'm sending
now the whole batch for review.
Paolo Bonzini (16):
cdrom: use TEST UNIT READY to detect ready medium
usb-msc: add usb_msc_send
usb-uhci: wait tick after sending data
usb-msc: support WRITE and TEST UNIT READY
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: always go through TEST UNIT READY
usb-msc: move common scsi code to blockcmd.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
virtio-pci: add vp_set
usb-msc: move cdb dispatch to block.c
add virtio-scsi driver
Makefile | 2 +-
src/Kconfig | 10 ++-
src/block.c | 35 +++++++--
src/blockcmd.c | 155 ++++++++++++++++++++++++++++++++++++++
src/blockcmd.h | 42 ++++++++++-
src/boot.c | 14 ++++
src/boot.h | 1 +
src/cdrom.c | 58 +--------------
src/disk.c | 5 +-
src/disk.h | 19 +++--
src/pci_ids.h | 1 +
src/post.c | 2 +
src/usb-msc.c | 132 ++++++++++----------------------
src/usb-msc.h | 3 -
src/usb-uhci.c | 1 +
src/virtio-blk.c | 30 +++-----
src/virtio-blk.h | 2 +-
src/virtio-pci.c | 33 +++++++-
src/virtio-pci.h | 13 +++-
src/virtio-scsi.c | 216 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/virtio-scsi.h | 43 +++++++++++
21 files changed, 620 insertions(+), 197 deletions(-)
create mode 100644 src/virtio-scsi.c
create mode 100644 src/virtio-scsi.h
--
1.7.7.1
More information about the SeaBIOS
mailing list