Merge changes Ie60a211e,Id9923d05 into main
* changes:
Allow `null` kernels in VirtualMachineConfig
Pass the bootloader through to AVF in vmlauncher_app
diff --git a/demo/java/com/android/microdroid/demo/MainActivity.java b/demo/java/com/android/microdroid/demo/MainActivity.java
index f27b23b..906d18e 100644
--- a/demo/java/com/android/microdroid/demo/MainActivity.java
+++ b/demo/java/com/android/microdroid/demo/MainActivity.java
@@ -76,8 +76,10 @@
model.stop();
} else {
CheckBox debugModeCheckBox = findViewById(R.id.debugMode);
+ CheckBox protectedModeCheckBox = findViewById(R.id.protectedMode);
final boolean debug = debugModeCheckBox.isChecked();
- model.run(debug);
+ final boolean protectedVm = protectedModeCheckBox.isChecked();
+ model.run(debug, protectedVm);
}
});
@@ -157,7 +159,7 @@
}
/** Runs a VM */
- public void run(boolean debug) {
+ public void run(boolean debug, boolean protectedVm) {
// Create a VM and run it.
mExecutorService = Executors.newFixedThreadPool(4);
@@ -243,7 +245,8 @@
VirtualMachineConfig.Builder builder =
new VirtualMachineConfig.Builder(getApplication());
builder.setPayloadBinaryName("MicrodroidTestNativeLib.so");
- builder.setProtectedVm(true);
+ builder.setProtectedVm(protectedVm);
+
if (debug) {
builder.setDebugLevel(VirtualMachineConfig.DEBUG_LEVEL_FULL);
builder.setVmOutputCaptured(true);
diff --git a/demo/res/layout/activity_main.xml b/demo/res/layout/activity_main.xml
index f0e35d6..baa7b1f 100644
--- a/demo/res/layout/activity_main.xml
+++ b/demo/res/layout/activity_main.xml
@@ -31,6 +31,13 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Debug mode" />
+
+ <CheckBox
+ android:id="@+id/protectedMode"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Protected vm" />
</LinearLayout>
<TextView
diff --git a/libs/libfdt/src/libfdt.rs b/libs/libfdt/src/libfdt.rs
index 1af9edf..9ddfbaa 100644
--- a/libs/libfdt/src/libfdt.rs
+++ b/libs/libfdt/src/libfdt.rs
@@ -311,6 +311,7 @@
}
/// Safe wrapper around `fdt_open_into()` (C function).
+ #[allow(dead_code)]
fn open_into(&self, dest: &mut [u8]) -> Result<()> {
let fdt = self.as_fdt_slice().as_ptr().cast();
diff --git a/virtualizationmanager/src/aidl.rs b/virtualizationmanager/src/aidl.rs
index f939678..f1509e2 100644
--- a/virtualizationmanager/src/aidl.rs
+++ b/virtualizationmanager/src/aidl.rs
@@ -908,14 +908,14 @@
append_kernel_param("androidboot.microdroid.mount_vendor=1", &mut vm_config)
}
- vm_config.devices = custom_config.devices.clone();
+ vm_config.devices.clone_from(&custom_config.devices);
}
if config.memoryMib > 0 {
vm_config.memoryMib = config.memoryMib;
}
- vm_config.name = config.name.clone();
+ vm_config.name.clone_from(&config.name);
vm_config.protectedVm = config.protectedVm;
vm_config.cpuTopology = config.cpuTopology;