summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-03-14 00:53:34 +0000
committerAlyssa Ross <hi@alyssa.is>2020-06-15 09:36:53 +0000
commit15cbc91653fb35f1145b47dd2c808df2daa1633a (patch)
tree4ecbc228beec6d81a23962e80fabc48b22078098 /src
parentc895e48de84f2a6b6f5b21e8037abef50e365a51 (diff)
downloadcrosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.tar
crosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.tar.gz
crosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.tar.bz2
crosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.tar.lz
crosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.tar.xz
crosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.tar.zst
crosvm-15cbc91653fb35f1145b47dd2c808df2daa1633a.zip
get_device_caps
Diffstat (limited to 'src')
-rw-r--r--src/wl.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/wl.rs b/src/wl.rs
index 5576acb..7177f74 100644
--- a/src/wl.rs
+++ b/src/wl.rs
@@ -2,7 +2,7 @@
 
 use devices::virtio::{
     BincodeRequest, BincodeResponse, InterruptProxy, InterruptProxyEvent, MsgOnSocketRequest,
-    MsgOnSocketResponse, VirtioDevice, Wl,
+    MsgOnSocketResponse, RemotePciCapability, VirtioDevice, Wl,
 };
 use msg_socket::MsgSocket;
 use poly_msg_socket::PolyMsgSocket;
@@ -125,6 +125,17 @@ fn main() {
                 }
             }
 
+            Ok(Bincode(BincodeRequest::GetDeviceCaps)) => {
+                let result = wl
+                    .get_device_caps()
+                    .into_iter()
+                    .map(|c| RemotePciCapability::from(&*c))
+                    .collect();
+                if let Err(e) = msg_socket.send(BincodeResponse::GetDeviceCaps(result)) {
+                    panic!("responding to GetDeviceCaps failed: {}", e);
+                }
+            }
+
             Ok(MsgOnSocket(msg @ MsgOnSocketRequest::Create { .. })) => {
                 panic!("unexpected message {:?}", msg)
             }