diff options
author | Sonny Rao <sonnyrao@chromium.org> | 2018-02-12 19:38:35 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-02-26 22:07:15 -0800 |
commit | 8836bb51a23163c8d8fb55fbd271f619010d7f00 (patch) | |
tree | 0c42623cf2757259a9bd4bcb77c40bafa3cf1987 | |
parent | 42d194de3f8211746c9d37f3ee4e35a4fffaac48 (diff) | |
download | crosvm-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.lock | 13 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rwxr-xr-x | build_test.py | 1 | ||||
-rw-r--r-- | device_manager/Cargo.toml | 14 | ||||
-rw-r--r-- | device_manager/src/device_manager.rs (renamed from src/device_manager.rs) | 14 | ||||
-rw-r--r-- | src/main.rs | 2 |
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; |