[SeaBIOS] [PATCH 1/2] scsi: ensure LUN0 is added first

Paolo Bonzini pbonzini at redhat.com
Fri Jul 7 16:14:01 CEST 2017



On 21/06/2017 00:44, Kevin O'Connor wrote:
> On Tue, Jun 20, 2017 at 04:05:32PM -0400, Paolo Bonzini wrote:
>>> If virtio-scsi didn't need to allocate any space in the f-segment,
>>> does this problem go away in practice?
>>
>> Yes, I think so.  I'm not sure why virtqueues are allocated
>> in low memory.  Either cargo culting, or a remain of when
>> virtio was a 16-bit driver, if it ever was.
> 
> The 'struct drive_s' storage currently must be allocated in the
> f-segment so that the disk.c code can access some critical details of
> mapped drives when in 16bit mode.  However, we could change the code
> to allocate that data separately from the controller specific data and
> then move the controller specific data to a larger memory pool.  This
> would have two gains - there's a cap of 16 hard drives that can be
> mapped so we'd be less likely to exceed the f-segment, and even if the
> f-segment did run out of space it would almost certainly be on a
> non-bootable drive.

Or maybe, after the first 16 hard drives, we can stop allocating from
the fseg.

Paolo



More information about the SeaBIOS mailing list