On Thu, Apr 01, 2021 at 12:42:18PM +0000, Thanos Makatos wrote: > I'm using SeaBIOS (b0d61ec) to boot from a virtual NVMe controller that has > relatively many namespaces (64). The exact error is : > > /3ff9f000\ Start thread > |3ff9f000| Searching bootorder for: /pci@i0cf8/*@6 > ... > |3ff9f000| WARNING - Unable to allocate resource at > nvme_controller_enable:632! > > I changed the number of namespaces my controller reports to 1 and it > worked fine. Is there an easy way to get around this or do I have to > fix the code? I haven't looked at the code in detail, but I think we > don't have to allocate the array of namespaces in > nvme_controller_enable; instead, we can probe a namespace right before > we attempt to boot from it (not sure where exactly this is done).
Well, you can try skip non-bootable namespaces and use "qemu -boot strict=on". It happens on nvme controller level already (see nvme_controller_setup()). Easy way out without actual code changes would be to use two nvme controllers, one for the boot disk, one for all others, set bootindex for the boot disk only (and use strict=on of course). seabios should completely ignore the second nvme controller then. HTH, Gerd _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-le...@seabios.org