Merge "Log to logcat."
diff --git a/apex/Android.bp b/apex/Android.bp
index 50c17f6..fa3806f 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -17,17 +17,20 @@
arch: {
arm64: {
binaries: [
+ "authfs", // TODO(victorhsieh): move to microdroid once we can run the test in VM.
"crosvm",
],
},
x86_64: {
binaries: [
+ "authfs", // TODO(victorhsieh): move to microdroid once we can run the test in VM.
"crosvm",
],
},
},
binaries: [
"assemble_cvd",
+ "fd_server",
"virtmanager",
"vm",
],
diff --git a/authfs/Android.bp b/authfs/Android.bp
index 9f7be93..4a20a0c 100644
--- a/authfs/Android.bp
+++ b/authfs/Android.bp
@@ -39,11 +39,13 @@
],
bindgen_flags: ["--size_t-is-usize"],
cflags: ["-D BORINGSSL_NO_CXX"],
+ apex_available: ["com.android.virt"],
}
rust_binary {
name: "authfs",
defaults: ["authfs_defaults"],
+ apex_available: ["com.android.virt"],
}
rust_test {
diff --git a/authfs/aidl/Android.bp b/authfs/aidl/Android.bp
index 7f3c968..35a3c4a 100644
--- a/authfs/aidl/Android.bp
+++ b/authfs/aidl/Android.bp
@@ -9,6 +9,7 @@
backend: {
rust: {
enabled: true,
+ apex_available: ["com.android.virt"],
},
},
}
diff --git a/authfs/fd_server/Android.bp b/authfs/fd_server/Android.bp
index f12f01f..6f010ce 100644
--- a/authfs/fd_server/Android.bp
+++ b/authfs/fd_server/Android.bp
@@ -13,4 +13,5 @@
"liblibc",
"liblog_rust",
],
+ apex_available: ["com.android.virt"],
}
diff --git a/virtmanager/src/aidl.rs b/virtmanager/src/aidl.rs
index 1b3819f..b7595a9 100644
--- a/virtmanager/src/aidl.rs
+++ b/virtmanager/src/aidl.rs
@@ -14,7 +14,7 @@
//! Implementation of the AIDL interface of the Virt Manager.
-use crate::config::load_vm_config;
+use crate::config::VmConfig;
use crate::crosvm::VmInstance;
use crate::{Cid, FIRST_GUEST_CID};
use android_system_virtmanager::aidl::android::system::virtmanager::IVirtManager::IVirtManager;
@@ -141,7 +141,7 @@
/// Start a new VM instance from the given VM config filename. This assumes the VM is not already
/// running.
fn start_vm(config_path: &str, cid: Cid) -> binder::Result<VmInstance> {
- let config = load_vm_config(config_path).map_err(|e| {
+ let config = VmConfig::load(config_path).map_err(|e| {
error!("Failed to load VM config {}: {:?}", config_path, e);
StatusCode::BAD_VALUE
})?;
diff --git a/virtmanager/src/config.rs b/virtmanager/src/config.rs
index c0d23f0..d8cb06f 100644
--- a/virtmanager/src/config.rs
+++ b/virtmanager/src/config.rs
@@ -49,6 +49,13 @@
}
Ok(())
}
+
+ /// Load the configuration for a VM from the given JSON file.
+ pub fn load(path: &str) -> Result<VmConfig, Error> {
+ let file = File::open(path).with_context(|| format!("Failed to open {}", path))?;
+ let buffered = BufReader::new(file);
+ Ok(serde_json::from_reader(buffered)?)
+ }
}
/// A disk image to be made available to the VM.
@@ -59,10 +66,3 @@
/// Whether this disk should be writable by the VM.
pub writable: bool,
}
-
-/// Load the configuration for the VM with the given ID from a JSON file.
-pub fn load_vm_config(path: &str) -> Result<VmConfig, Error> {
- let file = File::open(path).with_context(|| format!("Failed to open {}", path))?;
- let buffered = BufReader::new(file);
- Ok(serde_json::from_reader(buffered)?)
-}