History log of /rk3399_ARM-atf/include/lib/ (Results 126 – 150 of 1421)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
86822f2415-May-2025 Manish V Badarkhe <Manish.Badarkhe@arm.com>

feat(locks): add non-blocking spinlock_try() API

Add a non-blocking `spin_trylock()` function to the existing spinlock
implementation. This API attempts to acquire the lock and returns `1`
on succes

feat(locks): add non-blocking spinlock_try() API

Add a non-blocking `spin_trylock()` function to the existing spinlock
implementation. This API attempts to acquire the lock and returns `1`
on success or `0` if the lock is already held. It enables conditional
locking scenarios where blocking is undesirable.

Change-Id: I9483206952d1a34dc245ebf69e80c3645b658946
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>

show more ...

935e099013-Jun-2025 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge "feat(psci): add API to get number of CPUs currently in ON state" into integration


/rk3399_ARM-atf/.commitlintrc.js
psci/psci_lib.h
/rk3399_ARM-atf/include/services/drtm_svc.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/libc/memcpy.c
/rk3399_ARM-atf/lib/libc/memmove.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6359p/mt6359p_psc.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6359p/registers.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6359p/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8189/pmic_lowpower_init.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8189/pmic_shutdown_cfg.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8189/pmic_swap_api.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/mt8189/pmic_wrap_init.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/pmic_wrap_init_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/pmic_wrap_init_v3.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/pmic_wrap_v3.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/mt8189/platform_pmif_spmi.c
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6319_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6359p_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6359p_set_lowpower.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/pmic_set_lowpower.h
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/services/std_svc/drtm/drtm_dma_prot.h
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
efc945f105-May-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(errata): implement workaround for DSU-120 erratum 2900952

DSU Erratum 2900952 is a Cat B erratum that applies to some
DSU-120 implementations of revision r2p0 and is fixed in r2p1.
This erratum

feat(errata): implement workaround for DSU-120 erratum 2900952

DSU Erratum 2900952 is a Cat B erratum that applies to some
DSU-120 implementations of revision r2p0 and is fixed in r2p1.
This erratum is fixed in certain implementations of r2p0 which can be
determined by reading the IMP_CLUSTERREVIDR_EL1[1] register field
where a set bit indicates that the erratum is fixed in this part.

The workaround is to set the CLUSTERACTLR_EL1 bits [21:20] to 0x3
which ignores CBusy from the system interconnect and
setting CLUSTERACTLR_EL1 bit [8] to 1 to assert CBusy from DSU to
all the cores when DSU is busy.

SDEN: https://developer.arm.com/documentation/SDEN-2453103/1200/?lang=en

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I87aa440ab5c35121aff703032f5cf7a62d0b0bb4

show more ...

a7be2a5729-May-2025 Manish V Badarkhe <Manish.Badarkhe@arm.com>

feat(psci): add API to get number of CPUs currently in ON state

Introduce a new PSCI helper function `psci_num_cpus_running_on_safe()`
to return the number of CPUs that are currently in the ON state

feat(psci): add API to get number of CPUs currently in ON state

Introduce a new PSCI helper function `psci_num_cpus_running_on_safe()`
to return the number of CPUs that are currently in the ON state.
This API locks the PSCI power state data to ensure consistency and
is safe to call in concurrent environments.

This utility can assist components that need to reason about system
CPU activity or coordinate operations based on active CPUs.

Change-Id: Ie15aa4bd393a5f01e7cd80ae8a9b28707fde7c53
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>

show more ...

f23d26d716-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(libc): add the memcpy declaration back

Patch 34d7f196b moved definitions to a new file but missed that of
memcpy. Put it back.

Change-Id: I5e9797e611e6f1f97232f03de98f81db86a66c2a
Signed-off-by

fix(libc): add the memcpy declaration back

Patch 34d7f196b moved definitions to a new file but missed that of
memcpy. Put it back.

Change-Id: I5e9797e611e6f1f97232f03de98f81db86a66c2a
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

4467348b09-Jun-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A710 erratum 1901946

Cortex-A710 erratum 1901946 is a Cat B erratum that applies
to revision r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1[15].

fix(cpus): workaround for Cortex-A710 erratum 1901946

Cortex-A710 erratum 1901946 is a Cat B erratum that applies
to revision r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1[15]. This has a slight
performance impact.

SDEN documentation:
https://developer.arm.com/documentation/SDEN1775101

Change-Id: I703f0e6ee122e44a9bc284d90f1465039e3b40e4
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

1e41ad6709-Jun-2025 Lauren Wehrmeister <lauren.wehrmeister@arm.com>

Merge "fix(errata): keep leading zeros in CVE ID prints" into integration


/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/plat/st/stm32mp2.rst
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.c
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.h
/rk3399_ARM-atf/drivers/st/clk/clk-stm32mp2.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp_ddr.c
/rk3399_ARM-atf/drivers/st/gpio/stm32_gpio.c
/rk3399_ARM-atf/drivers/st/mmc/stm32_sdmmc2.c
/rk3399_ARM-atf/include/drivers/st/stm32mp21_pwr.h
/rk3399_ARM-atf/include/drivers/st/stm32mp21_rcc.h
/rk3399_ARM-atf/include/drivers/st/stm32mp25_rcc.h
/rk3399_ARM-atf/include/drivers/st/stm32mp_ddr.h
/rk3399_ARM-atf/include/dt-bindings/clock/st,stm32mp21-rcc.h
/rk3399_ARM-atf/include/dt-bindings/clock/stm32mp21-clksrc.h
/rk3399_ARM-atf/include/dt-bindings/reset/st,stm32mp21-rcc.h
cpus/errata.h
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/plat/amd/versal2/aarch64/common.c
/rk3399_ARM-atf/plat/amd/versal2/include/def.h
/rk3399_ARM-atf/plat/amd/versal2/platform.mk
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_client.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_ddr.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_fcs.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/ti/k3/common/k3_psci.c
9109143405-Jun-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge "feat(cpus): update cpu_check_csv2 check" into integration


/rk3399_ARM-atf/docs/components/ven-el3-service.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal-net.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal.rst
/rk3399_ARM-atf/drivers/st/bsec/bsec3.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_saes.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp2_ddr_helpers.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp2_ram.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp_ddr.c
/rk3399_ARM-atf/drivers/st/iwdg/stm32_iwdg.c
/rk3399_ARM-atf/drivers/st/regulator/regulator_fixed.c
/rk3399_ARM-atf/include/drivers/st/bsec3_reg.h
/rk3399_ARM-atf/include/drivers/st/stm32mp2_ddr_helpers.h
cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/plat/arm/common/plat_acs_smc_handler.h
/rk3399_ARM-atf/include/services/ven_el3_svc.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_cpu_pwr.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/plat_acs_smc_handler.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_private.h
/rk3399_ARM-atf/plat/mediatek/build_helpers/options.mk
/rk3399_ARM-atf/plat/mediatek/common/mtk_bl31_lib.c
/rk3399_ARM-atf/plat/mediatek/common/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/mt8196/mtk_cpuqos.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/mt8196/mtk_cpuqos_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/emi/emi_ctrl.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi/emi_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/iommu/mt8189/mtk_iommu_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/iommu/mt8189/mtk_iommu_plat.h
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mminfra_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mt8196/mminfra.c
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mt8196/mminfra.h
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/slbc/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/slbc/mt8196/slbc.c
/rk3399_ARM-atf/plat/mediatek/drivers/slbc/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/smmu_sid/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/smmu_sid/smmu_sid.c
/rk3399_ARM-atf/plat/mediatek/drivers/smmu_sid/smmu_sid_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/mt8196/ufs_ctrl_soc.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/ufs_ctrl.c
/rk3399_ARM-atf/plat/mediatek/include/mtk_bl31_interface.h
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_spm.c
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/xilinx/common/custom_sip_svc.c
/rk3399_ARM-atf/plat/xilinx/common/include/custom_svc.h
/rk3399_ARM-atf/plat/xilinx/common/include/ipi.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_common.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_node.h
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/el3/ven_el3_svc.c
2b43216502-Jun-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(cpus): update cpu_check_csv2 check

Update the cpu_check_csv2 logic to allow ID_AA64PFR0_EL1.CSV2
values up to 3. With the introduction of FEAT_CSV2_3,
the architectural limit for CSV2 has been

feat(cpus): update cpu_check_csv2 check

Update the cpu_check_csv2 logic to allow ID_AA64PFR0_EL1.CSV2
values up to 3. With the introduction of FEAT_CSV2_3,
the architectural limit for CSV2 has been extended,
making values from 0 to 3 valid.

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I8473047ed4ad759b7b506161a76774ac21555d31

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/ven-el3-service.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/perf/psci-performance-n1sdp.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal-net.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal.rst
/rk3399_ARM-atf/docs/sbom.cdx.json
/rk3399_ARM-atf/drivers/auth/auth.mk
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/auth_util.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_psa_crypto.c
/rk3399_ARM-atf/drivers/marvell/mochi/cp110_setup.c
/rk3399_ARM-atf/drivers/marvell/trng.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/auth/nxp_crypto.c
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.S
/rk3399_ARM-atf/drivers/st/bsec/bsec3.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_saes.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp2_ddr_helpers.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp2_ram.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp_ddr.c
/rk3399_ARM-atf/drivers/st/iwdg/stm32_iwdg.c
/rk3399_ARM-atf/drivers/st/regulator/regulator_fixed.c
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/drivers/auth/auth_util.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_psa_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_psa_crypto.h
/rk3399_ARM-atf/include/drivers/marvell/trng.h
/rk3399_ARM-atf/include/drivers/nxp/trdc/imx_trdc.h
/rk3399_ARM-atf/include/drivers/st/bsec3_reg.h
/rk3399_ARM-atf/include/drivers/st/stm32mp2_ddr_helpers.h
cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/plat/arm/common/plat_acs_smc_handler.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/include/services/ven_el3_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/package.json
/rk3399_ARM-atf/plat/amd/common/plat_xfer_list.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/plat_psci.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/plat_acs_smc_handler.c
/rk3399_ARM-atf/plat/brcm/board/common/board_common.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/imx/imx7/common/imx7.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/platform.mk
/rk3399_ARM-atf/plat/imx/imx93/trdc_config.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_private.h
/rk3399_ARM-atf/plat/marvell/armada/a8k/common/a8k_common.mk
/rk3399_ARM-atf/plat/marvell/armada/common/mrvl_sip_svc.c
/rk3399_ARM-atf/plat/mediatek/build_helpers/options.mk
/rk3399_ARM-atf/plat/mediatek/common/cache_ops.c
/rk3399_ARM-atf/plat/mediatek/common/cache_ops.h
/rk3399_ARM-atf/plat/mediatek/common/mtk_bl31_lib.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_bl31_setup.c
/rk3399_ARM-atf/plat/mediatek/common/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/mt8196/mtk_cpuqos.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/mt8196/mtk_cpuqos_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_qos/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/emi/emi_ctrl.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi/emi_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/iommu/mt8189/mtk_iommu_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/iommu/mt8189/mtk_iommu_plat.h
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mminfra_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mt8196/mminfra.c
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mt8196/mminfra.h
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/slbc/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/slbc/mt8196/slbc.c
/rk3399_ARM-atf/plat/mediatek/drivers/slbc/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/smmu_sid/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/smmu_sid/smmu_sid.c
/rk3399_ARM-atf/plat/mediatek/drivers/smmu_sid/smmu_sid_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/mt8196/ufs_ctrl_soc.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/ufs_ctrl.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/ufs_stub.c
/rk3399_ARM-atf/plat/mediatek/include/mtk_bl31_interface.h
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nxp/common/tbbr/tbbr.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_spm.c
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu/qemu_measured_boot.c
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/plat/socionext/synquacer/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/stm32mp_crypto_lib.c
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/xilinx/common/custom_sip_svc.c
/rk3399_ARM-atf/plat/xilinx/common/include/custom_svc.h
/rk3399_ARM-atf/plat/xilinx/common/include/ipi.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_common.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_node.h
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/services/el3/ven_el3_svc.c
/rk3399_ARM-atf/tools/conventional-changelog-tf-a/package.json
00669dcd14-May-2025 Andrei Stefanescu <andrei.stefanescu@nxp.com>

fix(xlat): change MT_DEVICE to map to nGnRnE

Previously, MT_DEVICE memory was mapped to nGnRE instead of nGnRnE. This
could cause issues if a platform with USE_COHERENT_MEM=1 mapped the
coherent mem

fix(xlat): change MT_DEVICE to map to nGnRnE

Previously, MT_DEVICE memory was mapped to nGnRE instead of nGnRnE. This
could cause issues if a platform with USE_COHERENT_MEM=1 mapped the
coherent memory region as MT_DEVICE. A core with stage 1 translation
enabled would access the region with the attributes nGnRE and a core
with stage 1 disabled would access the region with attributes nGnRnE.

This would result in accesses to a memory location with mismatched
memory attributes.

This commit changes MT_DEVICE to nGnRnE. This shouldn't introduce any
issues as nGnRnE has stronger ordering requirements.

Change-Id: Idf2e0bbea3ddb5e469a72a41f5fdb71c030d54b8
Signed-off-by: Andrei Stefanescu <andrei.stefanescu@nxp.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/perf/psci-performance-n1sdp.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/sbom.cdx.json
/rk3399_ARM-atf/drivers/auth/auth.mk
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/auth_util.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_psa_crypto.c
/rk3399_ARM-atf/drivers/marvell/mochi/cp110_setup.c
/rk3399_ARM-atf/drivers/marvell/trng.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/auth/nxp_crypto.c
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.S
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/drivers/auth/auth_util.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_psa_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_psa_crypto.h
/rk3399_ARM-atf/include/drivers/marvell/trng.h
/rk3399_ARM-atf/include/drivers/nxp/trdc/imx_trdc.h
xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/package.json
/rk3399_ARM-atf/plat/amd/common/plat_xfer_list.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/brcm/board/common/board_common.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/imx/imx7/common/imx7.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/platform.mk
/rk3399_ARM-atf/plat/imx/imx93/trdc_config.h
/rk3399_ARM-atf/plat/marvell/armada/a8k/common/a8k_common.mk
/rk3399_ARM-atf/plat/marvell/armada/common/mrvl_sip_svc.c
/rk3399_ARM-atf/plat/mediatek/build_helpers/options.mk
/rk3399_ARM-atf/plat/mediatek/common/cache_ops.c
/rk3399_ARM-atf/plat/mediatek/common/cache_ops.h
/rk3399_ARM-atf/plat/mediatek/common/mtk_bl31_setup.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/ufs_ctrl.c
/rk3399_ARM-atf/plat/mediatek/drivers/ufs/ufs_stub.c
/rk3399_ARM-atf/plat/mediatek/include/mtk_bl31_interface.h
/rk3399_ARM-atf/plat/mediatek/mt8189/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nxp/common/tbbr/tbbr.mk
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu/qemu_measured_boot.c
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/plat/socionext/synquacer/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/stm32mp_crypto_lib.c
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/tools/conventional-changelog-tf-a/package.json
d1ed0c3d07-Apr-2025 John Powell <john.powell@arm.com>

fix(errata): keep leading zeros in CVE ID prints

The errata printing function would drop leading zeros on CVE
numbers so this updates the format string to make sure they are
printed. This is to conf

fix(errata): keep leading zeros in CVE ID prints

The errata printing function would drop leading zeros on CVE
numbers so this updates the format string to make sure they are
printed. This is to conform to the CVE naming convention where
ID numbers of less than 4 digits are prepended with 0s up to 4
digits.

This also updates a confusing comment indicating that leading
zeros could be used to work around a potential issue if CVE and
erratum IDs clash. Values with leading zeros will be interpreted
as octal numbers which is not desirable behavior so this should
not be recommended. Realistically, a CVE ID and erratum ID being
the same is *extremely* unlikely since CVE ID start over each
year and are 4-5 digits for Arm, and Errata IDs are 6-7 digits.

Change-Id: Idf2be50cea6828a3d30c6e58fda477ec1398bc7c
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

169ea2ce29-Apr-2025 Manish Pandey <manish.pandey2@arm.com>

Merge changes I0b0443d5,Ic454a87a into integration

* changes:
fix(gic): quote the correct flag on error
feat(lib): add a generic EXTRACT macro


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/tsp_common.c
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_base.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_base.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_handoff.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/bl32/tsp/platform_tsp.h
/rk3399_ARM-atf/include/bl32/tsp/tsp.h
/rk3399_ARM-atf/include/drivers/measured_boot/event_log/event_handoff.h
/rk3399_ARM-atf/include/drivers/measured_boot/event_log/event_log.h
/rk3399_ARM-atf/include/drivers/mmc.h
utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/include/services/drtm_svc.h
/rk3399_ARM-atf/lib/extensions/pauth/pauth.c
/rk3399_ARM-atf/lib/extensions/pmuv3/aarch64/pmuv3.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/tsp/fvp_tsp_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp.mk
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/mediatek/build_helpers/options.mk
/rk3399_ARM-atf/plat/qti/msm8916/tsp/msm8916_tsp_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/tsp/uniphier_tsp_setup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_sdei.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.c
f963578b05-Feb-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(lib): add a generic EXTRACT macro

The EXTRACT macro is useful to extract a named field from a numeric
value, usually a register. It is functionally identical to the `ubfx`
instruction and uses

feat(lib): add a generic EXTRACT macro

The EXTRACT macro is useful to extract a named field from a numeric
value, usually a register. It is functionally identical to the `ubfx`
instruction and uses the same #defines (REG_FIELD_SHIFT and
REG_FIELD_WIDTH).

This is the same macro that we use in tftf. It works well there and is
quite useful for manipulating register fields concisely.

This macro replaces the EXTRACT_FIELD macro. Their function is
identical, however, EXTRACT allows for easier interoperation with the
`ubfx` instruction, makes code more similar to tftf, and is more
concise.

Change-Id: Ic454a87af5e5fac108c7b7cb6b6804ec65a8d0e8
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

b1e1f42e25-Apr-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge changes I005586ef,I0d4d74bc into integration

* changes:
fix(cpufeat): replace "bti" mnemonic with hint instructions
fix(cpufeat): improve xpaci wrapper

bdac600b15-Apr-2025 Andre Przywara <andre.przywara@arm.com>

fix(cpufeat): replace "bti" mnemonic with hint instructions

Older GNU binutils version require to specify at least "armv8.5-a" for
the ARM architecture revision to accept "bti" instructions in the
a

fix(cpufeat): replace "bti" mnemonic with hint instructions

Older GNU binutils version require to specify at least "armv8.5-a" for
the ARM architecture revision to accept "bti" instructions in the
assembly code. Binutils v2.35 have relaxed this, since "bti" is in the
hint space, so is ignored on older cores and does NOT require a BTI
enabled core to execute.

To not exclude those older binutils versions (as shipped with Ubuntu
20.04), use the "hint" encoding for the "bti" instructions, which are
accepted regardless of the minimum architecture revision. Hide this
encoding in a macro, to make the "bti" usage more readable in the
source code.

Change-Id: I005586efd8974a3f2c7202896c881bb5fed07eea
Signed-off-by: Andre Przywara <andre.przywara@arm.com>

show more ...

fd04156e04-Apr-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

refactor(cpus): optimize CVE checking

This patch replaces the use of EXTRA functions
with using erratum entries check
to verify CVE mitigation application for some of
the SMCCC_ARCH_WORKAROUND_* cal

refactor(cpus): optimize CVE checking

This patch replaces the use of EXTRA functions
with using erratum entries check
to verify CVE mitigation application for some of
the SMCCC_ARCH_WORKAROUND_* calls.

Previously, EXTRA functions were individually implemented for
each SMCCC_ARCH_WORKAROUND_*, an approach that becomes unmanageable
with the increasing number of workarounds.
By looking up erratum entries for CVE check, the process is streamlined,
reducing overhead associated with creating and
maintaining EXTRA functions for each new workaround.

New Errata entries are created for SMC workarounds and
that is used to target cpus that are uniquely impacted
by SMC workarounds.

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I873534e367a35c99461d0a616ff7bf856a0000af

show more ...

5a1b666d10-Apr-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

refactor(cpus): move errata check to common code

This patch centralizes some of the Errata ABI code
that could be used for checking if an Errata has been applied
to cpu library since the function is

refactor(cpus): move errata check to common code

This patch centralizes some of the Errata ABI code
that could be used for checking if an Errata has been applied
to cpu library since the function is mostly generic.

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I2c6d4468f7125d4d99ccdebc5ea8f9e4390360cc

show more ...


/rk3399_ARM-atf/.clang-format
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/components/ffa-manifest-binding.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scpi.c
/rk3399_ARM-atf/drivers/arm/gic/gic.mk
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_base.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_base.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_print.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_early_clks.c
/rk3399_ARM-atf/include/drivers/arm/gic.h
/rk3399_ARM-atf/include/drivers/measured_boot/event_log/event_log.h
cpus/errata.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a55.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76.S
/rk3399_ARM-atf/lib/cpus/errata_common.c
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_debug.c
/rk3399_ARM-atf/lib/libc/memmove.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/psci/psci_system_off.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/sp_min/sp_min-a5ds.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_pm.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone700/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone700/sp_min/sp_min-corstone700.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_gicv3.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/sp_min-fvp.mk
/rk3399_ARM-atf/plat/arm/board/fvp/tsp/tsp-fvp.mk
/rk3399_ARM-atf/plat/arm/board/fvp_ve/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp_ve/sp_min/sp_min-fvp_ve.mk
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/sp_min/sp_min-juno.mk
/rk3399_ARM-atf/plat/arm/board/juno/tsp/tsp-juno.mk
/rk3399_ARM-atf/plat/arm/board/morello/morello_pm.c
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_pm.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd-common.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_pm.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/common/plat_gicv2_base.c
/rk3399_ARM-atf/plat/common/plat_gicv3_base.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/platform.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_lp_irqremain.c
/rk3399_ARM-atf/plat/mediatek/drivers/smmu/smmu.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
ee65660916-Apr-2025 André Przywara <andre.przywara@arm.com>

Merge changes Id942c20c,Idd286bea,I8917a26e,Iec8c3477,If3c25dcd, ... into integration

* changes:
feat(cpufeat): enable FEAT_PAuth to FEAT_STATE_CHECKED
perf(cpufeat): centralise PAuth key saving

Merge changes Id942c20c,Idd286bea,I8917a26e,Iec8c3477,If3c25dcd, ... into integration

* changes:
feat(cpufeat): enable FEAT_PAuth to FEAT_STATE_CHECKED
perf(cpufeat): centralise PAuth key saving
refactor(cpufeat): convert FEAT_PAuth setup to C
refactor(cpufeat): prepare FEAT_PAuth for FEATURE_DETECTION
chore(cpufeat): remove PAuth presence checks
feat(cpufeat): enable FEAT_BTI to FEAT_STATE_CHECKED

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2u/aarch64/bl2u_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/tsp_common.c
/rk3399_ARM-atf/bl32/tsp/tsp_interrupt.c
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/common/backtrace/backtrace.c
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/rmm-el3-comms-spec.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/fdts/stm32mp151a-prtt1a.dts
/rk3399_ARM-atf/fdts/stm32mp153c-lxa-fairytux2-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp153c-lxa-fairytux2.dts
/rk3399_ARM-atf/include/arch/aarch32/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
extensions/pauth.h
libc/cdefs.h
utils_def.h
xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/rmmd_svc.h
/rk3399_ARM-atf/include/services/trp/platform_trp.h
/rk3399_ARM-atf/include/services/trp/trp_helpers.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_debug.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/pauth/pauth.c
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amd/versal2/include/plat_ipi.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/soc_ipi.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_ide_keymgmt.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/trp/test_ide_km_interface.c
/rk3399_ARM-atf/plat/arm/board/fvp/trp/trp-fvp.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_transfer_list.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/qemu/common/common.mk
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd.mk
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_keymgmt.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_private.h
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp_entry.S
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp_helpers.c
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp_private.h
f813805602-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(cpufeat): convert FEAT_PAuth setup to C

An oversimplified view of FEAT_PAuth is that it's a symmetric encryption
of the LR. PAC instructions execute as NOPs until explicitly turned on.
So i

refactor(cpufeat): convert FEAT_PAuth setup to C

An oversimplified view of FEAT_PAuth is that it's a symmetric encryption
of the LR. PAC instructions execute as NOPs until explicitly turned on.
So in a function that turns PAuth on, the signing would have executed as
a NOP and the authentication will encrypt the address, leading to a
failure. That's why enablement is in assembly - we have full control of
when pointer authentications happen.

However, assembly is hard to read, is opaque to the compiler for
optimisations, and we need to call into C anyway for the platform hook
to get the key. So convert it to C. We can instruct the compiler to not
generate branch protection for the enable function only and as long as
the caller doesn't do branch protection (and all callers are entrypoints
written in assembly) everything will work.

Change-Id: I8917a26e1293033c910e3058664e3ca9207359b7
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

31ddca4014-Apr-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge "feat(psci): remove cpu context init by index" into integration

10ecd58026-Mar-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(cpufeat): enable FEAT_BTI to FEAT_STATE_CHECKED

Introduce the is_feat_bti_{supported, present}() helpers and replace
checks for ENABLE_BTI with it. Also factor out the setting of
SCTLR_EL3.BT o

feat(cpufeat): enable FEAT_BTI to FEAT_STATE_CHECKED

Introduce the is_feat_bti_{supported, present}() helpers and replace
checks for ENABLE_BTI with it. Also factor out the setting of
SCTLR_EL3.BT out of the PAuth enablement and place it in the respective
entrypoints where we initialise SCTLR_EL3. This makes PAuth
self-contained and SCTLR_EL3 initialisation centralised.

Change-Id: I0c0657ff1e78a9652cd2cf1603478283dc01f17b
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

25002a0011-Apr-2025 Olivier Deprez <olivier.deprez@arm.com>

Merge "perf(libc): use builtin implementations where possible" into integration

ef738d1921-Jun-2024 Manish Pandey <manish.pandey2@arm.com>

feat(psci): remove cpu context init by index

Currently, the calling core (meaning the core which received the call to
CPU_ON or the powerdown path of CPU_SUSPEND on the same core) is in
charge of in

feat(psci): remove cpu context init by index

Currently, the calling core (meaning the core which received the call to
CPU_ON or the powerdown path of CPU_SUSPEND on the same core) is in
charge of initialising the context for the waking core (the warmboot
entrypoint for both). This is convenient because the calling core can
write the context while in coherency and the waking core will only need
the context after its entered coherency. This avoids any cache
maintenance and makes communication simple.

However, this has 3 main problems:
a) asymmetric feature support is problematic - the calling core has no
way of knowing the feature set of the waking core. If the two
diverge, the architectural feature discovery via ID registers breaks
down. We've thus far "fixed" this on a case by case basis which
doesn't scale and introduces redundancy.

b) powerdown abandon (pabandon) introduces a contradiction - the calling
core has to initialise the context for when the core wakes up, but
should the core not powerdown it needs its old context intact. The only
way to work around this is by keeping two copies of context which
incurs a runtime and memory overhead.

c) cm_prepare_el3_exit[_ns]() doesn't have access to the entrypoint but needs
it to make initialisation decisions. We can infer some of this from
registers that have already been written but this is awkwardly
limiting for what we can do. This also necessitates the split from
the context initialisation.

We can solve all three by a making a core be in full ownership of its
own context. The calling core then only writes entrypoint information
and nothing else. The waking core then initialises its own context as it
sees fit with full knowledge of the whole picture.

The only tricky bit is cache coherency - the waking core has to be able
to coherently observe its new entrypoint. Calling cores will write to
the shared region with coherent caches on. If we make sure to read the
context only after the waking core has entered coherency, then we can
avoid cache operations and let hardware handle everything.

We can skip the spsr check for FEAT_TCR2 as it doesn't make a
difference. We can also skip enabling it twice from generic code.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I86e7fe8b698191fc3b469e5ced1fd010f8754b0e

show more ...

e3108fad10-Apr-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "lto-by-default" into integration

* changes:
fix(libc): make sure __init functions are garbage collected
fix(platforms): remove platform_core_pos_helper()


/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/drivers/ti/ipc/mailbox.c
/rk3399_ARM-atf/drivers/ti/ipc/sec_proxy.c
/rk3399_ARM-atf/drivers/ti/ti_sci/ti_sci.c
/rk3399_ARM-atf/drivers/ti/ti_sci/ti_sci.h
/rk3399_ARM-atf/drivers/ti/ti_sci/ti_sci_protocol.h
/rk3399_ARM-atf/drivers/ti/ti_sci/ti_sci_transport.h
/rk3399_ARM-atf/fdts/stm32mp157c-lxa-tac-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp157c-lxa-tac.dts
libc/cdefs.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/ti/common/include/k3_console.h
/rk3399_ARM-atf/plat/ti/common/include/k3_gicv3.h
/rk3399_ARM-atf/plat/ti/common/include/plat_macros.S
/rk3399_ARM-atf/plat/ti/common/include/plat_private.h
/rk3399_ARM-atf/plat/ti/common/include/ti_platform_defs.h
/rk3399_ARM-atf/plat/ti/common/k3_console.c
/rk3399_ARM-atf/plat/ti/common/k3_gicv3.c
/rk3399_ARM-atf/plat/ti/common/k3_helpers.S
/rk3399_ARM-atf/plat/ti/common/plat_common.mk
/rk3399_ARM-atf/plat/ti/common/ti_bl31_setup.c
/rk3399_ARM-atf/plat/ti/k3/common/k3_bl31_setup.c
/rk3399_ARM-atf/plat/ti/k3/include/platform_def.h
/rk3399_ARM-atf/plat/ti/k3/platform.mk
/rk3399_ARM-atf/plat/ti/k3low/board/am62lx/board.mk
/rk3399_ARM-atf/plat/ti/k3low/board/am62lx/include/board_def.h
/rk3399_ARM-atf/plat/ti/k3low/common/am62l_bl31_setup.c
/rk3399_ARM-atf/plat/ti/k3low/common/am62l_psci.c
/rk3399_ARM-atf/plat/ti/k3low/common/am62l_topology.c
/rk3399_ARM-atf/plat/ti/k3low/include/platform_def.h
/rk3399_ARM-atf/plat/ti/k3low/platform.mk
23302d4a08-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(xlat): remove xlat_mpu

The only platform to use this is fvp_r. As this platform is now gone, so
is the need for this library. Support for it never went out of
"experimental" so it does not appea

fix(xlat): remove xlat_mpu

The only platform to use this is fvp_r. As this platform is now gone, so
is the need for this library. Support for it never went out of
"experimental" so it does not appear to be finished.

Change-Id: I76499b92ca4368651330f17dc80803991158cc36
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

12345678910>>...57