Check NVMe devices whenever they are bootable, skip initialization in case they are not.
Signed-off-by: Gerd Hoffmann kraxel@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;