Updates for virtio-drivers 0.8.
Test: m pvmfw
Change-Id: I7a70f1718600fe866b5b4034dd8ab8d079bcada1
diff --git a/guest/rialto/src/communication.rs b/guest/rialto/src/communication.rs
index 1b94912..6f5a59e 100644
--- a/guest/rialto/src/communication.rs
+++ b/guest/rialto/src/communication.rs
@@ -67,7 +67,7 @@
match event {
VsockEventType::Connected => return Ok(()),
VsockEventType::Disconnected { .. } => {
- return Err(SocketError::ConnectionFailed.into())
+ return Err(SocketError::NotConnected.into())
}
// We shouldn't receive the following event before the connection is
// established.
@@ -141,7 +141,7 @@
fn poll(&mut self) -> virtio_drivers::Result<Option<VsockEventType>> {
if let Some(event) = self.poll_event_from_peer()? {
match event {
- VsockEventType::Disconnected { .. } => Err(SocketError::ConnectionFailed.into()),
+ VsockEventType::Disconnected { .. } => Err(SocketError::NotConnected.into()),
VsockEventType::Connected | VsockEventType::ConnectionRequest => {
Err(SocketError::InvalidOperation.into())
}
diff --git a/guest/rialto/src/main.rs b/guest/rialto/src/main.rs
index 04d18be..c3d3604 100644
--- a/guest/rialto/src/main.rs
+++ b/guest/rialto/src/main.rs
@@ -38,7 +38,10 @@
use service_vm_requests::{process_request, RequestContext};
use virtio_drivers::{
device::socket::{VsockAddr, VMADDR_CID_HOST},
- transport::{pci::bus::PciRoot, DeviceType, Transport},
+ transport::{
+ pci::bus::{ConfigurationAccess, PciRoot},
+ DeviceType, Transport,
+ },
Hal,
};
use vmbase::{
@@ -123,7 +126,6 @@
let pci_info = PciInfo::from_fdt(fdt)?;
debug!("PCI: {pci_info:#x?}");
let mut pci_root = pci::initialize(pci_info).map_err(Error::PciInitializationFailed)?;
- debug!("PCI root: {pci_root:#x?}");
let socket_device = find_socket_device::<HalImpl>(&mut pci_root)?;
debug!("Found socket device: guest cid = {:?}", socket_device.guest_cid());
let vendor_hashtree_root_digest = read_vendor_hashtree_root_digest(fdt)?;
@@ -143,8 +145,10 @@
Ok(())
}
-fn find_socket_device<T: Hal>(pci_root: &mut PciRoot) -> Result<VirtIOSocket<T>> {
- PciTransportIterator::<T>::new(pci_root)
+fn find_socket_device<T: Hal>(
+ pci_root: &mut PciRoot<impl ConfigurationAccess>,
+) -> Result<VirtIOSocket<T>> {
+ PciTransportIterator::<T, _>::new(pci_root)
.find(|t| DeviceType::Socket == t.device_type())
.map(VirtIOSocket::<T>::new)
.transpose()