Export tombstones by default for debuggable VMs
VM config's export_tombstones is now optional. Default is true for
debuggable VMs, false for non-debuggable VMs.
Bug: 250165198
Test: atest MicrodroidHostTestCases
Change-Id: I818bcf3446b5bf7f560487265d82cd08f97c277e
diff --git a/microdroid_manager/src/main.rs b/microdroid_manager/src/main.rs
index 13bc9e3..4f6b4a7 100644
--- a/microdroid_manager/src/main.rs
+++ b/microdroid_manager/src/main.rs
@@ -347,6 +347,13 @@
!Path::new(DEBUG_MICRODROID_NO_VERIFIED_BOOT).exists()
}
+fn should_export_tombstones(config: &VmPayloadConfig) -> bool {
+ match config.export_tombstones {
+ Some(b) => b,
+ None => system_properties::read_bool(DEBUGGABLE_PROP, true).unwrap_or(false),
+ }
+}
+
fn try_run_payload(service: &Strong<dyn IVirtualMachineService>) -> Result<i32> {
let metadata = load_metadata().context("Failed to load payload metadata")?;
let dice = DiceDriver::new(Path::new("/dev/open-dice0")).context("Failed to load DICE")?;
@@ -456,7 +463,7 @@
setup_config_sysprops(&config)?;
// Start tombstone_transmit if enabled
- if config.export_tombstones {
+ if should_export_tombstones(&config) {
system_properties::write("tombstone_transmit.start", "1")
.context("set tombstone_transmit.start")?;
} else {
@@ -481,7 +488,7 @@
.context("set microdroid_manager.init_done")?;
// Wait for tombstone_transmit to init
- if config.export_tombstones {
+ if should_export_tombstones(&config) {
wait_for_tombstone_transmit_done()?;
}
@@ -813,7 +820,7 @@
apexes: vec![],
extra_apks: vec![],
prefer_staged: false,
- export_tombstones: false,
+ export_tombstones: None,
enable_authfs: false,
})
}