diff options
Diffstat (limited to 'plat/arm/board/tc/tc_bl31_setup.c')
-rw-r--r-- | plat/arm/board/tc/tc_bl31_setup.c | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/plat/arm/board/tc/tc_bl31_setup.c b/plat/arm/board/tc/tc_bl31_setup.c index 6afbd9931..ca3a03279 100644 --- a/plat/arm/board/tc/tc_bl31_setup.c +++ b/plat/arm/board/tc/tc_bl31_setup.c @@ -50,18 +50,34 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, fconf_populate("FW_CONFIG", arg1); } -void tc_bl31_common_platform_setup(void) +#ifdef PLATFORM_TESTS +static __dead2 void tc_run_platform_tests(void) { - arm_bl31_platform_setup(); + int tests_failed; + + printf("\nStarting platform tests...\n"); -#if defined(PLATFORM_TEST_NV_COUNTERS) || defined(PLATFORM_TEST_TFM_TESTSUITE) #ifdef PLATFORM_TEST_NV_COUNTERS - nv_counter_test(); + tests_failed = nv_counter_test(); #elif PLATFORM_TEST_TFM_TESTSUITE - run_platform_tests(); + tests_failed = run_platform_tests(); #endif - /* Suspend booting */ + + printf("Platform tests %s.\n", + (tests_failed != 0) ? "failed" : "succeeded"); + + /* Suspend booting, no matter the tests outcome. */ + printf("Suspend booting...\n"); plat_error_handler(-1); +} +#endif + +void tc_bl31_common_platform_setup(void) +{ + arm_bl31_platform_setup(); + +#ifdef PLATFORM_TESTS + tc_run_platform_tests(); #endif } |