| #
c0dbc3af |
| 01-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(fvp): do not unregister the console on system suspend" into integration
|
| #
f185a542 |
| 29-Sep-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(fvp): do not unregister the console on system suspend
On PSCI SYSTEM_SUSPEND, Arm platforms will call arm_system_pwr_domain_save() which will call arm_console_runtime_end(). Usually (eg CSS), th
fix(fvp): do not unregister the console on system suspend
On PSCI SYSTEM_SUSPEND, Arm platforms will call arm_system_pwr_domain_save() which will call arm_console_runtime_end(). Usually (eg CSS), that's just a flush, but on FVP that also unregisters the console. On HW_ASSISTED_COHERENCY=0 builds, this has the potential to break and prevent any EL3 output after a SYSTEM_SUSPEND.
This happens because the calls to console_unregister()/console_register() will overwrite the value of the console_list variable in drivers/console/multi_console.c. They are only called on a system level suspend. The bug happens when the core wakes up. The console will be registered again as part of the pwr_domain_suspend_finish() call. However, this call happens before the data caches have been enabled in psci_do_pwrup_cache_maintenance(). As a result, the write to console_list will not be reflected in the L2 cache and other cores will not be able to read the new value.
The fix is to not unregister the console like other Arm platforms - we don't need to reinitialise the console so there's nothing to do.
A nice side effect is that arm_console_runtime_end() no longer needs to be weak.
Change-Id: Ibbdd4b22bad0d8f1dbd63c60ee0294d889a349a4 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
61fa5523 |
| 10-Mar-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(fvp): FCONF Trace Not Shown" into integration
|
| #
0c55c103 |
| 01-Feb-2022 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
fix(fvp): FCONF Trace Not Shown
Updating call order for arm_console_boot_init() and arm_bl31_early_platform_setup().
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Change-Id: If932fff2
fix(fvp): FCONF Trace Not Shown
Updating call order for arm_console_boot_init() and arm_bl31_early_platform_setup().
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Change-Id: If932fff2ee4282a0aacf8751fa81e7665b886467
show more ...
|
| #
dfe577a8 |
| 14-Oct-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Don't return error information from console_flush" into integration
|
| #
831b0e98 |
| 05-Aug-2020 |
Jimmy Brisson <jimmy.brisson@arm.com> |
Don't return error information from console_flush
And from crash_console_flush.
We ignore the error information return by console_flush in _every_ place where we call it, and casting the return typ
Don't return error information from console_flush
And from crash_console_flush.
We ignore the error information return by console_flush in _every_ place where we call it, and casting the return type to void does not work around the MISRA violation that this causes. Instead, we collect the error information from the driver (to avoid changing that API), and don't return it to the caller.
Change-Id: I1e35afe01764d5c8f0efd04f8949d333ffb688c1 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
show more ...
|
| #
beff4910 |
| 22-May-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "plat/arm/fvp: populate runtime console parameters dynamically" into integration
|
| #
12d13430 |
| 16-Apr-2020 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
plat/arm/fvp: populate runtime console parameters dynamically
We query the UART base address and clk frequency in runtime using fconf getter APIs.
Change-Id: I5f4e84953be5f384472bf90720b706d45cb862
plat/arm/fvp: populate runtime console parameters dynamically
We query the UART base address and clk frequency in runtime using fconf getter APIs.
Change-Id: I5f4e84953be5f384472bf90720b706d45cb86260 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| #
093dce70 |
| 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "pl011: Use generic console_t data structure" into integration
|
| #
f695e1e0 |
| 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
pl011: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
pl011: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I7a23327394d142af4b293ea7ccd90b843c54587c Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
39c92b62 |
| 28-Jun-2019 |
Paul Beesley <paul.beesley@arm.com> |
Merge changes from topic "av/console-port" into integration
* changes: qemu: use new console interface in aarch32 warp7: remove old console from makefile Remove MULTI_CONSOLE_API flag and refe
Merge changes from topic "av/console-port" into integration
* changes: qemu: use new console interface in aarch32 warp7: remove old console from makefile Remove MULTI_CONSOLE_API flag and references to it Console: removed legacy console API
show more ...
|
| #
5b6ebeec |
| 04-Apr-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
Remove MULTI_CONSOLE_API flag and references to it
The new API becomes the default one.
Change-Id: Ic1d602da3dff4f4ebbcc158b885295c902a24fec Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.co
Remove MULTI_CONSOLE_API flag and references to it
The new API becomes the default one.
Change-Id: Ic1d602da3dff4f4ebbcc158b885295c902a24fec Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
show more ...
|
| #
c3e4e088 |
| 24-Apr-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge changes from topic "av/console-register" into integration
* changes: Console: Remove Arm console unregister on suspend Console: Allow to register multiple times
|
| #
c9ac30a5 |
| 24-Apr-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
Console: Remove Arm console unregister on suspend
Change-Id: Ie649b3c367a93db057eeaee7e83fa3e43f8c2607 Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
|
| #
5ba32a76 |
| 21-Feb-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1828 from uarif1/master
Introduce Versatile Express FVP platform to arm-trusted-firmware.
|
| #
0d28096c |
| 11-Feb-2019 |
Usama Arif <usama.arif@arm.com> |
Rename PLAT_ARM_BL31_RUN_UART* variable
The variable is renamed to PLAT_ARM_RUN_UART as the UART is used outside BL31 as well.
Change-Id: I00e3639dfb2001758b7d24548c11236c6335f64a Signed-off-by: Us
Rename PLAT_ARM_BL31_RUN_UART* variable
The variable is renamed to PLAT_ARM_RUN_UART as the UART is used outside BL31 as well.
Change-Id: I00e3639dfb2001758b7d24548c11236c6335f64a Signed-off-by: Usama Arif <usama.arif@arm.com>
show more ...
|
| #
83a2285e |
| 28-Jan-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1784 from antonio-nino-diaz-arm/an/includes-arm
plat/arm: Cleanup of includes and drivers
|
| #
bd9344f6 |
| 25-Jan-2019 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
plat/arm: Sanitise includes
Use full include paths like it is done for common includes.
This cleanup was started in commit d40e0e08283a ("Sanitise includes across codebase"), but it only cleaned co
plat/arm: Sanitise includes
Use full include paths like it is done for common includes.
This cleanup was started in commit d40e0e08283a ("Sanitise includes across codebase"), but it only cleaned common files and drivers. This patch does the same to Arm platforms.
Change-Id: If982e6450bbe84dceb56d464e282bcf5d6d9ab9b Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
9a207532 |
| 04-Jan-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1726 from antonio-nino-diaz-arm/an/includes
Sanitise includes across codebase
|
| #
09d40e0e |
| 14-Dec-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Sanitise includes across codebase
Enforce full include path for includes. Deprecate old paths.
The following folders inside include/lib have been left unchanged:
- include/lib/cpus/${ARCH} - inclu
Sanitise includes across codebase
Enforce full include path for includes. Deprecate old paths.
The following folders inside include/lib have been left unchanged:
- include/lib/cpus/${ARCH} - include/lib/el3_runtime/${ARCH}
The reason for this change is that having a global namespace for includes isn't a good idea. It defeats one of the advantages of having folders and it introduces problems that are sometimes subtle (because you may not know the header you are actually including if there are two of them).
For example, this patch had to be created because two headers were called the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platform to avoid collision."). More recently, this patch has had similar problems: 46f9b2c3a282 ("drivers: add tzc380 support").
This problem was introduced in commit 4ecca33988b9 ("Move include and source files to logical locations"). At that time, there weren't too many headers so it wasn't a real issue. However, time has shown that this creates problems.
Platforms that want to preserve the way they include headers may add the removed paths to PLAT_INCLUDES, but this is discouraged.
Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
7e0a38a4 |
| 04-Oct-2018 |
Soby Mathew <soby.mathew@arm.com> |
Merge pull request #1603 from antonio-nino-diaz-arm/db/reclaim-init
Reclaim BL31 initialization code memory for runtime data
|
| #
4d010d0d |
| 18-Sep-2018 |
Daniel Boulby <daniel.boulby@arm.com> |
plat/arm: Mark arm platform initialization functions
Mark the initialization functions found in the BL31 boot sequence as __init so they can be reclaimed when no longer needed.
Change-Id: I687a8934
plat/arm: Mark arm platform initialization functions
Mark the initialization functions found in the BL31 boot sequence as __init so they can be reclaimed when no longer needed.
Change-Id: I687a89346419c7710ef5097feaa325d83c527697 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
show more ...
|
| #
7fb3a70b |
| 19-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1418 from antonio-nino-diaz-arm/an/arm-multi-console
plat/arm: Migrate AArch64 port to the multi console driver
|
| #
88a0523e |
| 19-Jun-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
plat/arm: Migrate AArch64 port to the multi console driver
The old API is deprecated and will eventually be removed.
Arm platforms now use the multi console driver for boot and runtime consoles. Ho
plat/arm: Migrate AArch64 port to the multi console driver
The old API is deprecated and will eventually be removed.
Arm platforms now use the multi console driver for boot and runtime consoles. However, the crash console uses the direct console API because it doesn't need any memory access to work. This makes it more robust during crashes.
The AArch32 port of the Trusted Firmware doesn't support this new API yet, so it is only enabled in AArch64 builds. Because of this, the common code must maintain compatibility with both systems. SP_MIN doesn't have to be updated because it's only used in AArch32 builds. The TSP is only used in AArch64, so it only needs to support the new API without keeping support for the old one.
Special care must be taken because of PSCI_SYSTEM_SUSPEND. In Juno, this causes the UARTs to reset (except for the one used by the TSP). This means that they must be unregistered when suspending and re-registered when resuming. This wasn't a problem with the old driver because it just restarted the UART, and there were no problems associated with registering and unregistering consoles.
The size reserved for BL2 has been increased.
Change-Id: Icefd117dd1eb9c498921181a21318c2d2435c441 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
da9d1d59 |
| 11-May-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1372 from antonio-nino-diaz-arm/an/arm-multi-console
Arm platforms: Migrate to multi console driver
|