[SeaBIOS] [PATCH 0/4] Avoid using f-segment memory for virtio

Kevin O'Connor kevin at koconnor.net
Tue Jul 11 18:50:28 CEST 2017


This series updates the generic code so that either "low" memory or
the f-segment can be used for storing drive mapping information.  It
also updates the virtio code to use "low" memory for its allocations.
I think there is a good chance this series will, in practice, avoid
running out of memory when a large number of virtio drives are
available.

There are other ways to tackle this problem (eg, more of the virtio
storage could be moved into "high" memory), but I think this approach
has the benefit of avoiding a "big bang" patch series.

Comments welcome.

-Kevin


Kevin O'Connor (4):
  boot: Rename drive_g to drive
  disk: Don't require the 'struct drive_s' to be in the f-segment
  block: Rename disk_op_s->drive_gf to drive_fl
  virtio: Allocate drive_s storage in low memory

 src/block.c          |  36 ++++-----
 src/block.h          |   2 +-
 src/boot.c           |  16 ++--
 src/cdrom.c          |   6 +-
 src/disk.c           | 218 +++++++++++++++++++++++++--------------------------
 src/hw/ahci.c        |   4 +-
 src/hw/ata.c         |  26 +++---
 src/hw/blockcmd.c    |  10 +--
 src/hw/esp-scsi.c    |   2 +-
 src/hw/floppy.c      |  20 ++---
 src/hw/lsi-scsi.c    |   2 +-
 src/hw/megasas.c     |   2 +-
 src/hw/mpt-scsi.c    |   2 +-
 src/hw/nvme.c        |   2 +-
 src/hw/pvscsi.c      |   2 +-
 src/hw/ramdisk.c     |   2 +-
 src/hw/sdcard.c      |   2 +-
 src/hw/usb-msc.c     |   4 +-
 src/hw/usb-uas.c     |   2 +-
 src/hw/virtio-blk.c  |  14 ++--
 src/hw/virtio-ring.c |   1 -
 src/hw/virtio-scsi.c |   5 +-
 22 files changed, 189 insertions(+), 191 deletions(-)

-- 
2.9.4




More information about the SeaBIOS mailing list