| 55fd56d7 | 03-Sep-2025 |
Yeoreum Yun <yeoreum.yun@arm.com> |
feat(spmd): get spmc manifest from xferlist
When TRANSFER_LIST build option is used, arg0 doesn't pass the SPMC manifest. but it should be passed to load SPMC.
For this, adds the spmc manifest entr
feat(spmd): get spmc manifest from xferlist
When TRANSFER_LIST build option is used, arg0 doesn't pass the SPMC manifest. but it should be passed to load SPMC.
For this, adds the spmc manifest entry in the transfer list with TL_TAG_DT_SPMC_MANIFEST tag and let spmd load the spmc manifest from transfer list.
Change-Id: I3b84c3d8a17bba4ac94afe00e1e19044449360b0 Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
show more ...
|
| b45b5bac | 15-Oct-2021 |
Marek Vasut <marek.vasut+renesas@mailbox.org> |
feat(rcar): add support for Renesas R-Car S4 / V4H / V4M
Add support for Renesas R-Car S4 / V4H / V4M , which are Gen4 SoC. Add platform code, BL31 setup code, platform specific PSCI handlers, CPU p
feat(rcar): add support for Renesas R-Car S4 / V4H / V4M
Add support for Renesas R-Car S4 / V4H / V4M , which are Gen4 SoC. Add platform code, BL31 setup code, platform specific PSCI handlers, CPU power driver, Gen4 (H)SCIF driver, and function to get canary for stack protector. Unlike Gen3, the Gen4 uses only TFA BL31 during boot.
Change-Id: Ic0eb8638a85757f997f29fc524c118c3e5d5135a Signed-off-by: Hideyuki Nitta <hideyuki.nitta.jf@hitachi.com> Signed-off-by: Hieu Nguyen <hieu.nguyen.dn@renesas.com> Signed-off-by: Jing Dan <jing.dan.nx@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Masashi Ozaki <masashi.ozaki.te@renesas.com> Signed-off-by: Taichiro Yokoyama <taichiro.yokoyama.ns@hitachi.com> Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com> Signed-off-by: Tsukasa Kawaguchi <tsukasa.kawaguchi.aw@hitachi.com> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com> Signed-off-by: Vincent Bryce <vincent.bryce@cogentembedded.com> Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com> --- NOTE: This patch is squashed and cleaned up from large stack of patches from multiple authors. SoB line from each author is included here, the author of this commit is set to myself although that is most certainly not accurate.
show more ...
|
| aed7dc81 | 08-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "rmm-lfa" into integration
* changes: feat(rmmd): add RMM_RESERVE_MEMORY SMC handler feat(rmmd): add per-CPU activation token |
| 1d4372c4 | 12-Jun-2025 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
feat(versal): add support to clear PM specific data
During a kexec restart, only the kernel is reloaded while TF-A state remains unchanged, causing a mismatch between kernel and TF-A states. To reso
feat(versal): add support to clear PM specific data
During a kexec restart, only the kernel is reloaded while TF-A state remains unchanged, causing a mismatch between kernel and TF-A states. To resolve this, add support for the TF_A_CLEAR_PM_STATE API, which clears TF-A PM state.
Change-Id: I6b460f8cd4293381d3a9c574dd144521b8e54f8a Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
show more ...
|
| 3ef5820c | 03-Sep-2025 |
Saivardhan Thatikonda <saivardhan.thatikonda@amd.com> |
fix(versal-net): fix coverity violation prevent buffer overrun
Coverity reported potential memory corruption issues in bl31_early_platform_setup2() (CIDs 487973 and 487972):
- CID 487973 (ARRAY_VS_
fix(versal-net): fix coverity violation prevent buffer overrun
Coverity reported potential memory corruption issues in bl31_early_platform_setup2() (CIDs 487973 and 487972):
- CID 487973 (ARRAY_VS_SINGLETON): "&boot_mode" was passed to get_boot_mode(), which treats the argument as an array. This could lead to misinterpretation of adjacent memory. - CID 487972 (OVERRUN): Passing "&boot_mode" (a single 4-byte element) allowed get_boot_mode() to access out-of-bounds indices, resulting in a possible buffer overrun.
Changed boot_mode from a single variable to an array sized according to the return payload, preventing singleton pointer violation.
Change-Id: I53944db10b694d1599da0e5b1fbd30a97e83803c Signed-off-by: Saivardhan Thatikonda <saivardhan.thatikonda@amd.com>
show more ...
|
| 745c129a | 09-Jul-2024 |
Andre Przywara <andre.przywara@arm.com> |
feat(rmmd): add RMM_RESERVE_MEMORY SMC handler
At the moment any memory required by an R-EL2 manager (RMM) needs to be known at compile time: that sets the size of the .data and .bss segments. Some
feat(rmmd): add RMM_RESERVE_MEMORY SMC handler
At the moment any memory required by an R-EL2 manager (RMM) needs to be known at compile time: that sets the size of the .data and .bss segments. Some resources depend on the particular machine this will be running on, the prime example is TF-RMM's granule array, which needs to know the maximum memory supported beforehand. Other data structures might depend on the number of CPU cores.
To provide more flexibility, but keep the memory footprint as small as possible, let's introduce some memory reservation SMC. Any RMM implementation can ask EL3 for some memory, and would get the physical address of a usable chunk of memory back. This must happen at RMM boot time, so before the RMM concluded the boot phase with the RMM_BOOT_COMPLETE SMC call. Also there is no provision to free memory again, this would not be needed for the use case of sizing platform resources, and avoids the complexity of a full-fledged memory allocator.
Add the new RMM_RESERVE_MEMORY command to the implementation defined RMM-EL3 SMC interface, both in code and documentation. The actual memory reservation is made a platform implementation, but a simple implementation is provided, which is used for the FVP platform already: it will just pick the next matching chunk of memory from the top end of the RMM carveout. This way the memory reservation will grow down from the end of the carveout, in a stack-like fashion, until it reaches the end of the RMM payload, located at the beginning of the carveout. Since secondary cores might also reserve memory at boot time, there is a spinlock to protect the simple allocation algorithm. Other platforms can choose to provide a more sophisticated reservation algorithm, for instance one taking NUMA locality into account.
This patch just provides the call, at this point there is no obligation to use the feature, although future TF-RMM versions would rely on it.
Change-Id: I096ac8870ee38f44e18850779fcae829a43a8fd1 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| c48c11e7 | 05-Sep-2025 |
Joanna Farley <joanna.farley@arm.com> |
Merge changes I5fcf6578,Ic7792603 into integration
* changes: fix(xilinx): fix missing security flag in suspend path feat(zynqmp): mark IPI calls secure/non-secure |
| 606e8fa2 | 05-Sep-2025 |
Joanna Farley <joanna.farley@arm.com> |
Merge "feat(versal2): add SPMD support for SPMC at S-EL1" into integration |
| 982ee634 | 04-Sep-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "xl/separate-bl2" into integration
* changes: feat(fwu): documentation for BL2 separation feat(fwu): separate bl2 image from rest of the FIP feat(fwu): create flag for
Merge changes from topic "xl/separate-bl2" into integration
* changes: feat(fwu): documentation for BL2 separation feat(fwu): separate bl2 image from rest of the FIP feat(fwu): create flag for BL2 separation
show more ...
|
| 2f5fd826 | 08-Oct-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(arm): unify Linux kernel as BL33 handling
Streamlines and unifies how Arm platforms pass arguments to the Linux kernel when it is loaded as BL33. It replaces the FVP specific macro `FVP_HW_CONF
feat(arm): unify Linux kernel as BL33 handling
Streamlines and unifies how Arm platforms pass arguments to the Linux kernel when it is loaded as BL33. It replaces the FVP specific macro `FVP_HW_CONFIG_ADDR` with a common macro `ARM_HW_CONFIG_ADDR` for accessing the device tree blob base address.
For FVP the DT address is set to use `ARM_PRELOADED_DTB_BASE` if provided, falling back to a default address otherwise.
This provides a consistent mechanism for Arm platforms to define and override the DTB base address used during kernel handoff. It reduces the chance of misconfiguration, and simplifies platform integration.
Change-Id: Ib668dbb1de9d42cf41c0b0ee9a316f054891752a Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| d57362bd | 26-Jun-2025 |
Xialin Liu <xialin.liu@arm.com> |
feat(fwu): separate bl2 image from rest of the FIP
Create a separate partition for BL2 image in the GPT. Modify the makefile to package BL2 image and its certificates into a different FIP image.
Ch
feat(fwu): separate bl2 image from rest of the FIP
Create a separate partition for BL2 image in the GPT. Modify the makefile to package BL2 image and its certificates into a different FIP image.
Change-Id: I950883ea0c393a2a063ad9e51bb963cbac742705 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 168d78c3 | 02-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "fix(ti): specify allowable rcv_addr in mailbox" into integration |
| 19e4312c | 02-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(cpufeat): enable FEAT_MPAM_PE_BW_CTRL support" into integration |
| 9bc1e599 | 02-Sep-2025 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
fix(gpt): fix fill_l1_cont_desc() function
GPT library function fill_l1_cont_desc() writes contiguous descriptors and is called in a loop by fill_l1_tbl() which fills out GPI entries in in a single
fix(gpt): fix fill_l1_cont_desc() function
GPT library function fill_l1_cont_desc() writes contiguous descriptors and is called in a loop by fill_l1_tbl() which fills out GPI entries in in a single L1 table. The loop terminates when the address of the first granule in range 'first' exceeds address of the last granule (inclusive) 'last'. This patch fixes the issue when fill_l1_cont_desc() was iterating through all matching contiguous block sizes 512, 32 and 2MB in a loop and filling consecutive smaller descriptors instead of filling a single one with a maximum size. This resulted for memory region 0x80000000 of size 1.5GB (3*512MB)to be filled with 2 512MB, 8 32MB and 128 2MB contiguous descriptors instead of 3 512MB descriptors with build option RME_GPT_MAX_BLOCK=512. This patch also removes unused definition of ARM_PAS_GPI_ANY macro in fvp_pas_def.h.
Change-Id: I9fcff512af306a57d17dee0bade74d2f3f79b5e9 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| 29d304ed | 02-Sep-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(neoverse-rd): add console initialisation to BL31" into integration |
| 8845f8b2 | 18-Sep-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8mp): assign wdog1 to domain0 only
Normally, wdog1 is used by A53 side, and it should be stopped when A53 domain enters STOP mode. After Power-on-Reset this watchdog is owned by both M7 & A53
fix(imx8mp): assign wdog1 to domain0 only
Normally, wdog1 is used by A53 side, and it should be stopped when A53 domain enters STOP mode. After Power-on-Reset this watchdog is owned by both M7 & A53 side. This watchdog can only enter STOP mode only when both A53 & M7 enter STOP mode. This is not reasonable as this watchdog is only used by A53 side, so assign wdog1 to domain0(a53 side) only.
Change-Id: I4c04a8c7f3cba4713f410866c18fef88fcbe9f11 Signed-off-by: Jacky Bai <ping.bai@nxp.com> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
show more ...
|
| f91fbc6b | 01-Sep-2025 |
Prasad Kummari <prasad.kummari@amd.com> |
chore(versal2): rename versal2 to Versal Gen 2
The term Versal2 should be updated to Versal Gen 2.
Change-Id: Iac94ef32604f88ec030bf95ec35484b72a0f7ffa Signed-off-by: Prasad Kummari <prasad.kummari
chore(versal2): rename versal2 to Versal Gen 2
The term Versal2 should be updated to Versal Gen 2.
Change-Id: Iac94ef32604f88ec030bf95ec35484b72a0f7ffa Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 4a09b3e2 | 01-Sep-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "feat(cpus): add support for Canyon CPU" into integration |
| e135bcdf | 01-Sep-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(arm): increase reserved DRAM1 mem for NS images" into integration |
| c7ddb0f3 | 29-Aug-2025 |
Pranav Tilak <pranav.vinaytilak@amd.com> |
feat(versal2): add SPMD support for SPMC at S-EL1
Added support for SPMD when SPMC is running at S-EL1 on Versal Gen 2 platform. Added DTB with manifest addresses to BL32 for proper initialization.
feat(versal2): add SPMD support for SPMC at S-EL1
Added support for SPMD when SPMC is running at S-EL1 on Versal Gen 2 platform. Added DTB with manifest addresses to BL32 for proper initialization. Added `plat_spmd_handle_group0_interrupt` to handle Group0 interrupts in SPMD. Added a new manifest source file compliant with FFA 1.0 specification in which load_address and entrypoint points to BL32 base address.
Change-Id: I518e2e799d3b86fcd67f9fee0af42503ca705488 Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
show more ...
|
| 4ee9e901 | 29-Aug-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(arm): re-enable console by default in BL31" into integration |
| 5cac1d85 | 20-Aug-2025 |
Ronak Jain <ronak.jain@amd.com> |
fix(xilinx): fix missing security flag in suspend path
Suspend flow was always programming wakeup sources with a fixed secure flag, regardless of whether the caller was secure or non-secure. This ma
fix(xilinx): fix missing security flag in suspend path
Suspend flow was always programming wakeup sources with a fixed secure flag, regardless of whether the caller was secure or non-secure. This may cause incorrect behavior for non-secure suspend requests.
Fix this by passing the caller's security state (flag) through pm_client_suspend() and pm_client_set_wakeup_sources() to ensure that wakeup sources are set with the correct context.
Fixes: <4697164a3fa8> ("plat: xilinx: versal: Mark IPI calls secure/non-secure")
Change-Id: I5fcf65788a54010b4759b0d08e4f54c6e5037e47 Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 8ce93ec9 | 28-Jul-2025 |
Ronak Jain <ronak.jain@amd.com> |
feat(zynqmp): mark IPI calls secure/non-secure
Use BIT24 of the IPI command header from payload[0] to identify the caller's security state. If the SMC caller is non-secure, set BIT24 to indicate a n
feat(zynqmp): mark IPI calls secure/non-secure
Use BIT24 of the IPI command header from payload[0] to identify the caller's security state. If the SMC caller is non-secure, set BIT24 to indicate a non-secure origin.
The mechanism is already present in Versal, Versal NET, and Versal Gen 2 platforms. Extend the same support to Zynq UltraScale+ MPSoC (ZU+) to align its behavior with newer SoCs.
Change-Id: Ic77926033e76a53c0fa1a9949e6838ec64bd6ae5 Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 7a171ade | 28-Feb-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(arm): increase reserved DRAM1 mem for NS images
Defconfig kernels are now approaching 50MB, making the previous 64MB allocation for both the kernel and initrd insufficient. To accommodate this g
fix(arm): increase reserved DRAM1 mem for NS images
Defconfig kernels are now approaching 50MB, making the previous 64MB allocation for both the kernel and initrd insufficient. To accommodate this growth, increase the reserved NS memory to 128MB.
Change-Id: Ifffdda4623ec7930e4c830a6a222933807d09882 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| c42aefd3 | 12-Aug-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(cpufeat): enable FEAT_MPAM_PE_BW_CTRL support
Implement support for FEAT_MPAM_PE_BW_CTRL, allowing lower Exception Levels to access MPAM_PE_BW_CTRL control registers by disabling their traps to
feat(cpufeat): enable FEAT_MPAM_PE_BW_CTRL support
Implement support for FEAT_MPAM_PE_BW_CTRL, allowing lower Exception Levels to access MPAM_PE_BW_CTRL control registers by disabling their traps to EL3.
When INIT_UNUSED_NS_EL2=1, configure MPAMBW2_EL2 in EL3 so that MPAM_PE_BW_CTRL accesses from EL0/EL1 do not trap to EL2.
At this stage, PE-side MPAM bandwidth controls remain disabled in EL3.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I8e359b0eb912cff3bdda109b21727a627cac3a7e
show more ...
|