On Wed, Sep 27, 2017 at 09:36:01AM +0200, Paolo Bonzini wrote: > On 21/06/2017 00:44, Kevin O'Connor wrote: > >> 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. > > I don't think this is the issue. virtqueues actually have been > allocated with memalign_high since 2015 (commit 6cfebb4e). > > virtio-blk is allocating 68 fseg bytes for the controller-specific data, > virtio-scsi only 16. struct drive_s is about 40 bytes long.
What is the test case for reproducing the problem? I can test with the patchset I posted earlier: https://mail.coreboot.org/pipermail/seabios/2017-July/011452.html which is also now at: https://github.com/KevinOConnor/seabios/tree/work-drive-lowmem-20170711 -Kevin _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios