From 98d69a42870030ad533dd8eda5da817430c2b71c Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 26 Mar 2020 11:54:48 +0000 Subject: send wl::Params over socket --- src/linux.rs | 10 ++++++---- src/wl.rs | 21 ++++++--------------- 2 files changed, 12 insertions(+), 19 deletions(-) (limited to 'src') 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() { -- cgit 1.4.1