Merge "Run Microdroid tests with less amount of RAM"
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 87d8e39..c4ee878 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -16,6 +16,11 @@
       "name": "art_standalone_dexpreopt_tests"
     }
   ],
+  "postsubmit": [
+    {
+      "name": "odsign_e2e_tests"
+    }
+  ],
   "imports": [
     {
       "path": "packages/modules/Virtualization/apkdmverity"
diff --git a/compos/src/compilation.rs b/compos/src/compilation.rs
index 50d79c1..4837029 100644
--- a/compos/src/compilation.rs
+++ b/compos/src/compilation.rs
@@ -151,6 +151,7 @@
 
     let mut args = vec![
         "odrefresh".to_string(),
+        "--compilation-os-mode".to_string(),
         format!("--zygote-arch={}", context.zygote_arch),
         format!("--dalvik-cache={}", context.target_dir_name),
         format!("--staging-dir={}", staging_dir.display()),
@@ -163,7 +164,8 @@
             context.system_server_compiler_filter
         ));
     }
-    args.push("--force-compile".to_string());
+
+    args.push("--compile".to_string());
 
     debug!("Running odrefresh with args: {:?}", &args);
     let jail = spawn_jailed_task(odrefresh_path, &args, Vec::new() /* fd_mapping */)
diff --git a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
index 2ced5b0..7d1f9b0 100644
--- a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -52,7 +52,7 @@
     private static final String KEY_PAYLOADCONFIGPATH = "payloadConfigPath";
     private static final String KEY_DEBUGLEVEL = "debugLevel";
     private static final String KEY_MEMORY_MIB = "memoryMib";
-    private static final String KEY_NUM_CPUS = "numCpu";
+    private static final String KEY_NUM_CPUS = "numCpus";
     private static final String KEY_CPU_AFFINITY = "cpuAffinity";
 
     // Paths to the APK file of this application.
@@ -296,7 +296,7 @@
             }
 
             final int availableCpus = Runtime.getRuntime().availableProcessors();
-            if (mNumCpus < 0 || mNumCpus > availableCpus) {
+            if (mNumCpus < 1 || mNumCpus > availableCpus) {
                 throw new IllegalArgumentException("Number of vCPUs (" + mNumCpus + ") is out of "
                         + "range [1, " + availableCpus + "]");
             }