Updates for virtio-drivers 0.8.
Test: m pvmfw
Change-Id: I7a70f1718600fe866b5b4034dd8ab8d079bcada1
diff --git a/guest/pvmfw/src/instance.rs b/guest/pvmfw/src/instance.rs
index bb07f74..bbc58ed 100644
--- a/guest/pvmfw/src/instance.rs
+++ b/guest/pvmfw/src/instance.rs
@@ -26,7 +26,10 @@
use diced_open_dice::Hidden;
use log::trace;
use uuid::Uuid;
-use virtio_drivers::transport::{pci::bus::PciRoot, DeviceType, Transport};
+use virtio_drivers::transport::{
+ pci::bus::{ConfigurationAccess, PciRoot},
+ DeviceType, Transport,
+};
use vmbase::util::ceiling_div;
use vmbase::virtio::pci::{PciTransportIterator, VirtIOBlk};
use vmbase::virtio::HalImpl;
@@ -99,7 +102,7 @@
/// pvmfw in the instance.img as well as index corresponding to empty header which can be used to
/// record instance data with `record_instance_entry`.
pub(crate) fn get_recorded_entry(
- pci_root: &mut PciRoot,
+ pci_root: &mut PciRoot<impl ConfigurationAccess>,
secret: &[u8],
) -> Result<(Option<EntryBody>, Partition, usize)> {
let mut instance_img = find_instance_img(pci_root)?;
@@ -175,8 +178,8 @@
}
}
-fn find_instance_img(pci_root: &mut PciRoot) -> Result<Partition> {
- for transport in PciTransportIterator::<HalImpl>::new(pci_root)
+fn find_instance_img(pci_root: &mut PciRoot<impl ConfigurationAccess>) -> Result<Partition> {
+ for transport in PciTransportIterator::<HalImpl, _>::new(pci_root)
.filter(|t| DeviceType::Block == t.device_type())
{
let device =
diff --git a/guest/pvmfw/src/rollback.rs b/guest/pvmfw/src/rollback.rs
index 74b2cd8..1d84c5b 100644
--- a/guest/pvmfw/src/rollback.rs
+++ b/guest/pvmfw/src/rollback.rs
@@ -25,7 +25,7 @@
use log::{error, info};
use pvmfw_avb::Capability;
use pvmfw_avb::VerifiedBootData;
-use virtio_drivers::transport::pci::bus::PciRoot;
+use virtio_drivers::transport::pci::bus::{ConfigurationAccess, PciRoot};
use vmbase::fdt::{pci::PciInfo, SwiotlbInfo};
use vmbase::memory::init_shared_pool;
use vmbase::rand;
@@ -167,7 +167,9 @@
}
/// Set up PCI bus and VirtIO-blk device containing the instance.img partition.
-fn initialize_instance_img_device(fdt: &Fdt) -> Result<PciRoot, RebootReason> {
+fn initialize_instance_img_device(
+ fdt: &Fdt,
+) -> Result<PciRoot<impl ConfigurationAccess>, RebootReason> {
let pci_info = PciInfo::from_fdt(fdt).map_err(|e| {
error!("Failed to detect PCI from DT: {e}");
RebootReason::InvalidFdt