| 77c27753 | 09-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add RMM dispatcher (RMMD)
This patch introduces the RMM dispatcher into BL31. This will be the mechanism that will enable communication to take place between the Realm and non-secure worl
feat(rme): add RMM dispatcher (RMMD)
This patch introduces the RMM dispatcher into BL31. This will be the mechanism that will enable communication to take place between the Realm and non-secure world. Currently gives the capability for granules to be transitioned from non-secure type to realm and vice versa.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Signed-off-by: Subhasish Ghosh <subhasish.ghosh@arm.com> Change-Id: I1fdc99a4bdd42bc14911aa0c6954b131de309511
show more ...
|
| a6db44ad | 05-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes Ie7c0eaf2,I11d882f3,I3f173ac4,If1fa12bf,I3e3a202f, ... into integration
* changes: feat(plat/rcar3): keep RWDT enabled feat(drivers/rcar3): add extra offset if booting B-side fea
Merge changes Ie7c0eaf2,I11d882f3,I3f173ac4,If1fa12bf,I3e3a202f, ... into integration
* changes: feat(plat/rcar3): keep RWDT enabled feat(drivers/rcar3): add extra offset if booting B-side feat(plat/rcar3): modify LifeC register setting for R-Car D3 feat(plat/rcar3): modify SWDT counter setting for R-Car D3 feat(plat/rcar3): update DDR setting for R-Car D3 feat(plat/rcar3): remove access to RMSTPCRn registers in R-Car D3 feat(plat/rcar3): add process of SSCG setting for R-Car D3 feat(plat/rcar3): add process to back up X6 and X7 register's value feat(plat/rcar3): modify operation register from SYSCISR to SYSCISCR feat(plat/rcar3): add SYSCEXTMASK bit set/clear in scu_power_up feat(plat/rcar3): change the memory map for OP-TEE feat(plat/rcar3): use PRR cut to determine DRAM size on M3 feat(plat/rcar3): apply ERRATA_A53_1530924 and ERRATA_A57_1319537 fix(plat/rcar3): fix disabling MFIS write protection for R-Car D3 fix(plat/rcar3): fix eMMC boot support for R-Car D3 fix(plat/rcar3): fix version judgment for R-Car D3 fix(plat/rcar3): fix source file to make about GICv2 fix(drivers/rcar3): console: fix a return value of console_rcar_init
show more ...
|
| 64e8ac6f | 05-Oct-2021 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(fvp): fix fvp_cpu_standby() function" into integration |
| 3202ce8b | 01-Sep-2021 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
fix(fvp): fix fvp_cpu_standby() function
The latest FVP model fix which correctly checks if IRQs are enabled in current exception level, is causing TFTF tests to hang. This patch adds setting SCR_EL
fix(fvp): fix fvp_cpu_standby() function
The latest FVP model fix which correctly checks if IRQs are enabled in current exception level, is causing TFTF tests to hang. This patch adds setting SCR_EL3.I and SCR_EL3.F bits in 'fvp_cpu_standby()' function to allow CPU to exit from WFI.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Change-Id: Iceec1e9dbd805803d370ecdb10e04ad135d6b3aa
show more ...
|
| 6c09af9f | 09-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): run BL2 in root world when FEAT_RME is enabled
This patch enables BL2 to run in root world (EL3) which is needed as per the security model of RME-enabled systems.
Using the existing BL2_
feat(rme): run BL2 in root world when FEAT_RME is enabled
This patch enables BL2 to run in root world (EL3) which is needed as per the security model of RME-enabled systems.
Using the existing BL2_AT_EL3 TF-A build option is not convenient because that option assumes TF-A BL1 doesn't exist, which is not the case for RME-enabled systems. For the purposes of RME, we use a normal BL1 image but we also want to run BL2 in EL3 as normally as possible, therefore rather than use the special bl2_entrypoint function in bl2_el3_entrypoint.S, we use a new bl2_entrypoint function (in bl2_rme_entrypoint.S) which doesn't need reset or mailbox initialization code seen in the el3_entrypoint_common macro.
The patch also cleans up bl2_el3_entrypoint.S, moving the bl2_run_next_image function to its own file to avoid duplicating code.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I99821b4cd550cadcb701f4c0c4dc36da81c7ef55
show more ...
|
| 36218238 | 08-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add xlat table library changes for FEAT_RME
FEAT_RME adds a new bit (NSE) in the translation table descriptor to determine the Physical Address Space (PAS) of an EL3 stage 1 translation a
feat(rme): add xlat table library changes for FEAT_RME
FEAT_RME adds a new bit (NSE) in the translation table descriptor to determine the Physical Address Space (PAS) of an EL3 stage 1 translation according to the following mapping:
TTD.NSE TTD.NS | PAS ================================= 0 0 | Secure 0 1 | Non-secure 1 0 | Root 1 1 | Realm
This patch adds modifications to version 2 of the translation table library accordingly. Bits 4 and 5 in mmap attribute are used to determine the PAS.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I82790f6900b7a1ab9494c732eac7b9808a388103
show more ...
|
| 7feb4350 | 04-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(drivers/st/clk): change fdt_get_rcc_node as static" into integration |
| c3908910 | 04-Oct-2021 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "gic-700-auto" into integration
* changes: fix(arm_fpga): streamline generated axf file feat(arm_fpga): add kernel trampoline |
| 9177e4fd | 20-Aug-2021 |
Andre Przywara <andre.przywara@arm.com> |
fix(arm_fpga): streamline generated axf file
For convenience we let the build system generate an ELF file (named bl31.axf), containing all the trampolines, BL31 code and the DTB in one file. This ca
fix(arm_fpga): streamline generated axf file
For convenience we let the build system generate an ELF file (named bl31.axf), containing all the trampolines, BL31 code and the DTB in one file. This can be fed directly into the FPGA payload tool, and it will load the bits at the right addresses. Since this ELF file is more used as a "container with load addresses", there is no need for normal ELF features like alignment or a symbol table.
Remove unnecessary sections from that output file, by doing a static "link", dropping the NOBITS stacks section, and by adding "-n" to the linker command line (to avoid page alignment). This trims the generated .axf file, and makes it smaller.
Change-Id: I5768543101d667fb4a3b70e60b08cfe970d2a2b6 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| de9fdb9b | 14-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(arm_fpga): add kernel trampoline
The arm64 Linux kernel needed to be loaded at a certain offset within any 2MB aligned region; this value was configured at compile time and stored in the Linux
feat(arm_fpga): add kernel trampoline
The arm64 Linux kernel needed to be loaded at a certain offset within any 2MB aligned region; this value was configured at compile time and stored in the Linux kernel image header. The default value was always 512KiB, so this is the value we use in the TF-A build system for the kernel load address. However the whole scheme around the TEXT_OFFSET changed in Linux v5.8: Linux kernels became fully relocatable, so this value is largely ignored now, and its default value changed to 0. The only remainder is a warning message at boot time in case there is a mismatch: [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
To avoid this warning, and to make TF-A Linux kernel boot protocol compliant, we should load newer kernels to offset 0 of a 2 MB region. This can be done by the user at FPGA boot time, but BL31 needs to know about this address. As we can't change the build default to 0 without breaking older kernels, we should try to make a build dealing with both versions:
This patch introduces a small trampoline code, which gets loaded at 512KB of DRAM, and branches up to 2MB. If users load their newer kernels at 2MB, this trampoline will cover them. In case an older kernel is loaded at 512KB, it will overwrite this trampoline code, so it would still work.
Change-Id: If49ca86f5dca380036caf2555349748722901277 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 15f41e6d | 04-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(xlat): remove always true check in assert" into integration |
| caf8fdb7 | 04-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "imx8mp-tbbr" into integration
* changes: feat(plat/imx/imx8m/imx8mp): enable Trusted Boot feat(plat/imx/imx8m/imx8mp): add in BL2 with FIP refactor(plat/imx/imx8m): m
Merge changes from topic "imx8mp-tbbr" into integration
* changes: feat(plat/imx/imx8m/imx8mp): enable Trusted Boot feat(plat/imx/imx8m/imx8mp): add in BL2 with FIP refactor(plat/imx/imx8m): make image load logic for TBBR FIP booting common feat(plat/imx/imx8m/imx8mp): add initial definition to facilitate FIP layout refactor(plat/imx/imx): make imx io-storage logic for TBBR/FIP common feat(plat/imx/imx8m/imx8mp): add imx8mp_private.h to the build
show more ...
|
| 74d720a0 | 26-Aug-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
fix(xlat): remove always true check in assert
This issue was found with Clang compiler: lib/xlat_tables_v2/aarch32/xlat_tables_arch.c:206:34: error: result of comparison of constant 4294967296 with
fix(xlat): remove always true check in assert
This issue was found with Clang compiler: lib/xlat_tables_v2/aarch32/xlat_tables_arch.c:206:34: error: result of comparison of constant 4294967296 with expression of type 'uintptr_t' (aka 'unsigned long') is always true [-Werror,-Wtautological-constant-out-of-range-compare] assert(virtual_addr_space_size <= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
On AARCH32, MAX_VIRT_ADDR_SPACE_SIZE is defined as 1 << 32, and a 32 bit uintptr_t is always lower. Just remove the assert line.
Change-Id: Iec2c05290cede6e9fedbbf7b7dff2118bd1f9b16 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| 6acaba62 | 04-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I16cac81b,I6c709c0c,I69581714,I018d158f,I23146f56, ... into integration
* changes: fix(drivers/marvell/comphy-cp110): fix error code in pcie power on fix(drivers/marvell/comphy-370
Merge changes I16cac81b,I6c709c0c,I69581714,I018d158f,I23146f56, ... into integration
* changes: fix(drivers/marvell/comphy-cp110): fix error code in pcie power on fix(drivers/marvell/comphy-3700): handle failures in power functions fix(drivers/marvell/comphy-3700): fix address overflow refactor(drivers/marvell/comphy-3700): simplify usage of comphy_sgmii_phy_init() refactor(drivers/marvell/comphy-3700): simplify usage of indirect access on lane2 refactor(drivers/marvell/comphy-3700): simplify usage of sata power off
show more ...
|
| 83ad3819 | 05-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): remove unused extern
Change-Id: I4fb7a79c2f31973a3cd181feaface9a42bc3246f Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> |
| 4693ff72 | 08-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add Realm security state definition
FEAT_RME introduces two additional security states, Root and Realm security states. This patch adds Realm security state awareness to SMCCC helpers and
feat(rme): add Realm security state definition
FEAT_RME introduces two additional security states, Root and Realm security states. This patch adds Realm security state awareness to SMCCC helpers and entry point info structure.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I9cdefcc1aa71259b2de46e5fb62b28d658fa59bd
show more ...
|
| 81c272b3 | 08-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add register definitions and helper functions for FEAT_RME
This patch adds new register and bit definitions for the Armv9-A Realm Management Extension (RME) as described in the Arm docume
feat(rme): add register definitions and helper functions for FEAT_RME
This patch adds new register and bit definitions for the Armv9-A Realm Management Extension (RME) as described in the Arm document DDI0615 (https://developer.arm.com/documentation/ddi0615/latest).
The patch also adds TLB maintenance functions and a function to detect the presence of RME feature.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I03d2af7ea41a20a9e8a362a36b8099e3b4d18a11
show more ...
|
| b36fe212 | 29-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
errata: workaround for Cortex-A78 erratum 2132060
Cortex-A78 erratum 2132060 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, and r1p2 of CPU. It is still open. The workaround is to wr
errata: workaround for Cortex-A78 erratum 2132060
Cortex-A78 erratum 2132060 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, and r1p2 of CPU. It is still open. The workaround is to write the value 2'b11 to the PF_MODE bits in the CPUECTLR_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401784/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: If7dec72578633d37d110d103099e406c3a970ff7
show more ...
|
| 8e140272 | 28-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
errata: workaround for Neoverse-V1 erratum 2108267
Neoverse-V1 erratum 2108267 is a Cat B erratum that applies to revisions r0p0, r1p0, and r1p1 of CPU. It is still open. The workaround is to write
errata: workaround for Neoverse-V1 erratum 2108267
Neoverse-V1 erratum 2108267 is a Cat B erratum that applies to revisions r0p0, r1p0, and r1p1 of CPU. It is still open. The workaround is to write the value 2'b11 to the PF_MODE bits in the CPUECTLR_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401781/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: Iedcb84a7ad34af7083116818f49d7296f7d9bf94
show more ...
|
| ef8f0c52 | 28-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
fix(errata): workaround for Neoverse-N2 erratum 2138953
Neoverse-N2 erratum 2138953 is a Cat B erratum that applies to revision r0p0 of CPU. It is still open. The workaround is to write the value 4'
fix(errata): workaround for Neoverse-N2 erratum 2138953
Neoverse-N2 erratum 2138953 is a Cat B erratum that applies to revision r0p0 of CPU. It is still open. The workaround is to write the value 4'b1001 to the PF_MODE bits in the IMP_CPUECTLR2_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: Ife0a4bece7ccf83cc99c1d5f5b5a43084bb69d64
show more ...
|
| 744bdbf7 | 22-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
fix(errata): workaround for Cortex-A710 erratum 2058056
Cortex-A710 erratum 2058056 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0. It is still open. The workaround is to write th
fix(errata): workaround for Cortex-A710 erratum 2058056
Cortex-A710 erratum 2058056 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0. It is still open. The workaround is to write the value 4'b1001 to the PF_MODE bits in the IMP_CPUECTLR2_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: I7ce5181b3b469fbbb16501e633116e119b8bf4f1
show more ...
|
| 1c65989e | 16-Sep-2021 |
Laurent Carlier <laurent.carlier@arm.com> |
feat(drivers/arm/ethosn)!: multi-device support
Add support for Arm Ethos-N NPU multi-device.
The device tree parsing currently only supports one NPU device with multiple cores. To be able to suppo
feat(drivers/arm/ethosn)!: multi-device support
Add support for Arm Ethos-N NPU multi-device.
The device tree parsing currently only supports one NPU device with multiple cores. To be able to support multi-device NPU configurations this patch adds support for having multiple NPU devices in the device tree.
To be able to support multiple NPU devices in the SMC API, it has been changed in an incompatible way so the API version has been bumped.
Signed-off-by: Laurent Carlier <laurent.carlier@arm.com> Change-Id: Ide279ce949bd06e8939268b9601c267e45f3edc3
show more ...
|
| ff766148 | 30-Sep-2021 |
Laurent Carlier <laurent.carlier@arm.com> |
feat(fdt): add for_each_compatible_node macro
This macro enables users to go through dts nodes that have a particular compatible string in its node attribute.
Signed-off-by: Laurent Carlier <lauren
feat(fdt): add for_each_compatible_node macro
This macro enables users to go through dts nodes that have a particular compatible string in its node attribute.
Signed-off-by: Laurent Carlier <laurent.carlier@arm.com> Change-Id: Id80cbe6f6057076e0d53905cdc0f9a44e79960f8
show more ...
|
| fe82bcc0 | 30-Sep-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "feat(cpu): add support for Hayes CPU" into integration |
| a07c94b4 | 30-Sep-2021 |
Joanna Farley <joanna.farley@arm.com> |
Merge changes from topic "gm/reviewCI" into integration
* changes: docs: armv8-R aarch64 fvp_r documentation fvp_r: load, auth, and transfer from BL1 to BL33 chore: fvp_r: Initial No-EL3 and
Merge changes from topic "gm/reviewCI" into integration
* changes: docs: armv8-R aarch64 fvp_r documentation fvp_r: load, auth, and transfer from BL1 to BL33 chore: fvp_r: Initial No-EL3 and MPU Implementation fvp_r: initial platform port for fvp_r
show more ...
|