| 2fe9d058 | 26-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "feat(tc): enable CI-700 PMU for profiling" into integration |
| fbfc5984 | 22-Feb-2022 |
Rupinderjit Singh <rupinderjit.singh@arm.com> |
feat(tc): enable CI-700 PMU for profiling
Change-Id: Iaafdfc440b362022e6103eabf3fb2ebed85b6575 Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com> |
| e2b18771 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): provide CPU idle states to the rich OS
When using SCPI as the PSCI backend, firmware can wake up the CPUs and cluster from sleep, so CPU idle states are available for the rich OS to
feat(allwinner): provide CPU idle states to the rich OS
When using SCPI as the PSCI backend, firmware can wake up the CPUs and cluster from sleep, so CPU idle states are available for the rich OS to use. In that case, advertise them to the rich OS via the DTB.
Change-Id: I718ef6ef41212fe5213b11b4799613adbbe6e0eb Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 52466ec3 | 19-Mar-2021 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): simplify CPU_SUSPEND power state encoding
Use the encoding recommended by the PSCI specification: four bits for the power state at each power level.
SCPI provides no way to handsha
feat(allwinner): simplify CPU_SUSPEND power state encoding
Use the encoding recommended by the PSCI specification: four bits for the power state at each power level.
SCPI provides no way to handshake an exit from a standby state, so the only possible standby state is the architectural WFI state. Since WFI can be used outside of PSCI, we do not allow passing in standby states.
Change-Id: I4b3b84e5c255ee58a25255a0cab5d7623425086e Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 159c36fd | 19-Mar-2021 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): choose PSCI states to avoid translation
Aligning the PSCI and SCPI power states avoids some code to translate between the two. This also makes room for an intermediate power state,
feat(allwinner): choose PSCI states to avoid translation
Aligning the PSCI and SCPI power states avoids some code to translate between the two. This also makes room for an intermediate power state, for future firmware capability growth.
Change-Id: I26691085f277a96bd405e3305ab0fe390a92b418 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 2b2b5657 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
feat(fdt): add the ability to supply idle state information
Some platforms require extra firmware to implement CPU_SUSPEND, or only have working CPU_SUSPEND in certain configurations. On these platf
feat(fdt): add the ability to supply idle state information
Some platforms require extra firmware to implement CPU_SUSPEND, or only have working CPU_SUSPEND in certain configurations. On these platforms, CPU idle states should only be listed in the devicetree when they are actually available. Add a function BL31 can use to dynamically supply this idle state information.
Change-Id: I64fcc288303faba8abec4f59efd13a04220d54dc Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 79808f10 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
fix(allwinner): improve DTB patching error handling
Currently, if any step of the DTB patching process fails, the whole process is aborted. However, this causes some problems: - If any step modifie
fix(allwinner): improve DTB patching error handling
Currently, if any step of the DTB patching process fails, the whole process is aborted. However, this causes some problems: - If any step modifies the DTB (including fdt_open_into), the dcache must still be cleaned, even if some later step fails. - The DTB may need changes in multiple places; if one patch fails (for example due to missing nodes), we should still apply other patches. - Similarly, if some patch fails, we should still run fdt_pack to clean up after ourselves.
Change-Id: If1af2e58e5a7edaf542354bb8a261dd1c3da1ad0 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 3ccccc65 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
refactor(allwinner): patch the DTB after setting up PSCI
Idle states are advertised to the rich OS by declaring them in the DTB. Since the availability of idle states depends on which PSCI implement
refactor(allwinner): patch the DTB after setting up PSCI
Idle states are advertised to the rich OS by declaring them in the DTB. Since the availability of idle states depends on which PSCI implementation was chosen, the DTB must be updated after PSCI setup.
Move this operation to bl31_plat_runtime_setup, the platform hook which happens at the right time. Defining this hook overrides the weak definition from plat/common, so copy over the code from there, too.
Change-Id: I42a83edb9cb28e1803d17dc2d73dbc879d885222 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 1aa7e302 | 19-Dec-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(libfdt): add function to set MAC addresses
The devicetree specification[1] defines the generic DT properties "mac-address" and "local-mac-address", that allow to set the MAC address for a netwo
feat(libfdt): add function to set MAC addresses
The devicetree specification[1] defines the generic DT properties "mac-address" and "local-mac-address", that allow to set the MAC address for a network device. This is needed because many platform network devices do not define a method for obtaining a unique MAC address, and many devices lack the non-volatile storage to hold such a number.
Some platforms (for instance Allwinner) derive the MAC address from another unique SoC property, for instance some serial number. To allow those MAC address to be set by TF-A, add a function that finds the DT node of a network device (by using the "ethernet<x>" alias), then adding the "local-mac-address" property into that node, setting it to a user provided address. Platforms can use this function to generate MAC addresses in a platform specific way, and store them in the DT.
DT consumers like U-Boot or the Linux kernel will automatically pick up the address from that property and program the MAC device accordingly.
[1] https://devicetree-specification.readthedocs.io/en/latest/chapter4-device-bindings.html#local-mac-address-property
Change-Id: I3f5766cc575fa9718f9ca23e8269b11495c43be2 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 6fa8e72e | 19-Dec-2021 |
Andre Przywara <andre.przywara@arm.com> |
refactor(allwinner): move DTB change code into allwinner/common
So far the H616 was the only Allwinner SoC needed to amend the DTB, to reserve the DRAM portion that BL31 occupies. To allow other SoC
refactor(allwinner): move DTB change code into allwinner/common
So far the H616 was the only Allwinner SoC needed to amend the DTB, to reserve the DRAM portion that BL31 occupies. To allow other SoCs to modify the DTB as well, without duplicating code, move the DTB change routines into Allwinner common code, and generalise the current code to allow other modifications.
No functional change intended.
Change-Id: I080ea07b6470367f3c2573a4368f8ef5196d411c Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| a0d3df66 | 25-Apr-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
docs(fvp): specify correct reference of the hw_config address
TB_FW_CONFIG DT no longer contains the address of HW_CONFIG; it has been moved to the FW_CONFIG DT since the introduction of FCONF. Henc
docs(fvp): specify correct reference of the hw_config address
TB_FW_CONFIG DT no longer contains the address of HW_CONFIG; it has been moved to the FW_CONFIG DT since the introduction of FCONF. Hence updated the documentation accordingly.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I37b68502a89dbd521acd99f2cb3aeb0bd36a04e0
show more ...
|
| e61c00fa | 26-Apr-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge "docs(intel): add Sieu Mun and Benjamin Jit Loon as maintainers" into integration |
| ab1c9439 | 26-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "sb/mbedtls-2.28" into integration
* changes: docs(prerequisites): upgrade to mbed TLS 2.28.0 build(deps): upgrade to mbed TLS 2.28.0 |
| a4755183 | 18-Apr-2022 |
anans <anans@google.com> |
fix(ufs): read and write attribute based on spec
according to the spec, the response to read attr comes in the ts.attr.value field and not in the data segment.
Signed-off-by: anans <anans@google.co
fix(ufs): read and write attribute based on spec
according to the spec, the response to read attr comes in the ts.attr.value field and not in the data segment.
Signed-off-by: anans <anans@google.com> Change-Id: Iaf21883bb7e364fd7c7e4bccb33359367a0cf99d
show more ...
|
| b3f03b20 | 21-Mar-2022 |
anans <anans@google.com> |
fix(ufs): disables controller if enabled
ufs controller needs to be disabled if already enabled, without this we noticed a crash at linkstartup during reinit
Signed-off-by: anans <anans@google.com>
fix(ufs): disables controller if enabled
ufs controller needs to be disabled if already enabled, without this we noticed a crash at linkstartup during reinit
Signed-off-by: anans <anans@google.com> Change-Id: I523c5d57c1d34f6404a6368ee3f364fbffd2e542
show more ...
|
| b08a199b | 26-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(xilinx): fix mismatching function prototype" into integration |
| 394f2ea0 | 25-Apr-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes Iccfa7ec6,Ide9a7af4 into integration
* changes: feat(intel): add macro to switch between different UART PORT feat(intel): add SMC support for ROM Patch SHA384 mailbox |
| cb1247e4 | 25-Apr-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(bakery_lock): add __unused for clang" into integration |
| 91665f49 | 25-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(ufs): fix cache maintenance issues" into integration |
| 5b44657a | 25-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "st_fwu_bkp_reg" into integration
* changes: feat(stm32mp1): retry 3 times FWU trial boot refactor(stm32mp1): update backup reg for FWU |
| 5cae3373 | 22-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
docs(prerequisites): upgrade to mbed TLS 2.28.0
Upgrade to the latest and greatest 2.x release of Mbed TLS library (i.e. v2.28.0) to take advantage of their bug fixes.
Note that the Mbed TLS projec
docs(prerequisites): upgrade to mbed TLS 2.28.0
Upgrade to the latest and greatest 2.x release of Mbed TLS library (i.e. v2.28.0) to take advantage of their bug fixes.
Note that the Mbed TLS project published version 3.x some time ago. However, as this is a major release with API breakages, upgrading to 3.x might require some more involved changes in TF-A, which we are not ready to do. We shall upgrade to mbed TLS 3.x after the v2.7 release of TF-A.
Change-Id: I887dfd87893169c7be53b986e6c43338d15949d7 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| a93084be | 21-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
build(deps): upgrade to mbed TLS 2.28.0
Upgrade to the latest and greatest 2.x release of Mbed TLS library (i.e. v2.28.0) to take advantage of their bug fixes.
Note that the Mbed TLS project publis
build(deps): upgrade to mbed TLS 2.28.0
Upgrade to the latest and greatest 2.x release of Mbed TLS library (i.e. v2.28.0) to take advantage of their bug fixes.
Note that the Mbed TLS project published version 3.x some time ago. However, as this is a major release with API breakages, upgrading to 3.x might require some more involved changes in TF-A, which we are not ready to do. We shall upgrade to mbed TLS 3.x after the v2.7 release of TF-A.
Actually, the upgrade this time simply boils down to including the new source code module 'constant_time.c' into the firmware.
To quote mbed TLS v2.28.0 release notes [1]:
The mbedcrypto library includes a new source code module constant_time.c, containing various functions meant to resist timing side channel attacks. This module does not have a separate configuration option, and functions from this module will be included in the build as required.
As a matter of fact, if one is attempting to link TF-A against mbed TLS v2.28.0 without the present patch, one gets some linker errors due to missing symbols from this new module.
Apart from this, none of the items listed in mbed TLS release notes [1] directly affect TF-A. Special note on the following one:
Fix a bug in mbedtls_gcm_starts() when the bit length of the iv exceeds 2^32.
In TF-A, we do use mbedtls_gcm_starts() when the firmware decryption feature is enabled with AES-GCM as the authenticated decryption algorithm (DECRYPTION_SUPPORT=aes_gcm). However, the iv_len variable which gets passed to mbedtls_gcm_starts() is an unsigned int, i.e. a 32-bit value which by definition is always less than 2**32. Therefore, we are immune to this bug.
With this upgrade, the size of BL1 and BL2 binaries does not appear to change on a standard sample test build (with trusted boot and measured boot enabled).
[1] https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.0
Change-Id: Icd5dbf527395e9e22c8fd6b77427188bd7237fd6 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| bc7b7098 | 25-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "docs(prerequisites): update Arm compilers download link" into integration |
| 71a5543b | 15-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
docs(prerequisites): update Arm compilers download link
Right now, TF-A documentation recommends downloading Arm compilers from:
https://developer.arm.com/open-source/gnu-toolchain/gnu-a/download
docs(prerequisites): update Arm compilers download link
Right now, TF-A documentation recommends downloading Arm compilers from:
https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads
However, this page is now deprecated, as indicated by the banner at the top of the page. When navigating to the new recommended page, one can see the following note, which provides the rationale for the deprecation:
GNU Toolchain releases from Arm were published previously as two separate releases - one for A-profile and the other for R & M profiles (GNU Toolchain for A-profile processors and GNU Arm Embedded Toolchain).
Arm GNU Toolchain releases unifies these two into a single release and the previous way of releases therefore have been discontinued. However, the previous releases will continue to be available for reference.
This patch updates the link to the new recommended place for compiler downloads.
Change-Id: Iefdea3866a1af806a5db2d2288edbb63c543b8ee Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 94909893 | 25-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "docs: fix mailing lists URLs" into integration |