aboutsummaryrefslogtreecommitdiffstats
path: root/bl31
diff options
context:
space:
mode:
authorAndrew Thoelke <andrew.thoelke@arm.com>2014-06-03 11:50:53 +0100
committerAndrew Thoelke <andrew.thoelke@arm.com>2014-06-11 21:26:01 +0100
commit9c22b32300320c40aa36f73f84a51cdc5218780e (patch)
tree059792312d750e072ae02235343acb1faf5d31e4 /bl31
parent977fbcd4e0842e590a961d6f40c14653caa9301a (diff)
downloadplatform_external_arm-trusted-firmware-9c22b32300320c40aa36f73f84a51cdc5218780e.tar.gz
platform_external_arm-trusted-firmware-9c22b32300320c40aa36f73f84a51cdc5218780e.tar.bz2
platform_external_arm-trusted-firmware-9c22b32300320c40aa36f73f84a51cdc5218780e.zip
Make the BL3-1 crash reporting optional
This patch makes the console crash dump of processor register state optional based on the CRASH_REPORTING make variable. This defaults to only being enabled for DEBUG builds. This can be overridden by setting a different value in the platform makefile or on the make command line. Change-Id: Icfa1b2d7ff0145cf0a85e8ad732f9cee7e7e993f
Diffstat (limited to 'bl31')
-rw-r--r--bl31/aarch64/crash_reporting.S11
-rw-r--r--bl31/bl31.mk8
-rw-r--r--bl31/context_mgmt.c2
3 files changed, 19 insertions, 2 deletions
diff --git a/bl31/aarch64/crash_reporting.S b/bl31/aarch64/crash_reporting.S
index cb9110b5f..0e7ced18c 100644
--- a/bl31/aarch64/crash_reporting.S
+++ b/bl31/aarch64/crash_reporting.S
@@ -36,6 +36,7 @@
.globl dump_state_and_die
.globl dump_intr_state_and_die
+#if CRASH_REPORTING
/* ------------------------------------------------------
* The below section deals with dumping the system state
* when an unhandled exception is taken in EL3.
@@ -264,9 +265,15 @@ print_state:
print_el3_sys_regs
print_non_el3_sys_0_regs
print_non_el3_sys_1_regs
- b infinite_loop
-func infinite_loop
+#else /* CRASH_REPORING */
+
+func dump_state_and_die
+dump_intr_state_and_die:
+
+#endif /* CRASH_REPORING */
+
+infinite_loop:
b infinite_loop
diff --git a/bl31/bl31.mk b/bl31/bl31.mk
index 8155f3dd6..99fc357ee 100644
--- a/bl31/bl31.mk
+++ b/bl31/bl31.mk
@@ -59,3 +59,11 @@ IMF_READ_INTERRUPT_ID := 0
$(eval $(call assert_boolean,IMF_READ_INTERRUPT_ID))
$(eval $(call add_define,IMF_READ_INTERRUPT_ID))
+# Flag used to inidicate if Crash reporting via console should be included
+# in BL3-1. This defaults to being present in DEBUG builds only
+ifndef CRASH_REPORTING
+CRASH_REPORTING := $(DEBUG)
+endif
+
+$(eval $(call assert_boolean,CRASH_REPORTING))
+$(eval $(call add_define,CRASH_REPORTING))
diff --git a/bl31/context_mgmt.c b/bl31/context_mgmt.c
index b3dcf2d11..496a5ca2f 100644
--- a/bl31/context_mgmt.c
+++ b/bl31/context_mgmt.c
@@ -285,7 +285,9 @@ void cm_init_pcpu_ptr_cache()
pcpu_ptr_cache = &per_cpu_ptr_cache_space[linear_id];
assert(pcpu_ptr_cache);
+#if CRASH_REPORTING
pcpu_ptr_cache->crash_stack = get_crash_stack(mpidr);
+#endif
cm_set_pcpu_ptr_cache(pcpu_ptr_cache);
}