summary refs log tree commit diff
diff options
context:
space:
mode:
authorSonny Rao <sonnyrao@chromium.org>2018-02-12 19:38:35 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-02-26 22:07:15 -0800
commit8836bb51a23163c8d8fb55fbd271f619010d7f00 (patch)
tree0c42623cf2757259a9bd4bcb77c40bafa3cf1987
parent42d194de3f8211746c9d37f3ee4e35a4fffaac48 (diff)
downloadcrosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.tar
crosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.tar.gz
crosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.tar.bz2
crosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.tar.lz
crosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.tar.xz
crosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.tar.zst
crosvm-8836bb51a23163c8d8fb55fbd271f619010d7f00.zip
crosvm: move device_manager to it's own crate
I will be refactoring this code to mostly live in the architecture
code, but for now it's simpler to move it out into it's own crate.

BUG=chromium:797868
TEST=./build_test passes on all architectures
TEST=crosvm runs on caroline

Change-Id: I85c12696fcd5cbef6a72a6dcbc484a443e0b0784
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/933084
-rw-r--r--Cargo.lock13
-rw-r--r--Cargo.toml1
-rwxr-xr-xbuild_test.py1
-rw-r--r--device_manager/Cargo.toml14
-rw-r--r--device_manager/src/device_manager.rs (renamed from src/device_manager.rs)14
-rw-r--r--src/main.rs2
6 files changed, 38 insertions, 7 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 7be1203..523e4e3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -20,6 +20,7 @@ dependencies = [
  "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "crosvm_plugin 0.10.0",
  "data_model 0.1.0",
+ "device_manager 0.1.0",
  "devices 0.1.0",
  "io_jail 0.1.0",
  "kernel_cmdline 0.1.0",
@@ -56,6 +57,18 @@ name = "data_model"
 version = "0.1.0"
 
 [[package]]
+name = "device_manager"
+version = "0.1.0"
+dependencies = [
+ "devices 0.1.0",
+ "io_jail 0.1.0",
+ "kernel_cmdline 0.1.0",
+ "kvm 0.1.0",
+ "libc 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
 name = "devices"
 version = "0.1.0"
 dependencies = [
diff --git a/Cargo.toml b/Cargo.toml
index d00c58a..c0d1a1e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,6 +14,7 @@ plugin = ["plugin_proto", "crosvm_plugin", "protobuf"]
 
 [dependencies]
 devices = { path = "devices" }
+device_manager = { path = "device_manager" }
 io_jail = { path = "io_jail" }
 kvm = { path = "kvm" }
 kvm_sys = { path = "kvm_sys" }
diff --git a/build_test.py b/build_test.py
index 2dfefe4..f7a4a7e 100755
--- a/build_test.py
+++ b/build_test.py
@@ -28,6 +28,7 @@ X86_64_TRIPLE = os.getenv('X86_64_TRIPLE', 'x86_64-cros-linux-gnu')
 TEST_MODULES_PARALLEL = [
     'crosvm',
     'data_model',
+    'device_manager',
     'kernel_loader',
     'kvm',
     'kvm_sys',
diff --git a/device_manager/Cargo.toml b/device_manager/Cargo.toml
new file mode 100644
index 0000000..e6b3d15
--- /dev/null
+++ b/device_manager/Cargo.toml
@@ -0,0 +1,14 @@
+[package]
+name = "device_manager"
+version = "0.1.0"
+
+[dependencies]
+devices = { path = "../devices" }
+io_jail = { path = "../io_jail" }
+kvm = { path = "../kvm" }
+sys_util = { path = "../sys_util" }
+kernel_cmdline = { path = "../kernel_cmdline" }
+libc = "*"
+
+[lib]
+path = "src/device_manager.rs"
diff --git a/src/device_manager.rs b/device_manager/src/device_manager.rs
index 96d0ce2..f177f08 100644
--- a/src/device_manager.rs
+++ b/device_manager/src/device_manager.rs
@@ -4,6 +4,12 @@
 
 //! Manages jailing and connecting virtio devices to the system bus.
 
+extern crate devices;
+extern crate io_jail;
+extern crate kvm;
+extern crate sys_util;
+extern crate kernel_cmdline;
+
 use std::fmt;
 use std::os::unix::io::{AsRawFd, RawFd};
 use std::sync::{Arc, Mutex};
@@ -11,10 +17,6 @@ use std::sync::{Arc, Mutex};
 use io_jail::Minijail;
 use kvm::{Vm, IoeventAddress};
 use sys_util::{GuestMemory, syslog};
-use sys_util;
-
-use devices;
-use kernel_cmdline;
 
 /// Errors for device manager.
 #[derive(Debug)]
@@ -151,7 +153,7 @@ mod tests {
     use std::os::unix::io::RawFd;
     use sys_util::{EventFd, GuestAddress, GuestMemory};
     use kvm::*;
-    use device_manager;
+    use DeviceManager;
     use kernel_cmdline;
     use devices;
 
@@ -195,7 +197,7 @@ mod tests {
             .unwrap();
         let mut vm = Vm::new(&Kvm::new().unwrap(), guest_mem.clone()).unwrap();
         let mut device_manager =
-            device_manager::DeviceManager::new(&mut vm, guest_mem, 0x1000, 0xd0000000, 5);
+            DeviceManager::new(&mut vm, guest_mem, 0x1000, 0xd0000000, 5);
 
         let mut cmdline = kernel_cmdline::Cmdline::new(4096);
         let dummy_box = Box::new(DummyDevice { dummy: 0 });
diff --git a/src/main.rs b/src/main.rs
index 8b0506d..110435e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,6 +5,7 @@
 //! Runs a virtual machine under KVM
 
 extern crate devices;
+extern crate device_manager;
 extern crate libc;
 extern crate io_jail;
 extern crate kvm;
@@ -27,7 +28,6 @@ extern crate plugin_proto;
 extern crate protobuf;
 
 pub mod argument;
-pub mod device_manager;
 pub mod linux;
 #[cfg(feature = "plugin")]
 pub mod plugin;