| #
452afcfb |
| 07-Aug-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "xlnx_fix_gen_unused_var" into integration
* changes: fix(console): create unique variable name fix(bl31): declare function as static fix(psci): initialise variable to
Merge changes from topic "xlnx_fix_gen_unused_var" into integration
* changes: fix(console): create unique variable name fix(bl31): declare function as static fix(psci): initialise variable to default zero fix(services): declare unused parameters as void fix(lib): declare unused parameters as void fix(platforms): declare unused parameters as void
show more ...
|
| #
6d6aa1da |
| 19-Apr-2024 |
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(console): create unique variable name
This corrects the MISRA violation C2012-5.7: A tag name shall be a unique identifier. Renamed the variable to ensure uniqueness.
Change-Id: I96e61caa8c6c7f
fix(console): create unique variable name
This corrects the MISRA violation C2012-5.7: A tag name shall be a unique identifier. Renamed the variable to ensure uniqueness.
Change-Id: I96e61caa8c6c7ff64759363afd24fc224d449f86 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| #
3312fe83 |
| 11-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(console): disable getc() by default" into integration
|
| #
85bebe18 |
| 11-Oct-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
refactor(console): disable getc() by default
The ability to read a character from the console constitutes an attack vector into TF-A, as it gives attackers a means to inject arbitrary data into TF-A
refactor(console): disable getc() by default
The ability to read a character from the console constitutes an attack vector into TF-A, as it gives attackers a means to inject arbitrary data into TF-A. It is dangerous to keep that feature enabled if not strictly necessary, especially in production firmware builds.
Thus, we need a way to disable this feature. Moreover, when it is disabled, all related code should be eliminated from the firmware binaries, such that no remnant/dead getc() code remains in memory, which could otherwise be used as a gadget as part of a bigger security attack.
This patch disables getc() feature by default. For legitimate getc() use cases [1], it can be explicitly enabled by building TF-A with ENABLE_CONSOLE_GETC=1.
The following changes are introduced when getc() is disabled:
- The multi-console framework no longer provides the console_getc() function.
- If the console driver selected by the platform attempts to register a getc() callback into the multi-console framework then TF-A will now fail to build.
If registered through the assembly function finish_console_register(): - On AArch64, you'll get: Error: undefined symbol CONSOLE_T_GETC used as an immediate value. - On AArch32, you'll get: Error: internal_relocation (type: OFFSET_IMM) not fixed up
If registered through the C function console_register(), this requires populating a struct console with a getc field, which will trigger: error: 'console_t' {aka 'struct console'} has no member named 'getc'
- All console drivers which previously registered a getc() callback have been modified to do so only when ENABLE_CONSOLE_GETC=1.
[1] Example of such use cases would be: - Firmware recovery: retrieving a golden BL2 image over the console in order to repair a broken firmware on a bricked board. - Factory CLI tool: Drive some soak tests through the console.
Discussed on TF-A mailing list here: https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/thread/YS7F6RCNTWBTEOBLAXIRTXWIOYINVRW7/
Change-Id: Icb412304cd23dbdd7662df7cf8992267b7975cc5 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Acked-by: Baruch Siach <baruch@tkos.co.il>
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 ...
|
| #
896d684d |
| 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge changes from topic "console_t_cleanup" into integration
* changes: marvell: Consolidate console register calls uniphier: Use generic console_t data structure spe: Use generic console_t d
Merge changes from topic "console_t_cleanup" into integration
* changes: marvell: Consolidate console register calls uniphier: Use generic console_t data structure spe: Use generic console_t data structure LS 16550: Use generic console_t data structure stm32: Use generic console_t data structure rcar: Use generic console_t data structure a3700: Use generic console_t data structure 16550: Use generic console_t data structure imx: Use generic console_t data structure
show more ...
|
| #
af1e8fda |
| 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
uniphier: 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 s
uniphier: 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: Ia9d996bb45ff3a7f1b240f12fd75805b48a048e9 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
b3add9cb |
| 14-Feb-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "uniphier" into integration
* changes: uniphier: make I/O register region configurable uniphier: make PSCI related base address configurable uniphier: make counter con
Merge changes from topic "uniphier" into integration
* changes: uniphier: make I/O register region configurable uniphier: make PSCI related base address configurable uniphier: make counter control base address configurable uniphier: make UART base address configurable uniphier: make pinmon base address configurable uniphier: make NAND controller base address configurable uniphier: make eMMC controller base address configurable
show more ...
|
| #
4511322f |
| 03-Feb-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
uniphier: make UART base address configurable
The next SoC supports the same UART, but the register base will be changed. Make it configurable.
Change-Id: Ida5c9151b2f3554afd15555b22838437eef443f7
uniphier: make UART base address configurable
The next SoC supports the same UART, but the register base will be changed. Make it configurable.
Change-Id: Ida5c9151b2f3554afd15555b22838437eef443f7 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
e4893286 |
| 03-Sep-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
Merge "uniphier: set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console driver" into integration
|
| #
abfd5719 |
| 23-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
uniphier: set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console driver
This console driver sends '\r' before 'n', not after. It works, but the convention is "\r\n" (i.e. CRLF)
Instead of fixing it i
uniphier: set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console driver
This console driver sends '\r' before 'n', not after. It works, but the convention is "\r\n" (i.e. CRLF)
Instead of fixing it in the driver, set CONSOLE_FLAG_TRANSLATE_CRLF to leave it to the framework.
Change-Id: I2154e29313739a40dff70cfb5c0f8989136d4ad2 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
ef4b8d5a |
| 05-Jul-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "uniphier: support console based on multi-console" into integration
|
| #
ac9f1b55 |
| 02-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
uniphier: support console based on multi-console
The legacy console is gone. Re-add the console support based on the multi-console framework.
I am still keeping the putc, getc, and flush callbacks
uniphier: support console based on multi-console
The legacy console is gone. Re-add the console support based on the multi-console framework.
I am still keeping the putc, getc, and flush callbacks in uniphier_console.S to use plat/common/aarch64/crash_console_helpers.S
The console registration code already relies on that C environment has been set up. So, I just filled the struct console fields with the callback pointers, then called console_register() directly. I also re-implemented the init function in C to improve the readability.
Removing the custom crash console implementation has one disadvantage; we cannot use the crash console on very early crashes because crash_console_helpers.S works only after the console is registered. I can live with this limitation.
Tested on my boards, and confirmed this worked like before.
Change-Id: Ieab9c849853ff6c525c15ea894a85944f257db59 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|