summaryrefslogtreecommitdiff
path: root/bl1/aarch64
diff options
context:
space:
mode:
authorSandrine Bailleux <sandrine.bailleux@arm.com>2015-11-10 10:01:19 +0000
committerAchin Gupta <achin.gupta@arm.com>2015-11-26 21:31:59 +0000
commit35e8c7661ae12ac95bbf394b2b3d19d2c7d03369 (patch)
tree5d187ed7d28d05e09a9db8e2bfe6f64fd8508103 /bl1/aarch64
parentb39908af748fd273f28991f49c62eec775fce77c (diff)
Introduce SPIN_ON_BL1_EXIT build flag
This patch introduces a new build flag, SPIN_ON_BL1_EXIT, which puts an infinite loop in BL1. It is intended to help debugging the post-BL2 phase of the Trusted Firmware by stopping execution in BL1 just before handing over to BL31. At this point, the developer may take control of the target using a debugger. This feature is disabled by default and can be enabled by rebuilding BL1 with SPIN_ON_BL1_EXIT=1. User Guide updated accordingly. Change-Id: I6b6779d5949c9e5571dd371255520ef1ac39685c
Diffstat (limited to 'bl1/aarch64')
-rw-r--r--bl1/aarch64/bl1_exceptions.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/bl1/aarch64/bl1_exceptions.S b/bl1/aarch64/bl1_exceptions.S
index 0bd04857..ee66ef00 100644
--- a/bl1/aarch64/bl1_exceptions.S
+++ b/bl1/aarch64/bl1_exceptions.S
@@ -207,6 +207,12 @@ func smc_handler64
bl disable_mmu_icache_el3
tlbi alle3
+#if SPIN_ON_BL1_EXIT
+ bl print_debug_loop_message
+debug_loop:
+ b debug_loop
+#endif
+
bl bl1_plat_prepare_exit
ldp x6, x7, [x20, #(ENTRY_POINT_INFO_ARGS_OFFSET + 0x30)]