- 28 Jul, 2021 9 commits
-
-
Joanna Farley authored
-
Manish Pandey authored
-
Stas Sergeev authored
These files are needed during boot, but they were missing for semihosting. With this patch, the list of files is complete enough to boot on ATF platform via semihosting. Change-Id: I2f0ca25983a6e18096f040780776f19f8040ea79 Signed-off-by: stsp@users.sourceforge.net
-
Manish Pandey authored
-
Manish Pandey authored
-
Joanna Farley authored
-
Ming Huang authored
Consider a RAS scenario: Enter EL3 by sync exception, then call spm_mm_sp_call() enter EL0s to handle this error, then call sdei_dispatch_event() to inform OS. Finally, return back to OS from sync exception flow. Similar flow is sgi_ras_intr_handler() in sgi_ras.c. The icc_pmr_el1 register will be change in above flow: 1 cm_el1_sysregs_context_save(NON_SECURE); -> ehf_exited_normal_world(); ##icc_pmr_el1: 0xf8 => 0x80 2 spm_mm_sp_call(); 3 sdei_dispatch_event(); 4 ehf_activate_priority(sdei_event_priority(map)); ##icc_pmr_el1: 0x80 => 0x60 5 restore_and_resume_ns_context(); -> ehf_exited_normal_world(); ##return due to has_valid_pri_activations(pe_data) == 1 6 ehf_deactivate_priority(sdei_event_priority(map)); ##icc_pmr_el1: 0x60 => 0x80 The icc_pmr_el1 was rewrote from 0xf8 to 0x80. This issue will result in OS hang when eret to OS from RAS flow. Move ehf_activate_priority(sdei_event_priority(map)) after restore_and_resum...
-
Jeremy Linton authored
The rpi4 has a single nonstandard ECAM. It is broken into two pieces, the root port registers, and a window to a single device's config space which can be moved between devices. Now that we have widened the page tables/MMIO window, we can create a read/write acces functions that are called by the SMCCC/PCI API. As an example platform, the rpi4 single device ECAM region quirk is pretty straightforward. The assumption here is that a lower level (uefi) has configured and initialized the PCI root to match the values we are using here. Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Change-Id: Ie1ffa8fe9aa1d3c62e6aa84746a949c1009162e0
-
Jeremy Linton authored
Now that we have adjusted the address map, added the SMC conduit code, and the RPi4 PCI callbacks, lets add the flags to enable everything in the build. By default this service is disabled because the expectation is that its only useful in a UEFI+ACPI environment. Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Change-Id: I2a3cac6d63ba8119d3b711db121185816b89f8a2
-
- 27 Jul, 2021 3 commits
-
-
Madhukar Pappireddy authored
-
Madhukar Pappireddy authored
-
Olivier Deprez authored
-
- 26 Jul, 2021 5 commits
-
-
David Horstmann authored
The function read_uuid() zeroes the UUID destination buffer on error. However, it mistakenly uses the dest pointer that has been incremented many times during the parsing, leading to an out-of-bounds write. To fix this, retain a pointer to the start of the buffer, and use this when clearing it instead. Signed-off-by: David Horstmann <david.horstmann@arm.com> Change-Id: Iee8857be5d3f383ca2eab86cde99a43bf606f306
-
Madhukar Pappireddy authored
-
André Przywara authored
* changes: refactor(plat/allwinner): clean up platform definitions refactor(plat/allwinner): do not map BL32 DRAM at EL3 refactor(plat/allwinner): map SRAM as device memory by default refactor(plat/allwinner): rename static mmap region constant feat(bl_common): import BL_NOBITS_{BASE,END} when defined
-
Manish Pandey authored
-
Manish Pandey authored
* changes: fix(plat/tc0): enable AMU extension fix(el3_runtime): fix SVE and AMU extension enablement flags
-
- 25 Jul, 2021 1 commit
-
-
Joanna Farley authored
-
- 24 Jul, 2021 2 commits
-
-
Joanna Farley authored
-
Peng Fan authored
Add myself as i.MX8 maintainer. Signed-off-by: Peng Fan <peng.fan@nxp.com> Change-Id: Ib037c24a75d42febd79f2eb1ab3b985356dbfb58
-
- 23 Jul, 2021 10 commits
-
-
Madhukar Pappireddy authored
* changes: feat: disabling non volatile counters in diphda feat: adding the diphda platform
-
Daniel Boulby authored
The SDEI specification now says that during an SDEI event handler dispatch the SPSR should be set according to the TakeException() pseudocode function defined in the Arm Architecture Reference Manual. This patch sets the SPSR according to the function given in ARM DDI 0487F.c page J1-7635 Change-Id: Id2f8f2464fd69c701d81626162827e5c4449b658 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
-
Arunachalam Ganapathy authored
Recent changes to enable SVE for the secure world have disabled AMU extension by default in the reset value of CPTR_EL3 register. So the platform has to enable this extension explicitly. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I7d930d96ec22d7c3db961411370564bece0ce272
-
Arunachalam Ganapathy authored
If SVE are enabled for both Non-secure and Secure world along with AMU extension, then it causes the TAM_BIT in CPTR_EL3 to be set upon exit from bl31. This restricts access to the AMU register set in normal world. This fix maintains consistency in both TAM_BIT and CPTR_EZ_BIT by saving and restoring CPTR_EL3 register from EL3 context. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: Id76ce1d27ee48bed65eb32392036377716aff087
-
Ming Huang authored
A RAS error may be triggered while offline core in OS. Error: Uncorrected software error in the Distributor, with IERR=9,SERR=f. Core put to sleep before its Group enables were cleared. gicv3_cpuif_disable() will be called in offline core flow. According to GIC architecture version 3 and version 4: Architectural execution of a DSB instruction guarantees that the last value written to ICC_IGRPEN0_EL1, ICC_IGRPEN1_EL1, ICC_IGRPEN1_EL3 or GICC_CTLR.{EnableGrp0, EnableGrp1}is observed by the associated Redistributor. An ISB or other context synchronization operation must precede the DSB to ensure visibility of System register writes. Signed-off-by: Ming Huang <huangming@linux.alibaba.com> Change-Id: Iff1475657f401374c761b5e8f2f5b3a4b2040e9d
-
Samuel Holland authored
Group the SCP base/size definitions in a more logical location. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Id43f9b468d7d855a2413173d674a5ee666527808
-
Samuel Holland authored
BL31 does not appear to ever access the DRAM allocated to BL32, so there is no need to map it at EL3. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Ie8727b793e53ea14517894942266f6da0333eb74
-
Samuel Holland authored
The SRAM on Allwinner platforms is shared between BL31 and coprocessor firmware. Previously, SRAM was mapped as normal memory by default. This scheme requires carveouts and cache maintenance code for proper synchronization with the coprocessor. A better scheme is to only map pages owned by BL31 as normal memory, and leave everything else as device memory. This removes the need for cache maintenance, and it makes the mapping for BL31 RW data explicit instead of magic. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I820ddeba2dfa2396361c2322308c0db51b55c348
-
Samuel Holland authored
This constant specifically refers to the number of static mmap regions. Rename it to make that clear. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I475c037777ce2a10db2631ec0e7446bb73590a36
-
Samuel Holland authored
If SEPARATE_NOBITS_REGION is enabled, the platform may need to map memory specifically for that region. Import the symbols from the linker script to allow the platform to do so. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Iaec4dee94a6735b22f58f7b61f18d53e7bc6ca8d
-
- 22 Jul, 2021 6 commits
-
-
Abdellatif El Khlifi authored
At this stage of development Non Volatile counters are not implemented in the Diphda platform. This commit disables their use during the Trusted Board Boot by overriding the NV counters get/set functions. Change-Id: I8dcbebe0281cc4d0837c283ff637e20b850988ef Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-
Abdellatif El Khlifi authored
This commit enables trusted-firmware-a with Trusted Board Boot support for the Diphda 64-bit platform. Diphda uses a FIP image located in the flash. The FIP contains the following components: - BL2 - BL31 - BL32 - BL32 SPMC manifest - BL33 - The TBB certificates The board boot relies on CoT (chain of trust). The trusted-firmware-a BL2 is extracted from the FIP and verified by the Secure Enclave processor. BL2 verification relies on the signature area at the beginning of the BL2 image. This area is needed by the SecureEnclave bootloader. Then, the application processor is released from reset and starts by executing BL2. BL2 performs the actions described in the trusted-firmware-a TBB design document. Signed-off-by: Rui Miguel Silva <rui.silva@arm.com> Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Change-Id: Iddb1cb9c2a0324a9635e23821c210ac81dfc305d
-
Madhukar Pappireddy authored
-
Madhukar Pappireddy authored
* changes: fix(drivers/scmi-msg): entry: add weak functions feat(drivers/scmi-msg): add power domain protocol fix(drivers/scmi-msg): smt: fix build for aarch64
-
Peng Fan authored
One platform may not implement all the protocols, to avoid build break when we not include all the protocols, add weak functions. Reviewed-by: Jacky Bai <ping.bai@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Change-Id: I1485baa2e8f381cb0eede1a7b93ed10e49934971
-
Peng Fan authored
Add SCMI power domain protocol, with POWER_STATE_NOTIFY and POWER_STATE_CHANGE_REQUESTED_NOTIFY not implemented. Reviewed-by: Jacky Bai <ping.bai@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Change-Id: Ia7c4db57c4c702667f8eaa630c924016e4a8bde0
-
- 21 Jul, 2021 1 commit
-
-
Roger Lu authored
Signed-off-by: Roger Lu <roger.lu@mediatek.com> Change-Id: I6dbf6d4ea6310c3371ca15d1e7cce249a05af2fb
-
- 20 Jul, 2021 3 commits
-
-
Madhukar Pappireddy authored
-
Manish Pandey authored
* changes: refactor(plat/arm): use mmio* functions to read/write NVFLAGS registers refactor(plat/arm): mark the flash region as read-only refactor(plat/arm): update NV flags on image load/authentication failure
-
Manish Pandey authored
* changes: fix(plat/marvell/a3k): Fix building uart-images.tgz.bin archive refactor(plat/marvell/a3k): Rename *_CFG and *_SIG variables refactor(plat/marvell/a3k): Rename DOIMAGETOOL to TBB refactor(plat/marvell/a3k): Remove useless DOIMAGEPATH variable fix(plat/marvell/a3k): Fix check for external dependences fix(plat/marvell/a8k): Add missing build dependency for BLE target fix(plat/marvell/a8k): Correctly set include directories for individual targets fix(plat/marvell/a8k): Require that MV_DDR_PATH is correctly set
-