summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-03-26 11:54:48 +0000
committerAlyssa Ross <hi@alyssa.is>2020-06-15 09:37:22 +0000
commit98d69a42870030ad533dd8eda5da817430c2b71c (patch)
tree2f75316c682b4d0588c7c87faf142c064fb37f3c /src
parent353b1d9091b9095282463f36e26643506e2d2897 (diff)
downloadcrosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.gz
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.bz2
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.lz
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.xz
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.zst
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.zip
send wl::Params over socket
Diffstat (limited to 'src')
-rw-r--r--src/linux.rs10
-rw-r--r--src/wl.rs21
2 files changed, 12 insertions, 19 deletions
diff --git a/src/linux.rs b/src/linux.rs
index 7bd4679..a416a3e 100644
--- a/src/linux.rs
+++ b/src/linux.rs
@@ -31,7 +31,7 @@ use acpi_tables::sdt::SDT;
 
 #[cfg(feature = "gpu")]
 use devices::virtio::EventDevice;
-use devices::virtio::{self, Console, VirtioDevice};
+use devices::virtio::{self, Console, Params, VirtioDevice};
 use devices::{
     self, Ac97Backend, Ac97Dev, Bus, HostBackendDeviceProvider, PciDevice, VfioContainer,
     VfioDevice, VfioPciDevice, VirtioPciDevice, XhciController,
@@ -772,9 +772,11 @@ fn create_wayland_device(
     let seq_socket = UnixSeqpacket::connect(&path).expect("connect failed");
     let msg_socket = msg_socket2::Socket::new(seq_socket);
     let dev = virtio::Controller::create(
-        cfg.wayland_socket_paths.clone(),
-        socket,
-        resource_bridge,
+        Params {
+            wayland_paths: cfg.wayland_socket_paths.clone(),
+            vm_socket: socket,
+            resource_bridge,
+        },
         memory_params,
         msg_socket,
     )
diff --git a/src/wl.rs b/src/wl.rs
index 45dfbee..8ae8856 100644
--- a/src/wl.rs
+++ b/src/wl.rs
@@ -1,11 +1,10 @@
 // SPDX-License-Identifier: BSD-3-Clause
 
 use devices::virtio::{
-    InterruptProxy, InterruptProxyEvent, Params, RemotePciCapability, Request, Response,
-    VirtioDevice, VirtioDeviceNew, Wl,
+    InterruptProxy, InterruptProxyEvent, RemotePciCapability, Request, Response, VirtioDevice,
+    VirtioDeviceNew, Wl,
 };
 use msg_socket::MsgSocket;
-use std::collections::BTreeMap;
 use std::fs::remove_file;
 use sys_util::{error, net::UnixSeqpacketListener, GuestMemory};
 
@@ -30,11 +29,11 @@ fn main() {
     let conn = server.accept().expect("accept failed");
     let msg_socket: Socket = msg_socket2::Socket::new(conn);
 
-    let (vm_socket, memory_params) = match msg_socket.recv() {
+    let (device_params, memory_params) = match msg_socket.recv() {
         Ok(Request::Create {
-            vm_socket,
+            device_params,
             memory_params,
-        }) => (MsgSocket::new(vm_socket.owned()), memory_params),
+        }) => (device_params, memory_params),
 
         Ok(msg) => {
             panic!("received unexpected message: {:?}", msg);
@@ -45,15 +44,7 @@ fn main() {
         }
     };
 
-    let mut wayland_paths = BTreeMap::new();
-    wayland_paths.insert("".into(), "/run/user/1000/wayland-0".into());
-
-    let mut wl = Wl::new(Params {
-        wayland_paths,
-        vm_socket,
-        resource_bridge: None,
-    })
-    .unwrap();
+    let mut wl = Wl::new(device_params).unwrap();
 
     loop {
         match msg_socket.recv() {