Build: support kernels for VMs.

This shares some common code with the hypervisor to build a kernel that
can boot in a VM.

The basic entry code to set up the loaded image is common and image
specific entry starts at `image_entry`. The UART driver and debug
printing are also shared.

Change-Id: Ic0003d58bd2044add716212247ddeb38c07d2b4c
diff --git a/BUILD.gn b/BUILD.gn
index 8b03250..6d5dae0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1,6 +1,15 @@
-import("//build/image/hypervisor.gni")
+import("//build/image/image.gni")
 
 group("arch_images") {
+  testonly = true
+
+  deps = [
+    ":hypervisor",
+    "//test/vm:test_vm($arch_toolchain)",
+  ]
+}
+
+group("hypervisor") {
   deps = [
     ":hafnium($arch_toolchain)",
   ]