| 41293407 | 26-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "advk-serror" into integration
* changes: marvell/a3700: Prevent SError accessing PCIe link while it is down marvell: Switch to xlat_tables_v2 |
| 86126439 | 25-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "gby/cryptocell-multi-vers" into integration
* changes: cryptocell: add product version awareness support cryptocell: move Cryptocell specific API into driver |
| 76f3c7dc | 14-May-2019 |
Gilad Ben-Yossef <gilad.benyossef@arm.com> |
cryptocell: add product version awareness support
Add support for multiple Cryptocell revisions which use different APIs.
This commit only refactors the existing code in preperation to the addition
cryptocell: add product version awareness support
Add support for multiple Cryptocell revisions which use different APIs.
This commit only refactors the existing code in preperation to the addition of another Cryptocell revisions later on.
Signed-off-by: Gilad Ben-Yossef <gilad.benyossef@arm.com> Change-Id: I16d80b31afb6edd56dc645fee5ea619cc74f09b6
show more ...
|
| 36ec2bb0 | 14-May-2019 |
Gilad Ben-Yossef <gilad.benyossef@arm.com> |
cryptocell: move Cryptocell specific API into driver
Code using Cryptocell specific APIs was used as part of the arm common board ROT support, instead of being abstracted in Cryptocell specific driv
cryptocell: move Cryptocell specific API into driver
Code using Cryptocell specific APIs was used as part of the arm common board ROT support, instead of being abstracted in Cryptocell specific driver code, creating two problems: - Any none arm board that uses Cryptocell wuld need to copy and paste the same code. - Inability to cleanly support multiple versions of Cryptocell API and products.
Move over Cryptocell specific API calls into the Cryptocell driver, creating abstraction API where needed.
Signed-off-by: Gilad Ben-Yossef <gilad.benyossef@arm.com> Change-Id: I9e03ddce90fcc47cfdc747098bece86dbd11c58e
show more ...
|
| f7fb88f6 | 25-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "jts/spsr" into integration
* changes: Refactor SPSR initialisation code SSBS: init SPSR register with default SSBS value |
| d38613df | 25-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes I0d17ba6c,I540741d2,I9e6475ad,Ifd769320,I12c04a85, ... into integration
* changes: plat/mediatek/mt81*: Use new bl31_params_parse() helper plat/rockchip: Use new bl31_params_parse_
Merge changes I0d17ba6c,I540741d2,I9e6475ad,Ifd769320,I12c04a85, ... into integration
* changes: plat/mediatek/mt81*: Use new bl31_params_parse() helper plat/rockchip: Use new bl31_params_parse_helper() Add helper to parse BL31 parameters (both versions) Factor out cross-BL API into export headers suitable for 3rd party code Use explicit-width data types in AAPCS parameter structs plat/rockchip: Switch to use new common BL aux parameter library Introduce lightweight BL platform parameter library
show more ...
|
| c250cc3b | 23-Jul-2019 |
John Tsichritzis <john.tsichritzis@arm.com> |
SSBS: init SPSR register with default SSBS value
This patch introduces an additional precautionary step to further enhance protection against variant 4. During the context initialisation before we e
SSBS: init SPSR register with default SSBS value
This patch introduces an additional precautionary step to further enhance protection against variant 4. During the context initialisation before we enter the various BL stages, the SPSR.SSBS bit is explicitly set to zero. As such, speculative loads/stores are by default disabled for all BL stages when they start executing. Subsequently, each BL stage, can choose to enable speculative loads/stores or keep them disabled.
This change doesn't affect the initial execution context of BL33 which is totally platform dependent and, thus, it is intentionally left up to each platform to initialise.
For Arm platforms, SPSR.SSBS is set to zero for BL33 too. This means that, for Arm platforms, all BL stages start with speculative loads/stores disabled.
Change-Id: Ie47d39c391d3f20fc2852fc59dbd336f8cacdd6c Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
show more ...
|
| d9af1f7b | 30-May-2019 |
Julius Werner <jwerner@chromium.org> |
Add helper to parse BL31 parameters (both versions)
BL31 used to take a single bl31_params_t parameter structure with entry point information in arg0. In commit 726002263 (Add new version of image l
Add helper to parse BL31 parameters (both versions)
BL31 used to take a single bl31_params_t parameter structure with entry point information in arg0. In commit 726002263 (Add new version of image loading.) this API was changed to a more flexible linked list approach, and the old parameter structure was copied into all platforms that still used the old format. This duplicated code unnecessarily among all these platforms.
This patch adds a helper function that platforms can optionally link to outsource the task of interpreting arg0. Many platforms are just interested in the BL32 and BL33 entry point information anyway. Since some platforms still need to support the old version 1 parameters, the helper will support both formats when ERROR_DEPRECATED == 0. This allows those platforms to drop a bunch of boilerplate code and asynchronously update their BL2 implementation to the newer format.
Change-Id: I9e6475adb1a7d4bccea666118bd1c54962e9fc38 Signed-off-by: Julius Werner <jwerner@chromium.org>
show more ...
|
| 57bf6057 | 29-May-2019 |
Julius Werner <jwerner@chromium.org> |
Factor out cross-BL API into export headers suitable for 3rd party code
This patch adds a new include/export/ directory meant for inclusion in third-party code. This is useful for cases where third-
Factor out cross-BL API into export headers suitable for 3rd party code
This patch adds a new include/export/ directory meant for inclusion in third-party code. This is useful for cases where third-party code needs to interact with TF-A interfaces and data structures (such as a custom BL2-implementation like coreboot handing off to BL31). Directly including headers from the TF-A repository avoids having to duplicate all these definitions (and risk them going stale), but with the current header structure this is not possible because handoff API definitions are too deeply intertwined with other TF code/headers and chain-include other headers that will not be available in the other environment.
The new approach aims to solve this by separating only the parts that are really needed into these special headers that are self-contained and will not chain-include other (non-export) headers. TF-A code should never include them directly but should instead always include the respective wrapper header, which will include the required prerequisites (like <stdint.h>) before including the export header. Third-party code can include the export headers via its own wrappers that make sure the necessary definitions are available in whatever way that environment can provide them.
Change-Id: Ifd769320ba51371439a8e5dd5b79c2516c3b43ab Signed-off-by: Julius Werner <jwerner@chromium.org>
show more ...
|
| 9352be88 | 24-Jul-2019 |
Julius Werner <jwerner@chromium.org> |
Use explicit-width data types in AAPCS parameter structs
It's not a good idea to use u_register_t for the members of aapcs64_params_t and aapcs32_params_t, since the width of that type always depend
Use explicit-width data types in AAPCS parameter structs
It's not a good idea to use u_register_t for the members of aapcs64_params_t and aapcs32_params_t, since the width of that type always depends on the current execution environment. This would cause problems if e.g. we used this structure to set up the entry point of an AArch32 program from within an AArch64 program. (It doesn't seem like any code is doing that today, but it's probably still a good idea to write this defensively. Also, it helps with my next patch.)
Change-Id: I12c04a85611f2b6702589f3362bea3e6a7c9f776 Signed-off-by: Julius Werner <jwerner@chromium.org>
show more ...
|
| 4dc74ca3 | 23-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "arm: Shorten the Firmware Update (FWU) process" into integration |
| 37b70031 | 04-Jul-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
arm: Shorten the Firmware Update (FWU) process
The watchdog is configured with a default value of 256 seconds in order to implement the Trusted Board Boot Requirements.
For the FVP and Juno platfor
arm: Shorten the Firmware Update (FWU) process
The watchdog is configured with a default value of 256 seconds in order to implement the Trusted Board Boot Requirements.
For the FVP and Juno platforms, the FWU process relies on a watchdog reset. In order to automate the test of FWU, the length of this process needs to be as short as possible. Instead of waiting for those 4 minutes to have a reset by the watchdog, tell it to reset immediately.
There are no side effects as the value of the watchdog's load register resets to 0xFFFFFFFF.
Tested on Juno.
Change-Id: Ib1aea80ceddc18ff1e0813a5b98dd141ba8a3ff2 Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
show more ...
|
| 53f3751b | 23-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "Cortex_hercules: Introduce preliminary cpu support" into integration |
| 1d7dc63c | 23-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "Enable MTE support unilaterally for Normal World" into integration |
| b852d229 | 25-May-2019 |
Julius Werner <jwerner@chromium.org> |
Introduce lightweight BL platform parameter library
This patch adds some common helper code to support a lightweight platform parameter passing framework between BLs that has already been used on Ro
Introduce lightweight BL platform parameter library
This patch adds some common helper code to support a lightweight platform parameter passing framework between BLs that has already been used on Rockchip platforms but is more widely useful to others as well. It can be used as an implementation for the SoC firmware configuration file mentioned in the docs, and is primarily intended for platforms that only require a handful of values to be passed and want to get by without a libfdt dependency. Parameters are stored in a linked list and the parameter space is split in generic and vendor-specific parameter types. Generic types will be handled by this code whereas vendor-specific types have to be handled by a vendor-specific handler function that gets passed in.
Change-Id: If3413d44e86b99d417294ce8d33eb2fc77a6183f Signed-off-by: Julius Werner <jwerner@chromium.org>
show more ...
|
| 294f9ef9 | 14-May-2019 |
Louis Mayencourt <louis.mayencourt@arm.com> |
Cortex_hercules: Introduce preliminary cpu support
Change-Id: Iab767e9937f5c6c8150953fcdc3b37e8ee83fa63 Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com> |
| 6e9e15b0 | 14-Jul-2019 |
Remi Pommarel <repk@triplefau.lt> |
marvell: Switch to xlat_tables_v2
Use v2 xlat tables library instead of v1 for marvell platforms.
Signed-off-by: Remi Pommarel <repk@triplefau.lt> Change-Id: I838a6a878a8353e84eea9529721761b478943f
marvell: Switch to xlat_tables_v2
Use v2 xlat tables library instead of v1 for marvell platforms.
Signed-off-by: Remi Pommarel <repk@triplefau.lt> Change-Id: I838a6a878a8353e84eea9529721761b478943f0a
show more ...
|
| 52e91081 | 31-May-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
console: update skeleton
Update the skeleton implementation of the console interface.
The 32 bit version was outdated and has been copied from the 64 bit version.
Change-Id: Ib3e4eb09402ffccb1a30c
console: update skeleton
Update the skeleton implementation of the console interface.
The 32 bit version was outdated and has been copied from the 64 bit version.
Change-Id: Ib3e4eb09402ffccb1a30c703a53829a7bf064dfe Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
show more ...
|
| d0d0f171 | 16-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "jc/shift-overflow" into integration
* changes: Enable -Wshift-overflow=2 to check for undefined shift behavior Update base code to not rely on undefined overflow behavi
Merge changes from topic "jc/shift-overflow" into integration
* changes: Enable -Wshift-overflow=2 to check for undefined shift behavior Update base code to not rely on undefined overflow behaviour Update hisilicon drivers to not rely on undefined overflow behaviour Update synopsys drivers to not rely on undefined overflow behaviour Update imx platform to not rely on undefined overflow behaviour Update mediatek platform to not rely on undefined overflow behaviour Update layerscape platform to not rely on undefined overflow behaviour Update intel platform to not rely on undefined overflow behaviour Update rockchip platform to not rely on undefined overflow behaviour Update renesas platform to not rely on undefined overflow behaviour Update meson platform to not rely on undefined overflow behaviour Update marvell platform to not rely on undefined overflow behaviour
show more ...
|
| 70f7c4e1 | 12-Jul-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "AArch64: Add 128-bit integer types definitions" into integration |
| b7e398d6 | 12-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Enable MTE support unilaterally for Normal World
This patch enables MTE for Normal world if the CPU suppors it. Enabling MTE for secure world will be done later.
Change-Id: I9ef64460beaba15e9a9c20a
Enable MTE support unilaterally for Normal World
This patch enables MTE for Normal world if the CPU suppors it. Enabling MTE for secure world will be done later.
Change-Id: I9ef64460beaba15e9a9c20ab02da4fb2208b6f7d Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| 3e43121e | 03-Jul-2019 |
Justin Chadwell <justin.chadwell@arm.com> |
Update base code to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is unsigned when the operation might overflow into the sign bit.
Change-Id
Update base code to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is unsigned when the operation might overflow into the sign bit.
Change-Id: Iddd6f38139a4c6e500468b4fc48d04e0939f574e Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
show more ...
|
| 274e8714 | 11-Jul-2019 |
John Tsichritzis <john.tsichritzis@arm.com> |
Merge "Aarch64: Fix SCTLR bit definitions" into integration |
| 394fa5d4 | 10-Jul-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
AArch64: Add 128-bit integer types definitions
This patch adds 128-bit integer types int128_t and uint128_t for "__int128" and "unsigned __int128" supported by GCC and Clang for AArch64.
Change-Id:
AArch64: Add 128-bit integer types definitions
This patch adds 128-bit integer types int128_t and uint128_t for "__int128" and "unsigned __int128" supported by GCC and Clang for AArch64.
Change-Id: I0e646d026a5c12a09fd2c71dc502082052256a94 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| c4655157 | 10-Jul-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
Aarch64: Fix SCTLR bit definitions
This patch removes incorrect SCTLR_V_BIT definition and adds definitions for ARMv8.3-Pauth EnIB, EnDA and EnDB bits.
Change-Id: I1384c0a01f56f3d945833464a82703625
Aarch64: Fix SCTLR bit definitions
This patch removes incorrect SCTLR_V_BIT definition and adds definitions for ARMv8.3-Pauth EnIB, EnDA and EnDB bits.
Change-Id: I1384c0a01f56f3d945833464a827036252c75c2e Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|