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 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios