Introduce VirtualMachineAppConfig::CustomConfig struct
This struct contains all the parameters that require
USE_CUSTOM_VIRTUAL_MACHINE permission.
Bug: 286225150
Test: atest MicrodroidTestApp
Change-Id: I3d78459c47dc6848642692106847544268e9e4e0
diff --git a/vm/src/run.rs b/vm/src/run.rs
index 54c1de4..663fa25 100644
--- a/vm/src/run.rs
+++ b/vm/src/run.rs
@@ -19,7 +19,10 @@
CpuTopology::CpuTopology,
IVirtualizationService::IVirtualizationService,
PartitionType::PartitionType,
- VirtualMachineAppConfig::{DebugLevel::DebugLevel, Payload::Payload, VirtualMachineAppConfig},
+ VirtualMachineAppConfig::{
+ CustomConfig::CustomConfig, DebugLevel::DebugLevel, Payload::Payload,
+ VirtualMachineAppConfig,
+ },
VirtualMachineConfig::VirtualMachineConfig,
VirtualMachinePayloadConfig::VirtualMachinePayloadConfig,
VirtualMachineState::VirtualMachineState,
@@ -136,6 +139,12 @@
let payload_config_str = format!("{:?}!{:?}", apk, payload);
+ let custom_config = CustomConfig {
+ customKernelImage: kernel,
+ gdbPort: gdb.map(u16::from).unwrap_or(0) as i32, // 0 means no gdb
+ taskProfiles: task_profiles,
+ };
+
let config = VirtualMachineConfig::AppConfig(VirtualMachineAppConfig {
name: name.unwrap_or_else(|| String::from("VmRunApp")),
apk: apk_fd.into(),
@@ -148,9 +157,7 @@
protectedVm: protected,
memoryMib: mem.unwrap_or(0) as i32, // 0 means use the VM default
cpuTopology: cpu_topology,
- taskProfiles: task_profiles,
- gdbPort: gdb.map(u16::from).unwrap_or(0) as i32, // 0 means no gdb
- customKernelImage: kernel,
+ customConfig: Some(custom_config),
});
run(service, &config, &payload_config_str, console_path, log_path)
}