[test spec] Add vim2 environments for bring-up.

Test: `gn gen` yields test specs with vim2 environments with label
"vim2"
Bug: IN-571

Change-Id: I00d182ea8b0c3ccdbcbeddae2ac90983f3344586
diff --git a/package.gni b/package.gni
index 2251e4d..e7bc4e3 100644
--- a/package.gni
+++ b/package.gni
@@ -492,9 +492,9 @@
                 ]
               }
 
-              # TODO(joshuaseaton): This is temporary until we are confident that all
-              # tests that need to specify hardware are doing so.
               if (current_cpu == "x64") {
+                # TODO(joshuaseaton): This is temporary until we are confident that all
+                # tests that need to specify hardware are doing so.
                 environments += [
                   {
                     dimensions = {
@@ -502,6 +502,16 @@
                     }
                   },
                 ]
+              } else if (current_cpu == "arm64") {
+                # TODO(IN-571): Remove after vim2s are ready to be targeted.
+                environments += [
+                  {
+                    dimensions = {
+                      device_type = "Khadas Vim2 Max"
+                    }
+                    label = "vim2"
+                  },
+                ]
               }
             }
           }
diff --git a/testing/platforms.gni b/testing/platforms.gni
index 2f33708..5d62fe8 100644
--- a/testing/platforms.gni
+++ b/testing/platforms.gni
@@ -36,4 +36,10 @@
     device_type = "Intel NUC Kit NUC7i5DNHE"
     cpu = "x64"
   },
+
+  # Experimental. May not yet be targeted. See IN-571.
+  {
+    device_type = "Khadas Vim2 Max"
+    cpu = "arm64"
+  },
 ]
diff --git a/testing/test_spec.gni b/testing/test_spec.gni
index 8973f09..cd4612d 100644
--- a/testing/test_spec.gni
+++ b/testing/test_spec.gni
@@ -139,6 +139,16 @@
     environments = target_envs
   }
 
+  # TODO(IN-571): Delete this block once vim2s are ready to be targeted.
+  foreach(env, target_envs) {
+    dims = []  # Clear from previous iteration.
+    dims = env.dimensions
+    if (defined(dims.device_type) && dims.device_type == "Khadas Vim2 Max") {
+      assert(defined(env.label) && env.label == "vim2",
+             "vim2s may not yet be targeted.")
+    }
+  }
+
   # We take the basename just to make sure no other path components are given
   # in the name, for which we have no guarantees.
   target_base_name = get_path_info(target_name, "name")