diff options
author | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-06-03 11:50:53 +0100 |
---|---|---|
committer | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-06-11 21:26:01 +0100 |
commit | 9c22b32300320c40aa36f73f84a51cdc5218780e (patch) | |
tree | 059792312d750e072ae02235343acb1faf5d31e4 /bl31 | |
parent | 977fbcd4e0842e590a961d6f40c14653caa9301a (diff) | |
download | platform_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.S | 11 | ||||
-rw-r--r-- | bl31/bl31.mk | 8 | ||||
-rw-r--r-- | bl31/context_mgmt.c | 2 |
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); } |