summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Bergren <git@bdragon.rtk0.net>2020-05-13 12:13:56 -0500
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2020-05-16 14:09:11 +0100
commit9b8c30c6db07daa27e9422daf1bb542dbe46170a (patch)
tree5a68ed9c865eb660f765694ff473f754ea64bdac
parent01069e6610e62a5b2aa886930d75a5cf644f4138 (diff)
downloadqemu-openbios-9b8c30c6db07daa27e9422daf1bb542dbe46170a.tar.gz
pci: Enable bus-master on virtio_blk
In qemu 9d7bd0826f2d19f88631ad7078662668148f7b5f, the behavior of vring processing was changed to not run whenever bus-mastering is disabled. Since we were never enabling it in the first place, OpenBIOS was no longer able to access virtio disks on qemu. Fix this by enabling bus-mastering before initializing. Signed-off-by: Brandon Bergren <git@bdragon.rtk0.net> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
-rw-r--r--drivers/pci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci.c b/drivers/pci.c
index 9d501d33..34ae69a9 100644
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -816,6 +816,9 @@ int virtio_blk_config_cb(const pci_config_t *config)
return 0;
}
+ /* Enable bus mastering to ensure vring processing will run. */
+ ob_pci_enable_bus_master(config);
+
ob_virtio_init(config->path, "virtio-blk", common_cfg, device_cfg,
notify_base, notify_mult, idx);
#endif