Infrastructure for running tests under Linux in primary VM.

Includes an initial test of simply inserting and removing the Hafnium
kernel module.

Change-Id: I832a30d902f58ca71f89374300ab39b2ba3ab877
diff --git a/driver/BUILD.gn b/driver/BUILD.gn
new file mode 100644
index 0000000..f6f4119
--- /dev/null
+++ b/driver/BUILD.gn
@@ -0,0 +1,39 @@
+# Copyright 2019 The Hafnium Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+action("linux") {
+  script = "//build/make.py"
+  args = [
+    "--directory",
+    rebase_path("linux"),
+    "--out_file",
+    "hafnium.ko",
+    "--copy_out_file",
+    rebase_path("${target_out_dir}/linux/hafnium.ko"),
+    "CC=" + rebase_path("//prebuilts/linux-x64/clang/bin/clang"),
+    "ARCH=arm64",
+    "CROSS_COMPILE=aarch64-linux-gnu-",
+  ]
+  sources = [
+    "linux/Makefile",
+    "linux/hf_call.S",
+    "linux/main.c",
+  ]
+  outputs = [
+    "${target_out_dir}/linux/hafnium.ko",
+  ]
+  deps = [
+    "//third_party:linux_defconfig",
+  ]
+}