Commit 0b32628e authored by Antonio Nino Diaz's avatar Antonio Nino Diaz
Browse files

Flush console where necessary



Call console_flush() before execution either terminates or leaves an
exception level.

Fixes: ARM-software/tf-issues#123

Change-Id: I64eeb92effb039f76937ce89f877b68e355588e3
Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
parent 801cf93c
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <auth_mod.h> #include <auth_mod.h>
#include <bl1.h> #include <bl1.h>
#include <bl_common.h> #include <bl_common.h>
#include <console.h>
#include <debug.h> #include <debug.h>
#include <errata_report.h> #include <errata_report.h>
#include <platform.h> #include <platform.h>
...@@ -166,6 +167,8 @@ void bl1_main(void) ...@@ -166,6 +167,8 @@ void bl1_main(void)
NOTICE("BL1-FWU: *******FWU Process Started*******\n"); NOTICE("BL1-FWU: *******FWU Process Started*******\n");
bl1_prepare_next_image(image_id); bl1_prepare_next_image(image_id);
console_flush();
} }
/******************************************************************************* /*******************************************************************************
......
/* /*
* Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <auth_mod.h> #include <auth_mod.h>
#include <bl1.h> #include <bl1.h>
#include <bl_common.h> #include <bl_common.h>
#include <console.h>
#include <debug.h> #include <debug.h>
#include <platform.h> #include <platform.h>
#include "bl2_private.h" #include "bl2_private.h"
...@@ -69,6 +70,8 @@ void bl2_main(void) ...@@ -69,6 +70,8 @@ void bl2_main(void)
disable_mmu_icache_secure(); disable_mmu_icache_secure();
#endif /* AARCH32 */ #endif /* AARCH32 */
console_flush();
/* /*
* Run next BL image via an SMC to BL1. Information on how to pass * Run next BL image via an SMC to BL1. Information on how to pass
* control to the BL32 (if present) and BL33 software images will * control to the BL32 (if present) and BL33 software images will
......
/* /*
* Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <auth_mod.h> #include <auth_mod.h>
#include <bl_common.h> #include <bl_common.h>
#include <bl1.h> #include <bl1.h>
#include <console.h>
#include <debug.h> #include <debug.h>
#include <platform.h> #include <platform.h>
#include <platform_def.h> #include <platform_def.h>
...@@ -63,6 +64,8 @@ void bl2u_main(void) ...@@ -63,6 +64,8 @@ void bl2u_main(void)
/* Perform platform setup in BL2U after loading SCP_BL2U */ /* Perform platform setup in BL2U after loading SCP_BL2U */
bl2u_platform_setup(); bl2u_platform_setup();
console_flush();
/* /*
* Indicate that BL2U is done and resume back to * Indicate that BL2U is done and resume back to
* normal world via an SMC to BL1. * normal world via an SMC to BL1.
......
/* /*
* Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <assert.h> #include <assert.h>
#include <bl_common.h> #include <bl_common.h>
#include <bl31.h> #include <bl31.h>
#include <console.h>
#include <context_mgmt.h> #include <context_mgmt.h>
#include <debug.h> #include <debug.h>
#include <platform.h> #include <platform.h>
...@@ -129,6 +130,8 @@ void bl31_main(void) ...@@ -129,6 +130,8 @@ void bl31_main(void)
*/ */
bl31_prepare_next_image_entry(); bl31_prepare_next_image_entry();
console_flush();
/* /*
* Perform any platform specific runtime setup prior to cold boot exit * Perform any platform specific runtime setup prior to cold boot exit
* from BL31 * from BL31
......
/* /*
* Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <stddef.h> #include <stddef.h>
#include <arch_helpers.h> #include <arch_helpers.h>
#include <assert.h> #include <assert.h>
#include <console.h>
#include <debug.h> #include <debug.h>
#include <platform.h> #include <platform.h>
#include "psci_private.h" #include "psci_private.h"
...@@ -46,6 +47,8 @@ void psci_system_off(void) ...@@ -46,6 +47,8 @@ void psci_system_off(void)
psci_spd_pm->svc_system_off(); psci_spd_pm->svc_system_off();
} }
console_flush();
/* Call the platform specific hook */ /* Call the platform specific hook */
psci_plat_pm_ops->system_off(); psci_plat_pm_ops->system_off();
...@@ -63,6 +66,8 @@ void psci_system_reset(void) ...@@ -63,6 +66,8 @@ void psci_system_reset(void)
psci_spd_pm->svc_system_reset(); psci_spd_pm->svc_system_reset();
} }
console_flush();
/* Call the platform specific hook */ /* Call the platform specific hook */
psci_plat_pm_ops->system_reset(); psci_plat_pm_ops->system_reset();
......
/* /*
* Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -28,7 +28,9 @@ ...@@ -28,7 +28,9 @@
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <console.h>
#include <debug.h> #include <debug.h>
#include <platform.h>
/* /*
* This is a basic implementation. This could be improved. * This is a basic implementation. This could be improved.
...@@ -37,5 +39,8 @@ void __assert (const char *function, const char *file, unsigned int line, ...@@ -37,5 +39,8 @@ void __assert (const char *function, const char *file, unsigned int line,
const char *assertion) const char *assertion)
{ {
tf_printf("ASSERT: %s <%d> : %s\n", function, line, assertion); tf_printf("ASSERT: %s <%d> : %s\n", function, line, assertion);
console_flush();
while(1); while(1);
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment