Enable exception handlers by default in tests.

This will give more useful error messages when tests fail due to
memory faults or other EL1 exceptions.

Bug: 143755046
Change-Id: I5833ab65ac7d44f69118eb004f03cdcedc365874
diff --git a/src/arch/aarch64/hftest/BUILD.gn b/src/arch/aarch64/hftest/BUILD.gn
index a06ef24..a801bd1 100644
--- a/src/arch/aarch64/hftest/BUILD.gn
+++ b/src/arch/aarch64/hftest/BUILD.gn
@@ -38,7 +38,10 @@
 # Exception handlers for interrupts.
 source_set("interrupts") {
   testonly = true
-  public_configs = [ "//src/arch/aarch64:config" ]
+  public_configs = [
+    "//src/arch/aarch64:config",
+    "//test/hftest:hftest_config",
+  ]
   sources = [
     "events.c",
     "exceptions.S",
diff --git a/src/arch/aarch64/hftest/interrupts.c b/src/arch/aarch64/hftest/interrupts.c
index 507552f..f3fa2e5 100644
--- a/src/arch/aarch64/hftest/interrupts.c
+++ b/src/arch/aarch64/hftest/interrupts.c
@@ -20,6 +20,7 @@
 
 #include "hf/dlog.h"
 
+#include "hftest.h"
 #include "msr.h"
 
 extern uint8_t vector_table_el1;
@@ -29,6 +30,8 @@
 {
 	if (irq_callback != NULL) {
 		irq_callback();
+	} else {
+		FAIL("Got unexpected interrupt.\n");
 	}
 }
 
diff --git a/test/hftest/BUILD.gn b/test/hftest/BUILD.gn
index 81525a2..f73272a 100644
--- a/test/hftest/BUILD.gn
+++ b/test/hftest/BUILD.gn
@@ -100,6 +100,7 @@
     "//src:memiter",
     "//src/arch/${plat_arch}:entry",
     "//src/arch/${plat_arch}/hftest:entry",
+    "//src/arch/${plat_arch}/hftest:interrupts",
     "//src/arch/${plat_arch}/hftest:power_mgmt",
   ]
 }
diff --git a/test/hftest/standalone_main.c b/test/hftest/standalone_main.c
index 63edf1e..f42c71b 100644
--- a/test/hftest/standalone_main.c
+++ b/test/hftest/standalone_main.c
@@ -17,6 +17,8 @@
 #include <stdalign.h>
 #include <stdint.h>
 
+#include "hf/arch/vm/interrupts.h"
+
 #include "hf/fdt.h"
 #include "hf/memiter.h"
 #include "hf/mm.h"
@@ -45,6 +47,12 @@
 		return;
 	}
 
+	/*
+	 * Install the exception handler with no IRQ callback for now, so that
+	 * exceptions are logged.
+	 */
+	exception_setup(NULL);
+
 	hftest_use_list(hftest_begin, hftest_end - hftest_begin);
 
 	if (!fdt_root_node(&n, fdt)) {