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

Reply via email to