Check NVMe devices whenever they are bootable,
skip initialization in case they are not.

Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 src/hw/nvme.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/hw/nvme.c b/src/hw/nvme.c
index 2e3aa38682c4..41f3b768528e 100644
--- a/src/hw/nvme.c
+++ b/src/hw/nvme.c
@@ -586,8 +586,15 @@ nvme_controller_enable(struct nvme_ctrl *ctrl)
 static void
 nvme_controller_setup(void *opaque)
 {
+    u8 skip_nonbootable = is_bootprio_strict();
     struct pci_device *pci = opaque;
 
+    if (skip_nonbootable && bootprio_find_pci_device(pci) < 0) {
+        dprintf(1, "skipping init of a non-bootable NVMe at %pP\n",
+                pci);
+        goto err;
+    }
+
     struct nvme_reg volatile *reg = pci_enable_membar(pci, PCI_BASE_ADDRESS_0);
     if (!reg)
         return;
-- 
2.18.1
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to