Hi,

> > > 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()).
> 
> AFAIK this applies to the entire controller, not individual namespaces.

Current code, yes, but you can change the driver to do the same on
namespace level (simliar to how virtio-scsi skips non-bootable
disks) ...

> > 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.
> 
> That's not option for me as this will be a customer VM so we don't know on 
> which NS the OS will be installed.

... except that it doesn't help much if you don't know which NS the OS
is installed on.

> In another email I said that increasing BUILD_MIN_BIOSTABLE by 8x solves the 
> problem, is there a problem with this solution?

redhat increases BUILD_MIN_BIOSTABLE too (4x only though).

I think this was discussed before but google doesn't find
me anything so not sure why BUILD_MIN_BIOSTABLE hasn't been
increased upstream.  Maybe it doesn't work with some
configurations due to running out of address space.  Should
that be the case a config option could be a way out.

Kevin?

take care,
  Gerd

_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to