Merge "Add the DICE HAL to the compatibility matrix"
diff --git a/compos/composd/src/instance_manager.rs b/compos/composd/src/instance_manager.rs
index e8c1d9a..2f15cb5 100644
--- a/compos/composd/src/instance_manager.rs
+++ b/compos/composd/src/instance_manager.rs
@@ -43,22 +43,14 @@
     }
 
     pub fn start_pending_instance(&self) -> Result<Arc<CompOsInstance>> {
-        let config_path = Some(PREFER_STAGED_VM_CONFIG_PATH.to_owned());
-        let mut vm_parameters = VmParameters { config_path, ..Default::default() };
-        vm_parameters.cpus = match system_properties::read(DEX2OAT_THREADS_PROP_NAME) {
-            Ok(s) => Some(NonZeroU32::from_str(&s)?),
-            Err(_) => {
-                // dex2oat uses all CPUs by default. To match the behavior, give the VM all CPUs by
-                // default.
-                NonZeroU32::new(num_cpus::get() as u32)
-            }
-        };
-        vm_parameters.cpu_set = system_properties::read(DEX2OAT_CPU_SET_PROP_NAME).ok();
+        let mut vm_parameters = new_vm_parameters()?;
+        vm_parameters.config_path = Some(PREFER_STAGED_VM_CONFIG_PATH.to_owned());
         self.start_instance(PENDING_INSTANCE_DIR, vm_parameters)
     }
 
     pub fn start_test_instance(&self) -> Result<Arc<CompOsInstance>> {
-        let vm_parameters = VmParameters { debug_mode: true, ..Default::default() };
+        let mut vm_parameters = new_vm_parameters()?;
+        vm_parameters.debug_mode = true;
         self.start_instance(TEST_INSTANCE_DIR, vm_parameters)
     }
 
@@ -90,6 +82,19 @@
     }
 }
 
+fn new_vm_parameters() -> Result<VmParameters> {
+    let cpus = match system_properties::read(DEX2OAT_THREADS_PROP_NAME) {
+        Ok(s) => Some(NonZeroU32::from_str(&s)?),
+        Err(_) => {
+            // dex2oat uses all CPUs by default. To match the behavior, give the VM all CPUs by
+            // default.
+            NonZeroU32::new(num_cpus::get() as u32)
+        }
+    };
+    let cpu_set = system_properties::read(DEX2OAT_CPU_SET_PROP_NAME).ok();
+    Ok(VmParameters { cpus, cpu_set, ..Default::default() })
+}
+
 // Ensures we only run one instance at a time.
 // Valid states:
 // Starting: is_starting is true, running_instance is None.
diff --git a/microdroid/microdroid.json b/microdroid/microdroid.json
index c6c743d..0c294e9 100644
--- a/microdroid/microdroid.json
+++ b/microdroid/microdroid.json
@@ -37,6 +37,6 @@
       "writable": true
     }
   ],
-  "memory_mib": 2048,
+  "memory_mib": 256,
   "protected": false
 }
diff --git a/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl b/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
index 6562159..6f3d4f0 100644
--- a/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
+++ b/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
@@ -28,9 +28,6 @@
     /**
      * Register a Binder object to get callbacks when the state of the VM changes, such as if it
      * dies.
-     *
-     * TODO(jiyong): this should be registered when IVirtualizationService.run is called. Otherwise,
-     * we might miss some events that happen before the registration is done.
      */
     void registerCallback(IVirtualMachineCallback callback);
 
diff --git a/virtualizationservice/src/payload.rs b/virtualizationservice/src/payload.rs
index e4a763c..c661d44 100644
--- a/virtualizationservice/src/payload.rs
+++ b/virtualizationservice/src/payload.rs
@@ -113,7 +113,6 @@
 }
 
 struct PackageManager {
-    // TODO(b/199146189) use IPackageManagerNative
     apex_info_list: &'static ApexInfoList,
 }