| 23411d2c | 12-Mar-2018 |
Summer Qin <summer.qin@arm.com> |
plat/arm: Allow override of default TZC regions
This patch allows the ARM Platforms to specify the TZC regions to be specified to the ARM TZC helpers in arm_tzc400.c and arm_tzc_dmc500.c. If the reg
plat/arm: Allow override of default TZC regions
This patch allows the ARM Platforms to specify the TZC regions to be specified to the ARM TZC helpers in arm_tzc400.c and arm_tzc_dmc500.c. If the regions are not specified then the default TZC region will be configured by these helpers.
This override mechanism allows specifying special regions for TZMP1 usecase.
Signed-off-by: Summer Qin <summer.qin@arm.com>
show more ...
|
| 364e1342 | 28-Mar-2018 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
Add NXP to contributor list
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> |
| 33d4af47 | 02-Mar-2018 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
layerscape: Initial TF-A support for LS1043ardb
This patch introduce TF-A support for NXP's ls1043a platform. more details information of ls1043a chip and ls1043ardb board can be found at docs/plat/
layerscape: Initial TF-A support for LS1043ardb
This patch introduce TF-A support for NXP's ls1043a platform. more details information of ls1043a chip and ls1043ardb board can be found at docs/plat/ls1043a.rst.
Boot sequence on ls1043a is: bootrom loads bl1 firstly, then bl1 loads bl2, bl2 will load bl31, bl32 and bl33, bl31 will boot bl32(tee os) and bl33(u-boot or uefi), bl33 boot Linux kernel.
Now TF-A on ls1043ardb platform has the following features in this patch: * Support boot from Nor flash. * TF-A can boot bl33 which runs in el2 of non-secure world. * TF-A boot OPTee OS. * Support PSCI
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Signed-off-by: Chenyin.Ha <Chenyin.Ha@nxp.com> Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com> Signed-off-by: jiaheng.fan <jiaheng.fan@nxp.com> Signed-off-by: Wen He <wen.he_1@nxp.com>
show more ...
|
| 0ed32232 | 03-Apr-2018 |
Varun Wadekar <vwadekar@nvidia.com> |
lib: xlat_tables_v2: reduce time required to add a mmap region
The last entry in the mapping table is not necessarily the same as the end of the table. This patch loops through the table to find the
lib: xlat_tables_v2: reduce time required to add a mmap region
The last entry in the mapping table is not necessarily the same as the end of the table. This patch loops through the table to find the last entry marker, on every new mmap addition. The memove operation then has to only move the memory between current entry and the last entry. For platforms that arrange their MMIO map properly, this opearation turns out to be a NOP.
The previous implementation added significant overhead per mmap addition as the memmove operation always moved the difference between the current mmap entry and the end of the table.
Tested on Tegra platforms and this new approach improves the memory mapping time by ~75%, thus significantly reducing boot time on some platforms.
Change-Id: Ie3478fa5942379282ef58bee2085da799137e2ca Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| c39afead | 09-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1328 from JiafeiPan/upstream-bl2-rom
Add support for BL2 in XIP memory |
| 83a2376e | 23-Mar-2018 |
Amit Daniel Kachhap <amit.kachhap@arm.com> |
Juno: Increase bl2 max size to fix build when SPD=opteed
Building TBBR(SPD=opteed) and non-TBBR TF-A images is breaking for Juno for different configurations listed below:
* Overflow error of 4096
Juno: Increase bl2 max size to fix build when SPD=opteed
Building TBBR(SPD=opteed) and non-TBBR TF-A images is breaking for Juno for different configurations listed below:
* Overflow error of 4096 bytes for rsa algorithm. * Overflow error of 8192 bytes for ecdsa algorithm. * Overflow error of 4096 bytes for rsa+ecdsa algorithm. * Overflow error of 4096 bytes for non-TBBR case.
So this patch increments macro PLAT_ARM_MAX_BL2_SIZE for all the above cases accordingly.
Change-Id: I75ec6c0a718181d34553fe55437f0496f467683f Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com>
show more ...
|
| d12afc8e | 09-Apr-2018 |
Amit Daniel Kachhap <amit.kachhap@arm.com> |
DMC500: Add platform support to set system interface count
Some low end platforms using DMC500 memory controller do not have CCI(Cache Coherent Interconnect) interface and only have non-coherent sys
DMC500: Add platform support to set system interface count
Some low end platforms using DMC500 memory controller do not have CCI(Cache Coherent Interconnect) interface and only have non-coherent system interface support. Hence this patch makes the system interface count configurable from the platforms.
Change-Id: I6d54c90eb72fd18026c6470c1f7fd26c59dc4b9a Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com>
show more ...
|
| 02956560 | 09-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1339 from dp-arm/dp/smccc
Fixup SMCCC_FEATURES return value for SMCCC_ARCH_WORKAROUND_1 |
| b4ad9768 | 27-Mar-2018 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
fix instruction address range limitation
For the adr instruction, it require the label's offset from the address of this instruction must be in the range +/-1MB. If the option "BL2_IN_XIP_MEM" is se
fix instruction address range limitation
For the adr instruction, it require the label's offset from the address of this instruction must be in the range +/-1MB. If the option "BL2_IN_XIP_MEM" is set to '1', in some cases, BL2's RW memory will not in the range of +/-1MB from BL2's RO memory region. so we need to use ldr instruction to cover this case.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
show more ...
|
| 7d173fc5 | 21-Mar-2018 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
Add support for BL2 in XIP memory
In some use-cases BL2 will be stored in eXecute In Place (XIP) memory, like BL1. In these use-cases, it is necessary to initialize the RW sections in RAM, while lea
Add support for BL2 in XIP memory
In some use-cases BL2 will be stored in eXecute In Place (XIP) memory, like BL1. In these use-cases, it is necessary to initialize the RW sections in RAM, while leaving the RO sections in place. This patch enable this use-case with a new build option, BL2_IN_XIP_MEM. For now, this option is only supported when BL2_AT_EL3 is 1.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
show more ...
|
| 3cb74922 | 06-Apr-2018 |
Derek Basehore <dbasehore@chromium.org> |
rockchip/rk3399: Fix sram_udelay
This fixes an off by 576x bug the the sram_udelay code. The wrong value was multipled by the system ticks per mhz value (which is 24), so we delayed for 1/576th of t
rockchip/rk3399: Fix sram_udelay
This fixes an off by 576x bug the the sram_udelay code. The wrong value was multipled by the system ticks per mhz value (which is 24), so we delayed for 1/576th of the requested time.
Signed-off-by: Derek Basehore <dbasehore@chromium.org>
show more ...
|
| 468bea41 | 05-Apr-2018 |
David Cunado <david.cunado@arm.com> |
FVP: Fix function for translating MPIDR to linear index
The current AArch32 version of plat_arm_calc_core_pos uses an incorrect algorithm to calculate the linear position of a core / PE from its MPI
FVP: Fix function for translating MPIDR to linear index
The current AArch32 version of plat_arm_calc_core_pos uses an incorrect algorithm to calculate the linear position of a core / PE from its MPIDR.
This patch corrects the algorithm to:
(ClusterId * FVP_MAX_CPUS_PER_CLUSTER) * FVP_MAX_PE_PER_CPU + (CPUId * FVP_MAX_PE_PER_CPU) + ThreadId
which supports cores where there are more than 1 PE per CPU.
NOTE: the AArch64 version was fixed in 39b21d1
Change-Id: I72aea89d8f72f8b1fef54e2177a0fa6fef0f5513 Signed-off-by: David Cunado <david.cunado@arm.com>
show more ...
|
| 93883a29 | 04-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1338 from antonio-nino-diaz-arm/an/spm-flag-check
SPM: Assert value of `ENABLE_SPM` build flag |
| 205cf6e7 | 09-Nov-2017 |
Andre Przywara <andre.przywara@arm.com> |
gicv3: Fix support for systems without secure interrupts
Accessing the interrupt_props array only happens inside a loop over interrupt_props_num, so the GICv3 driver can cope with no secure interrup
gicv3: Fix support for systems without secure interrupts
Accessing the interrupt_props array only happens inside a loop over interrupt_props_num, so the GICv3 driver can cope with no secure interrupts. This allows us to relax the asserts that insists on a non-NULL interrupt_props pointer and at least one secure interrupt. This enables GICv3 platforms which have no need for a secure interrupt.
This only covers the non-deprecated code paths.
Change-Id: I49db291906512f56af065772f69acb281dfbdcfb Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 9d6d800d | 09-Nov-2017 |
Samuel Holland <samuel@sholland.org> |
gicv2: Fix support for systems without secure interrupts
Accessing the interrupt_props array only happens inside a loop over interrupt_props_num, so the GICv2 driver can cope with no secure interrup
gicv2: Fix support for systems without secure interrupts
Accessing the interrupt_props array only happens inside a loop over interrupt_props_num, so the GICv2 driver can cope with no secure interrupts. As in fact we have already some asserts in place that respect that, lets change the final place where we insist on a non-NULL pointer to relax that. This enables GICv2 platforms which have no need for a secure interrupt.
This only covers the non-deprecated code paths.
Also we remove a now redundant assert().
Change-Id: Id100ea978643d8558335ad28649d55743fe9bd4c Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 59dc4ef4 | 28-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Fixup SMCCC_FEATURES return value for SMCCC_ARCH_WORKAROUND_1
Only return -1 if the workaround for CVE-2017-5715 is not compiled in.
Change-Id: I1bd07c57d22b4a13cf51b35be141a1f1ffb065ff Signed-off-
Fixup SMCCC_FEATURES return value for SMCCC_ARCH_WORKAROUND_1
Only return -1 if the workaround for CVE-2017-5715 is not compiled in.
Change-Id: I1bd07c57d22b4a13cf51b35be141a1f1ffb065ff Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
show more ...
|
| f11916bf | 03-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1334 from michpappas/tf-issues#572_qemu_dont_use_C_for_crash_console
qemu: don't use C functions for the crash console callbacks |
| aafd8e1c | 26-Mar-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
SPM: Assert value of `ENABLE_SPM` build flag
The Makefile was missing a check to verify that the value of `ENABLE_SPM` is boolean.
Change-Id: I97222e4df9ae2fbd89cdb3263956dca52d360993 Signed-off-by
SPM: Assert value of `ENABLE_SPM` build flag
The Makefile was missing a check to verify that the value of `ENABLE_SPM` is boolean.
Change-Id: I97222e4df9ae2fbd89cdb3263956dca52d360993 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 0e24ea81 | 27-Mar-2018 |
Michalis Pappas <mpappas@fastmail.fm> |
qemu: don't use C functions for the crash console callbacks
Use the console_pl011_core_* functions directly in the crash console callbacks.
This bypasses the MULTI_CONSOLE_API for the crash console
qemu: don't use C functions for the crash console callbacks
Use the console_pl011_core_* functions directly in the crash console callbacks.
This bypasses the MULTI_CONSOLE_API for the crash console (UART1), but allows using the crash console before the C runtime has been initialized (eg to call ASM_ASSERT). This retains backwards compatibility with respect to functionality when the old API is used.
Use the MULTI_CONSOLE_API to register UART0 as the boot and runtime console.
Fixes ARM-software/tf-issues#572
Signed-off-by: Michalis Pappas <mpappas@fastmail.fm>
show more ...
|
| 02f8c038 | 29-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1327 from npoushin/npoushin/sgi575
ARM platforms: Add support for SGI575 |
| 6ab136c2 | 29-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1313 from jonathanwright-ARM/jw/MISRA-switch-statements
Fix switch statements to comply with MISRA rules |
| 875a85aa | 29-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1333 from jeenu-arm/icfg-fix
GIC: Fix interrupt setting interrupt configuration |
| 79c0f525 | 29-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1325 from michpappas/tf-issues#568_qemu_add_ENABLE_STACK_PROTECTOR
qemu: Add support for stack canary protection |
| bd79727c | 29-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1331 from hzhuang1/reboot_delay
hikey960: add delay before reset |
| 469744e6 | 29-Mar-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1329 from antonio-nino-diaz-arm/an/rpi3-multi-console
rpi3: Migrate to the multi console API |