diff --git a/build/toolchain/embedded.gni b/build/toolchain/embedded.gni
index 8971029..d96d86e 100644
--- a/build/toolchain/embedded.gni
+++ b/build/toolchain/embedded.gni
@@ -232,6 +232,12 @@
          "\"max_cpus\" must be defined for ${target_name}.")
   assert(defined(invoker.max_vms),
          "\"max_vms\" must be defined for ${target_name}.")
+  if (invoker.gic_version == 3 || invoker.gic_version == 4) {
+    assert(defined(invoker.gicd_base_address),
+           "\"gicd_base_address\" must be defined for ${target_name}.")
+    assert(defined(invoker.gicr_base_address),
+           "\"gicr_base_address\" must be defined for ${target_name}.")
+  }
 
   embedded_platform_toolchain(target_name) {
     forward_variables_from(invoker,
@@ -246,10 +252,17 @@
     tool_prefix = "aarch64-linux-gnu-"  # TODO: this isn't right for bare metal but it works.
     extra_cflags = "-mcpu=${invoker.cpu} -mstrict-align"
 
+    extra_defines = ""
     if (invoker.use_pl011) {
       assert(defined(invoker.pl011_base_address),
              "\"pl011_base_address\" must be defined for ${target_name}.")
-      extra_defines = "-DPL011_BASE=${invoker.pl011_base_address}"
+      extra_defines += " -DPL011_BASE=${invoker.pl011_base_address}"
+    }
+    if (invoker.gic_version > 0) {
+      extra_defines += " -DGIC_VERSION=${invoker.gic_version}"
+    }
+    if (invoker.gic_version == 3 || invoker.gic_version == 4) {
+      extra_defines += " -DGICD_BASE=${invoker.gicd_base_address} -DGICR_BASE=${invoker.gicr_base_address}"
     }
 
     toolchain_args = {
diff --git a/project/reference b/project/reference
index 75da2d1..f1aa19e 160000
--- a/project/reference
+++ b/project/reference
@@ -1 +1 @@
-Subproject commit 75da2d171f0641c9a637885423c2ece8a1d08015
+Subproject commit f1aa19eba6b8160cac7b4c4f2368b2885df2621c
diff --git a/src/arch/aarch64/hftest/BUILD.gn b/src/arch/aarch64/hftest/BUILD.gn
index 63ff813..dca75b0 100644
--- a/src/arch/aarch64/hftest/BUILD.gn
+++ b/src/arch/aarch64/hftest/BUILD.gn
@@ -39,3 +39,12 @@
     "//src/arch/aarch64:smc",
   ]
 }
+
+# Exception handlers for interrupts
+source_set("interrupts_gicv3") {
+  testonly = true
+  sources = [
+    "exceptions.S",
+    "interrupts_gicv3.c",
+  ]
+}
diff --git a/test/vmapi/exceptions.S b/src/arch/aarch64/hftest/exceptions.S
similarity index 100%
rename from test/vmapi/exceptions.S
rename to src/arch/aarch64/hftest/exceptions.S
diff --git a/test/vmapi/interrupts.c b/src/arch/aarch64/hftest/interrupts_gicv3.c
similarity index 98%
rename from test/vmapi/interrupts.c
rename to src/arch/aarch64/hftest/interrupts_gicv3.c
index 1c09532..01d331d 100644
--- a/test/vmapi/interrupts.c
+++ b/src/arch/aarch64/hftest/interrupts_gicv3.c
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "interrupts.h"
+#include "hf/arch/vm/interrupts_gicv3.h"
 
 #include <stdbool.h>
 #include <stdint.h>
diff --git a/test/vmapi/interrupts.h b/src/arch/aarch64/inc/hf/arch/vm/interrupts_gicv3.h
similarity index 94%
rename from test/vmapi/interrupts.h
rename to src/arch/aarch64/inc/hf/arch/vm/interrupts_gicv3.h
index 01663e5..a581964 100644
--- a/test/vmapi/interrupts.h
+++ b/src/arch/aarch64/inc/hf/arch/vm/interrupts_gicv3.h
@@ -19,8 +19,10 @@
 #include <stdbool.h>
 #include <stdint.h>
 
-#define GICD_BASE 0x08000000
-#define GICR_BASE 0x080A0000
+#if GIC_VERSION != 3 && GIC_VERSION != 4
+#error This header should only be included for GICv3 or v4.
+#endif
+
 #define SGI_BASE (GICR_BASE + 0x10000)
 
 #define GICD_CTLR (*(volatile uint32_t *)(GICD_BASE + 0x0000))
diff --git a/test/vmapi/BUILD.gn b/test/vmapi/BUILD.gn
index 84feced..b8277f5 100644
--- a/test/vmapi/BUILD.gn
+++ b/test/vmapi/BUILD.gn
@@ -48,12 +48,11 @@
   testonly = true
 
   sources = [
-    "exceptions.S",
     "gicv3.c",
-    "interrupts.c",
   ]
 
   deps = [
+    "//src/arch/${plat_arch}/hftest:interrupts_gicv3",
     "//test/hftest:hftest_primary_vm",
   ]
 }
diff --git a/test/vmapi/gicv3.c b/test/vmapi/gicv3.c
index 5d54efe..fdf485c 100644
--- a/test/vmapi/gicv3.c
+++ b/test/vmapi/gicv3.c
@@ -14,13 +14,14 @@
  * limitations under the License.
  */
 
+#include "hf/arch/vm/interrupts_gicv3.h"
+
 #include "hf/dlog.h"
 
 #include "vmapi/hf/call.h"
 
 #include "../msr.h"
 #include "hftest.h"
-#include "interrupts.h"
 
 #define PPI_IRQ_BASE 16
 #define PHYSICAL_TIMER_IRQ (PPI_IRQ_BASE + 14)
