kernel: arm64: Add Branch Target Exception handler.
Bug: 260397427
Test: build.py qemu-generic-arm64-test-debug
Test: build.py qemu-generic-arm32-test-debug
Change-Id: I9ea9a454e231546b84547d3c9a82e4dcc4b30e12
diff --git a/arch/arm64/exceptions_c.c b/arch/arm64/exceptions_c.c
index 3496117..89f49db 100644
--- a/arch/arm64/exceptions_c.c
+++ b/arch/arm64/exceptions_c.c
@@ -494,6 +494,16 @@
print_fault_code(dfsc, far);
break;
}
+ case 0b001101: { /* branch target exception */
+#if TEST_BUILD
+ if (check_fault_handler_table(iframe)) {
+ return;
+ }
+#endif
+ printf("branch target exception: BTYPE=0x%lx, "
+ "PC at 0x%" PRIx64 "(0x%lx)\n", BITS(iss, 1, 0), iframe->elr, display_pc);
+ break;
+ }
case 0b111100: {
printf("BRK #0x%04lx instruction: PC at 0x%" PRIx64 "(0x%lx)\n",
BITS_SHIFT(iss, 15, 0), iframe->elr, display_pc);