History log of /rk3399_ARM-atf/make_helpers/ (Results 1 – 25 of 525)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6acdf7b729-Jan-2026 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topics "qemu-sve", "xl/simd-hash" into integration

* changes:
feat(qemu): disable fpregs traps for QEMU in BL31
feat(crypto): enable the runtime instrumentation for crypto ext

Merge changes from topics "qemu-sve", "xl/simd-hash" into integration

* changes:
feat(qemu): disable fpregs traps for QEMU in BL31
feat(crypto): enable the runtime instrumentation for crypto extension
feat(crypto): enable access to SIMD crypto in BL1 and BL2
feat(crypto): enable floating point register traps in EL3
feat(crypto): build flag for SIMD crypto extensions for v8+ platform
refactor(build): add a default filter list for lib cflags

show more ...

a8dc259528-Jan-2026 Govindraj Raja <govindraj.raja@arm.com>

Merge "feat(build): add HOSTLDFLAGS to pass flags to host links" into integration


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/aarch32/bl2_run_next_image.S
/rk3399_ARM-atf/bl2/aarch64/bl2_run_next_image.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/fdt_fixup.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp.mk
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_defs.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_encryption.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_encryption_stub.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_handler_buffer.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_helpers.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_helpers.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_platform.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_protocol_error.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_random.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_random.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_trusted_subnet.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_call/sfcp_psa_call.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_common.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_embed.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_embed.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_pointer_access.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_pointer_access.h
/rk3399_ARM-atf/drivers/nxp/ddr/s32cc/ddr_utils.c
/rk3399_ARM-atf/drivers/renesas/common/scif/scif-common.c
/rk3399_ARM-atf/include/drivers/arm/sfcp.h
/rk3399_ARM-atf/include/drivers/arm/sfcp_link_defs.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-arch.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-asm.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csr-plat.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csr.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-apa.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-cpc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-cst_shrd_funnel.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-dss.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-dsuub.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-ecam.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-ehsm.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-fus.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-fuse.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-gic.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-gpio.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-gti.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-iobn.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-mdc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-mrml.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-ncb.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pccbr.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pccpf.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pcierc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pem.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pemrc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-rnm.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-rst.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-sam.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-smmu.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-spi.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-tad.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-tad_cmn.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-uaa.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-xcp.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-model.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-platform.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-require.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-swap.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-version.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-warn.h
/rk3399_ARM-atf/lib/cpus/aarch64/c1_premium.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_pro.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_ultra.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
build_macros.mk
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/amd/versal2/sip_svc_setup.c
/rk3399_ARM-atf/plat/amd/versal2/soc_ipi.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_sfcp.c
/rk3399_ARM-atf/plat/arm/board/tc/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/tc/nv_counter_test.c
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform_test.mk
/rk3399_ARM-atf/plat/arm/board/tc/rse_ap_tests.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_dpe.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_dpe.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_sfcp.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx7/common/imx7.mk
/rk3399_ARM-atf/plat/imx/imx7/common/imx7_bl2_common.c
/rk3399_ARM-atf/plat/imx/imx7/picopi/picopi_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx7/picopi/platform.mk
/rk3399_ARM-atf/plat/imx/imx7/warp7/platform.mk
/rk3399_ARM-atf/plat/imx/imx7/warp7/warp7_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/imx8mp_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nxp/common/setup/common.mk
/rk3399_ARM-atf/plat/nxp/common/setup/include/plat_common.h
/rk3399_ARM-atf/plat/nxp/common/setup/ls_bl2_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_bl2_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/qti/common/src/qti_bl2_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rzg/bl2_plat_setup.c
/rk3399_ARM-atf/plat/socionext/synquacer/sq_bl2_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/stm32mp_gic.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/plat/st/stm32mp2/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/bl31_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/include/stm32mp2_private.h
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_ca35ss.c
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_pm.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.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/services/std_svc/drtm/drtm_main.c
e8cc970615-Oct-2025 Xialin Liu <xialin.liu@arm.com>

feat(crypto): build flag for SIMD crypto extensions for v8+ platform

Add new build flags ENABLE_FEAT_CRYPTO to enable SIMD crypto extension
for hash256 in bootflow authentication process and ENABLE_

feat(crypto): build flag for SIMD crypto extensions for v8+ platform

Add new build flags ENABLE_FEAT_CRYPTO to enable SIMD crypto extension
for hash256 in bootflow authentication process and ENABLE_FEAT_CRYPTO_SHA3
to enable SIMD crypto extension for sha384 and sha512 in bootflow authentication
process for Arm platform greater than v8.0.

Change-Id: I6e52feb318136910d34cafd89319bf94f90e16fc
Signed-off-by: Xialin Liu <xialin.liu@arm.com>

show more ...

66b5621813-Nov-2025 Xialin Liu <xialin.liu@arm.com>

refactor(build): add a default filter list for lib cflags

All libraries use the same set of cflags during compilation,
because the build macro `MAKE_C_LIB` for libraries is hard-coded
to use the com

refactor(build): add a default filter list for lib cflags

All libraries use the same set of cflags during compilation,
because the build macro `MAKE_C_LIB` for libraries is hard-coded
to use the common cflags variable `TF_CFLAGS` along with
library-specific `LIB_CFLAGS` in the make command.
However for SIMD crypto extension, some cflags have to
be removed from the build. So add an optional argument
of a list of cflags that needed to be filtered out
for a particular library, to allow more flexibility in the
choice of cflags during compilation.

Change-Id: I53f6f3c6efa28ed4fa2d451270f10f448de2af97
Signed-off-by: Xialin Liu <xialin.liu@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/aarch32/bl2_run_next_image.S
/rk3399_ARM-atf/bl2/aarch64/bl2_run_next_image.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp.mk
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_defs.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_encryption.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_encryption_stub.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_handler_buffer.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_helpers.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_helpers.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_platform.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_protocol_error.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_random.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_random.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_core/sfcp_trusted_subnet.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_call/sfcp_psa_call.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_common.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_embed.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_embed.h
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_pointer_access.c
/rk3399_ARM-atf/drivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol/sfcp_psa_protocol_pointer_access.h
/rk3399_ARM-atf/include/drivers/arm/sfcp.h
/rk3399_ARM-atf/include/drivers/arm/sfcp_link_defs.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-arch.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-asm.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csr-plat.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csr.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-apa.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-cpc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-cst_shrd_funnel.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-dss.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-dsuub.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-ecam.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-ehsm.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-fus.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-fuse.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-gic.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-gpio.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-gti.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-iobn.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-mdc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-mrml.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-ncb.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pccbr.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pccpf.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pcierc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pem.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-pemrc.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-rnm.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-rst.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-sam.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-smmu.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-spi.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-tad.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-tad_cmn.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-uaa.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-csrs-xcp.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-model.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-platform.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-require.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-swap.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-version.h
/rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-warn.h
build_macros.mk
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/amd/versal2/sip_svc_setup.c
/rk3399_ARM-atf/plat/amd/versal2/soc_ipi.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_sfcp.c
/rk3399_ARM-atf/plat/arm/board/tc/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/tc/nv_counter_test.c
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform_test.mk
/rk3399_ARM-atf/plat/arm/board/tc/rse_ap_tests.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_dpe.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_dpe.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_sfcp.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx7/common/imx7.mk
/rk3399_ARM-atf/plat/imx/imx7/common/imx7_bl2_common.c
/rk3399_ARM-atf/plat/imx/imx7/picopi/picopi_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx7/picopi/platform.mk
/rk3399_ARM-atf/plat/imx/imx7/warp7/platform.mk
/rk3399_ARM-atf/plat/imx/imx7/warp7/warp7_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/imx8mp_bl2_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nxp/common/setup/common.mk
/rk3399_ARM-atf/plat/nxp/common/setup/include/plat_common.h
/rk3399_ARM-atf/plat/nxp/common/setup/ls_bl2_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_bl2_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/qti/common/src/qti_bl2_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rzg/bl2_plat_setup.c
/rk3399_ARM-atf/plat/socionext/synquacer/sq_bl2_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/stm32mp_gic.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/plat/st/stm32mp2/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/bl31_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/include/stm32mp2_private.h
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_ca35ss.c
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_pm.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.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/services/std_svc/drtm/drtm_main.c
6c3cfbd006-Nov-2025 Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>

fix(build): fix BL2_CPPFLAGS when ENABLE_RME is set

Add IMAGE_AT_EL3 to BL2_CPPFLAGS as BL2 runs at EL3 when ENABLE_RME is
set. And use IMAGE_AT_EL3 for misc_helpers.S that is common for all BLs.

T

fix(build): fix BL2_CPPFLAGS when ENABLE_RME is set

Add IMAGE_AT_EL3 to BL2_CPPFLAGS as BL2 runs at EL3 when ENABLE_RME is
set. And use IMAGE_AT_EL3 for misc_helpers.S that is common for all BLs.

This fix enables cpu_reset ops in CPU libs when RME is enabled.

Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I9d30b6f900a5fed1993b1c09156830290203ed33

show more ...

416b861305-Mar-2025 John Powell <john.powell@arm.com>

fix(security): add workaround for CVE-2025-0647

This workaround fixes an issue with the CPP RCTX instruction by
issuing an instruction patch sequence to trap uses of the CPP RCTX
instruction from EL

fix(security): add workaround for CVE-2025-0647

This workaround fixes an issue with the CPP RCTX instruction by
issuing an instruction patch sequence to trap uses of the CPP RCTX
instruction from EL0, EL1, and EL2 to EL3 and perform a workaround
procedure using the implementation defined trap handler to ensure
the correct behavior of the system. In addition, it includes an EL3
API to be used if EL3 firmware needs to use the CPP RCTX instruction.
This saves the overhead of exception handling, and EL3 does not
generically support trapping EL3->EL3, and adding support for that
is not trivial due to the implications for context management.

The issue affects the following CPUs:

C1-Premium
C1-Ultra
Cortex-A710
Cortex-X2
Cortex-X3
Cortex-X4
Cortex-X925
Neoverse N2
Neoverse V2
Neoverse V3
Neoverse V3AE (handled same as V3 CPU in TF-A CPU-Lib)

Arm Security Bulletin Document:
https://developer.arm.com/documentation/111546

Change-Id: I5e7589afbeb69ebb79c01bec80e29f572aff3d89
Signed-off-by: John Powell <john.powell@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/architecture_features.rst
/rk3399_ARM-atf/docs/components/ras.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/arm/rse/rse_comms_protocol.c
/rk3399_ARM-atf/drivers/arm/rse/rse_comms_protocol_embed.c
/rk3399_ARM-atf/drivers/arm/rse/rse_comms_protocol_pointer_access.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/include/s32cc-clk-regs.h
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/mc_rgm.c
/rk3399_ARM-atf/drivers/nxp/ddr/s32cc/ddr_init.c
/rk3399_ARM-atf/drivers/nxp/ddr/s32cc/ddr_utils.c
/rk3399_ARM-atf/include/arch/aarch32/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/drivers/nxp/ddr/s32cc/ddr_init.h
/rk3399_ARM-atf/include/drivers/nxp/ddr/s32cc/ddr_utils.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpuamu.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/rosillo.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/wa_cve_2025_0647_cpprctx.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/lib/cpus/aarch64/c1_premium.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_ultra.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/cpuamu.c
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/rosillo.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2025_0647_cpprctx.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/extensions/debug/debugv8p9.c
/rk3399_ARM-atf/lib/extensions/ras/ras_common.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_main.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
constraints.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl2_el3_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.h
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_ddr.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/qemu/common/common.mk
0607fb7f22-Jan-2026 Ross Burton <ross.burton@arm.com>

feat(build): add HOSTLDFLAGS to pass flags to host links

There is a HOSTCCFLAGS variable to pass flags to all host compilations,
but no corresponding HOSTLDFLAGS to pass flags to host links.

Change

feat(build): add HOSTLDFLAGS to pass flags to host links

There is a HOSTCCFLAGS variable to pass flags to all host compilations,
but no corresponding HOSTLDFLAGS to pass flags to host links.

Change-Id: I17441fc61e45d2ee41f9ab55a5d745bd0d2156d7
Signed-off-by: Ross Burton <ross.burton@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/architecture_features.rst
/rk3399_ARM-atf/docs/components/ras.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/arm/rse/rse_comms_protocol.c
/rk3399_ARM-atf/drivers/arm/rse/rse_comms_protocol_embed.c
/rk3399_ARM-atf/drivers/arm/rse/rse_comms_protocol_pointer_access.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/include/s32cc-clk-regs.h
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/mc_rgm.c
/rk3399_ARM-atf/drivers/nxp/ddr/s32cc/ddr_init.c
/rk3399_ARM-atf/drivers/nxp/ddr/s32cc/ddr_utils.c
/rk3399_ARM-atf/include/arch/aarch32/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/drivers/nxp/ddr/s32cc/ddr_init.h
/rk3399_ARM-atf/include/drivers/nxp/ddr/s32cc/ddr_utils.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpuamu.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/rosillo.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/lib/cpus/aarch64/c1_premium.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_ultra.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/cpuamu.c
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/rosillo.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/extensions/debug/debugv8p9.c
/rk3399_ARM-atf/lib/extensions/ras/ras_common.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_main.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
build_macros.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl2_el3_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.h
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_ddr.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/qemu/common/common.mk
c46f2d9813-Jan-2026 Boyan Karatotev <boyan.karatotev@arm.com>

fix(build): assign the ldflags-common variable before appending to it

Otherwise the first value is lost, causing odd behaviours.

Change-Id: I6df892bf8f706db71d0aa7e67f5076cc9583e477
Signed-off-by:

fix(build): assign the ldflags-common variable before appending to it

Otherwise the first value is lost, causing odd behaviours.

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

show more ...


/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/renesas/common/common.c
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_console.S
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_printf.c
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_printf.h
/rk3399_ARM-atf/drivers/renesas/common/delay/micro_delay.c
/rk3399_ARM-atf/drivers/renesas/common/iic_dvfs/iic_dvfs.c
/rk3399_ARM-atf/drivers/renesas/common/pwrc/pwrc.c
/rk3399_ARM-atf/drivers/renesas/common/pwrc/pwrc.h
/rk3399_ARM-atf/drivers/renesas/common/scif/scif-common.c
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.c
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.h
/rk3399_ARM-atf/drivers/renesas/common/scif/scif_helpers.S
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/pwrc/pwrc.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/scif/scif.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen5/scif/scif.c
/rk3399_ARM-atf/fdts/rdaspen.dts
/rk3399_ARM-atf/include/arch/aarch64/arch.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/debug.h
/rk3399_ARM-atf/include/drivers/renesas/rcar/console/console.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_utils.c
cflags.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/common/cper.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/common/include/cper.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/platform.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/ras/include/rdaspen_ras.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/ras/rdaspen_ras.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/ras/rdaspen_ras_helpers.S
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_plat.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/renesas/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/renesas/common/rcar_common.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/renesas/rcar_gen4/rcar_common.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/renesas/rcar_gen5/rcar_common.c
/rk3399_ARM-atf/plat/rockchip/rk3588/drivers/scmi/rk3588_clk.c
27bc138602-Oct-2020 Manoj Kumar <manoj.kumar3@arm.com>

feat(morello): add Morello capability enablement changes

This patch adds a build macro ENABLE_FEAT_MORELLO which when set will
compile BL31 firmware with changes required to boot capability
aware so

feat(morello): add Morello capability enablement changes

This patch adds a build macro ENABLE_FEAT_MORELLO which when set will
compile BL31 firmware with changes required to boot capability
aware software.

It also adds helper function in c and assmbly to check if morello
hardware is present and if morello capability is enabled or not.

CE field, bits [23:20] in ID_AA64PFR1_EL1 defines whether morello
architecture is present or not, 0b0000 indicates that it is absent
and 0b0001 indicates that it is present. While whether capabilities
are enabled or not is decided at runtime with ENABLE_FEAT_MORELLO build
option.

Reference: https://developer.arm.com/documentation/ddi0606/latest/

Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
Change-Id: Ib16877acbfcb72c4bd8c08e97e44edc0a3e46089

show more ...


/rk3399_ARM-atf/.gitmodules
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch32/bl1_exceptions.S
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_main.c
/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/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/measured_boot_helpers.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/common/tf_crc32.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/contrib/libtpm
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/activity-monitors.rst
/rk3399_ARM-atf/docs/components/context-management-library.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot.rst
/rk3399_ARM-atf/docs/design_documents/rse.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/fvp-specific-configs.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/process/coding-guidelines.rst
/rk3399_ARM-atf/docs/resources/diagrams/per-cpu-numa-enabled.png
/rk3399_ARM-atf/docs/threat_model/firmware_threat_model/index.rst
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/gpio/gpio_spi.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/utility.c
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_console.S
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_printf.c
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_printf.h
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.c
/rk3399_ARM-atf/drivers/tpm/tpm2.mk
/rk3399_ARM-atf/drivers/tpm/tpm2_slb9670/slb9670_gpio.c
/rk3399_ARM-atf/fdts/rdaspen-defs.dtsi
/rk3399_ARM-atf/fdts/tc-base.dtsi
/rk3399_ARM-atf/fdts/tc-fpga.dtsi
/rk3399_ARM-atf/include/arch/aarch32/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/common/measured_boot.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/gpio_spi.h
/rk3399_ARM-atf/include/drivers/tpm/tpm2_slb9670/slb9670_gpio.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_nano.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_premium.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_pro.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_ultra.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x925.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v3.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/debugfs.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/extensions/amu.h
/rk3399_ARM-atf/include/lib/mmio.h
/rk3399_ARM-atf/include/lib/psa/rse_crypto_defs.h
/rk3399_ARM-atf/include/lib/psa/rse_platform_api.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/spinlock.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/rmmd_svc.h
/rk3399_ARM-atf/include/services/spm_mm_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/c1_nano.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_premium.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_pro.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_ultra.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_common.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.c
/rk3399_ARM-atf/lib/psa/rse_platform.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
arch_features.mk
cflags.mk
constraints.mk
/rk3399_ARM-atf/plat/amd/versal2/aarch64/helpers.S
/rk3399_ARM-atf/plat/amd/versal2/include/def.h
/rk3399_ARM-atf/plat/amd/versal2/plat_topology.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_helpers.S
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_plat.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_pm.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.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_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.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_ve/fvp_ve_security.c
/rk3399_ARM-atf/plat/arm/board/juno/include/plat_juno_mbedtls_config.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/fdts/tc_spmc_manifest.dtsi
/rk3399_ARM-atf/plat/arm/board/tc/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/tc/include/tc_plat.h
/rk3399_ARM-atf/plat/arm/board/tc/platform_test.mk
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8m_measured_boot.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/intel/soc/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_private.h
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_handoff.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_ros.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_vab.c
/rk3399_ARM-atf/plat/mediatek/drivers/audio/audio.c
/rk3399_ARM-atf/plat/mediatek/drivers/audio/audio.h
/rk3399_ARM-atf/plat/mediatek/drivers/audio/mt8196/audio_domain.c
/rk3399_ARM-atf/plat/mediatek/drivers/audio/mt8196/mt_audio_private.h
/rk3399_ARM-atf/plat/mediatek/drivers/audio/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/booker/booker.c
/rk3399_ARM-atf/plat/mediatek/drivers/booker/mt8196/platform_booker.h
/rk3399_ARM-atf/plat/mediatek/drivers/booker/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/drivers/booker.h
/rk3399_ARM-atf/plat/mediatek/lib/pm/armv9_0/rules.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/nxp/soc-ls1028a/soc.c
/rk3399_ARM-atf/plat/nxp/soc-ls1028a/soc.mk
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu/qemu_measured_boot.c
/rk3399_ARM-atf/plat/renesas/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/renesas/common/common.mk
/rk3399_ARM-atf/plat/renesas/common/include/rcar_def.h
/rk3399_ARM-atf/plat/renesas/common/include/registers/cpg_registers.h
/rk3399_ARM-atf/plat/renesas/rcar_gen4/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3576/scmi/rk3576_clk.c
/rk3399_ARM-atf/plat/rpi/rpi3/include/rpi3_measured_boot.h
/rk3399_ARM-atf/plat/rpi/rpi3/include/rpi_hw.h
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl1_mboot.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl2_mboot.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_common_mboot.c
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1.ld.S
/rk3399_ARM-atf/plat/st/stm32mp2/aarch64/stm32mp2.ld.S
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_common.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/spd/opteed/opteed_pm.c
/rk3399_ARM-atf/services/spd/opteed/opteed_private.h
/rk3399_ARM-atf/services/spd/opteed/teesmc_opteed.h
/rk3399_ARM-atf/services/spd/opteed/teesmc_opteed_macros.h
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
38e580e626-Nov-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(cpufeat): enable USE_SPINLOCK_CAS to FEAT_STATE_CHECKED

The FEAT_LSE enablement predates the FEAT_STATE framework and has never
been converted. Since the introduction of USE_SPINLOCK_CAS we've

feat(cpufeat): enable USE_SPINLOCK_CAS to FEAT_STATE_CHECKED

The FEAT_LSE enablement predates the FEAT_STATE framework and has never
been converted. Since the introduction of USE_SPINLOCK_CAS we've gained
lots of quality of life features that allow for better feature
enablement. This patch converts USE_SPINLOCK_CAS to tri-state and adds
it to FEATURE_DETECTION to align with all other features.

Instead of introducing the assembly checking for tri-state, this patch
translates all locking routines to C inline assembly and uses the
standard C helpers. The main benefit is that this gives greater
visibility to the compiler about what the functions are doing and lets
it optimise better. Namely, it is able to allocate registers itself and
inline the functions when LTO is enabled.

An unsuccessful attempt was made to use the instructions directly and
have even flow control in C. This, however, made code very complicated
and less efficient in the tight loops of the spinlock.

The last use of ARM_ARCH_AT_LEAST goes away with this change and so this
macro is removed. It has now been fully superseded by the FEAT_STATE
framework.

This change exposes a limitation - RME_GPT_BITLOCK_BLOCK requires
USE_SPINLOCK_CAS. This patch does not address this in any way but makes
the relationship explicit.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-13.rst
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/clk/clk.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen5/pwrc/pwrc.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen5/pwrc/pwrc.h
/rk3399_ARM-atf/drivers/renesas/rcar_gen5/scif/scif.c
/rk3399_ARM-atf/include/arch/aarch32/arch_features.h
/rk3399_ARM-atf/include/arch/aarch32/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/clk.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_premium.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_ultra.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a725.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a76ae.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/lsc25_e_core.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/lsc25_p_core.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_fconf_io_storage.h
/rk3399_ARM-atf/lib/cpus/aarch64/c1_premium.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_pro.S
/rk3399_ARM-atf/lib/cpus/aarch64/c1_ultra.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a725.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/lsc25_e_core.S
/rk3399_ARM-atf/lib/cpus/aarch64/lsc25_p_core.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_debug.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/libc/strtoul.c
/rk3399_ARM-atf/lib/libc/strtoull.c
/rk3399_ARM-atf/lib/libfdt/fdt_overlay.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.c
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/zlib/crc32.c
arch_features.mk
constraints.mk
defaults.mk
/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/neoverse_rd/platform/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/tc_rng_trap.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_io_storage.c
/rk3399_ARM-atf/plat/arm/common/arm_transfer_list.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_system_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/sbsa_sip_svc.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/renesas/rcar_gen5/aarch64/platform_common.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/plat.ld.S
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/plat_helpers.h
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/platform_def.h
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/rcar_def.h
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/rcar_private.h
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/rcar_scmi_id.h
/rk3399_ARM-atf/plat/renesas/rcar_gen5/include/rcar_version.h
/rk3399_ARM-atf/plat/renesas/rcar_gen5/plat_pm.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/plat_pm_scmi.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/plat_topology.c
/rk3399_ARM-atf/plat/renesas/rcar_gen5/platform.mk
/rk3399_ARM-atf/plat/renesas/rcar_gen5/rcar_common.c
4286d16f26-Nov-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(cpufeat): add support for FEAT_UINJ

FEAT_UINJ allows higher ELs to inject Undefined Instruction exceptions
into lower ELs by setting SPSR_ELx.UINJ, which updates PSTATE.UINJ on
exception return

feat(cpufeat): add support for FEAT_UINJ

FEAT_UINJ allows higher ELs to inject Undefined Instruction exceptions
into lower ELs by setting SPSR_ELx.UINJ, which updates PSTATE.UINJ on
exception return. When PSTATE.UINJ is set, instruction execution at the
lower EL raises an Undefined Instruction exception (EC=0b000000).

This patch introduces support for FEAT_UINJ by updating the
inject_undef64() to use hardware undef injection if supported.

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

show more ...

9838436c26-Nov-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(cpufeat): enable mandatory Armv9.4–Armv9.6 features by default

This patch sets Armv9.4-Armv9.6 mandatory features
to 1 by default.

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

feat(cpufeat): enable mandatory Armv9.4–Armv9.6 features by default

This patch sets Armv9.4-Armv9.6 mandatory features
to 1 by default.

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

show more ...

3ca44b8211-Nov-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

fix(cpufeat): simplify AArch32 feature disablement

Remove redundant conditional checks for unsupported features
(SPE, SVE, MPAM) in aarch32 builds and set them unconditionally
to 0. Add correspondin

fix(cpufeat): simplify AArch32 feature disablement

Remove redundant conditional checks for unsupported features
(SPE, SVE, MPAM) in aarch32 builds and set them unconditionally
to 0. Add corresponding constraint checks to ensure these
features are not enabled when ARCH=aarch32.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/numa-per-cpu.rst
/rk3399_ARM-atf/docs/components/ras.rst
/rk3399_ARM-atf/docs/components/realm-management-extension.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.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/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/rdaspen.rst
/rk3399_ARM-atf/docs/resources/diagrams/per-cpu-false-sharing.png
/rk3399_ARM-atf/docs/resources/diagrams/per-cpu-numa-disabled.png
/rk3399_ARM-atf/docs/resources/diagrams/per-cpu-numa-enabled.png
/rk3399_ARM-atf/docs/resources/diagrams/plantuml/firmware_handoff_dfd.puml
/rk3399_ARM-atf/docs/threat_model/firmware_threat_model/index.rst
/rk3399_ARM-atf/docs/threat_model/firmware_threat_model/threat_model.rst
/rk3399_ARM-atf/docs/threat_model/firmware_threat_model/threat_model_firmware_handoff.rst
/rk3399_ARM-atf/include/drivers/arm/gicv5.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/gpt_rme/gpt_rme.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/amu/amu.mk
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.c
/rk3399_ARM-atf/lib/psci/psci_common.c
arch_features.mk
constraints.mk
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/package.json
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/sunxi_power.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/platform.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/platform.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/morello/morello_image_load.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/arch/aarch64/nrd_helper.S
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/readme.rst
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
/rk3399_ARM-atf/tools/conventional-changelog-tf-a/package.json
97ac9d1c15-Nov-2025 Chris Kay <chris.kay@arm.com>

Merge "fix(build): set linker to lld before evaluating ld_option" into integration

78cb57cc11-Nov-2025 Chris Kay <chris.kay@arm.com>

fix(build): shell-escape toolchain wrapper commands

When we split toolchain tool commands into their wrapper and program
shell fragments, we do so by iterating over each shell word and
forwarding it

fix(build): shell-escape toolchain wrapper commands

When we split toolchain tool commands into their wrapper and program
shell fragments, we do so by iterating over each shell word and
forwarding it to `toolchain-guess-tool`.

However, we receive each word in its raw form, but we pass it to a
function which expects a fragment. If the raw word contains characters
which are syntactically-meaningful to the shell, then the command can
misbehave, and the build system can unwittingly do some funky things.

This small change just ensures that we re-quote the shell word we
receive before forwarding it on.

Change-Id: I325e1c135fee97d749da927c08e181775b14d146
Signed-off-by: Chris Kay <chris.kay@arm.com>

show more ...

cfc2d76611-Nov-2025 Chris Kay <chris.kay@arm.com>

fix(build): fix incorrect parentheses expansion in `shell-map`

The previous commit which attempted to fix the expansions in `shell-map`
doubled up on the dollar signs for all of the escape substitut

fix(build): fix incorrect parentheses expansion in `shell-map`

The previous commit which attempted to fix the expansions in `shell-map`
doubled up on the dollar signs for all of the escape substitutions; this
"fixed" the Windows build.

However, the expansion of the parentheses is actually still wrong.
Consider the following example:

print = $(warning $(1))

$(call shell-map,print,'$$' '$(lparen)' '$(rparen)')

... which prints:

make_helpers/utilities.mk:620: $
make_helpers/utilities.mk:620: ${lparen}
make_helpers/utilities.mk:620: ${rparen}

However, what we expect to see is:

make_helpers/utilities.mk:620: $
make_helpers/utilities.mk:620: (
make_helpers/utilities.mk:620: )

The reason we do these substitutions is because, behind the scenes, the
function generates a small snippet of Make which calls the map function
provided by the user. To do that safely, we need to escape characters
which can cause premature expansion (`$`), and any characters which can
interfere with the syntax of the `call` function (`(` and `)`).

The shell snippet that we *expected* the example above to generate was:

$(call print,$$,1)
$(call print,${lparen},2)
$(call print,${rparen},3)

However, as of the last "fix", what it is actually generating is:

$(call print,$$,1)
$(call print,$${lparen},2)
$(call print,$${rparen},3)

This breaks the Windows build again but that's because this bug was
actually three bugs from the start.

Change-Id: Ibaf044806101334ddf4080df8da18f9aac8667e5
Signed-off-by: Chris Kay <chris.kay@arm.com>

show more ...

2ac888f611-Nov-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(build): fix incorrect expansions in `shell-map`" into integration

46a898f910-Nov-2025 Chris Kay <chris.kay@arm.com>

fix(build): fix incorrect expansions in `shell-map`

The `shell-map` function needs to pass values it receives from the shell
back into Make for evaluation, which requires certain special characters

fix(build): fix incorrect expansions in `shell-map`

The `shell-map` function needs to pass values it receives from the shell
back into Make for evaluation, which requires certain special characters
to be escaped.

This escaping is currently resulting in those characters *not* being
escaped, and consequently instead generates some funky (unhelpful)
syntax errors half-way through reading the Makefile.

This change corrects the escape substitutions so that they are evaluated
as expected within Make.

Change-Id: I7b47a48342f626efe362e05283ee59520673375f
Signed-off-by: Chris Kay <chris.kay@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/context-management-library.rst
/rk3399_ARM-atf/docs/components/index.rst
/rk3399_ARM-atf/docs/components/numa-per-cpu.rst
/rk3399_ARM-atf/docs/design/psci-pd-tree.rst
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_cache_thrashing.png
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_numa_disabled.png
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_numa_enabled.png
/rk3399_ARM-atf/include/arch/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/bl31/sync_handle.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu_macros.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/cpu_data_array.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/per_cpu/aarch64/per_cpu_asm.S
/rk3399_ARM-atf/lib/per_cpu/per_cpu.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
utilities.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_css_fw_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_per_cpu.S
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
5ecae95110-Nov-2025 Dmitrii Sharshakov <d3dx12.xx@gmail.com>

fix(build): set linker to lld before evaluating ld_option

This ensures ld_option is called with valid -fuse-ld option, therefore
filtering options against ones supported by lld and not the
system de

fix(build): set linker to lld before evaluating ld_option

This ensures ld_option is called with valid -fuse-ld option, therefore
filtering options against ones supported by lld and not the
system default linker Clang chooses without the option specified.

This change should not affect toolchains other than llvm-clang, since it
only moves a conditional concerning the said toolchain.

Resolves the following linking error that manifests itself when using
Clang versions 21 and higher for building TF-A:

> ld.lld: error: unknown argument '--no-warn-rwx-segments'

Change-Id: I466f733377327a7c38ee27899be6681debf61e11
Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/context-management-library.rst
/rk3399_ARM-atf/docs/components/index.rst
/rk3399_ARM-atf/docs/components/numa-per-cpu.rst
/rk3399_ARM-atf/docs/design/psci-pd-tree.rst
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_cache_thrashing.png
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_numa_disabled.png
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_numa_enabled.png
/rk3399_ARM-atf/include/arch/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/bl31/sync_handle.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu_macros.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/cpu_data_array.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/per_cpu/aarch64/per_cpu_asm.S
/rk3399_ARM-atf/lib/per_cpu/per_cpu.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
cflags.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_css_fw_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_per_cpu.S
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
f396aec809-Sep-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(cpufeat): add support for FEAT_IDTE3

This patch adds support for FEAT_IDTE3, which introduces support
for handling the trapping of Group 3 and Group 5 (only GMID_EL1)
registers to EL3 (unless t

feat(cpufeat): add support for FEAT_IDTE3

This patch adds support for FEAT_IDTE3, which introduces support
for handling the trapping of Group 3 and Group 5 (only GMID_EL1)
registers to EL3 (unless trapped to EL2). IDTE3 allows EL3 to
modify the view of ID registers for lower ELs, and this capability
is used to disable fields of ID registers tied to disabled features.

The ID registers are initially read as-is and stored in context.
Then, based on the feature enablement status for each world, if a
particular feature is disabled, its corresponding field in the
cached ID register is set to Res0. When lower ELs attempt to read
an ID register, the cached ID register value is returned. This
allows EL3 to prevent lower ELs from accessing feature-specific
system registers that are disabled in EL3, even though the hardware
implements them.

The emulated ID register values are stored primarily in per-world
context, except for certain debug-related ID registers such as
ID_AA64DFR0_EL1 and ID_AA64DFR1_EL1, which are stored in the
cpu_data and are unique to each PE. This is done to support feature
asymmetry that is commonly seen in debug features.

FEAT_IDTE3 traps all Group 3 ID registers in the range
op0 == 3, op1 == 0, CRn == 0, CRm == {2–7}, op2 == {0–7} and the
Group 5 GMID_EL1 register. However, only a handful of ID registers
contain fields used to detect features enabled in EL3. Hence, we
only cache those ID registers, while the rest are transparently
returned as is to the lower EL.

This patch updates the CREATE_FEATURE_FUNCS macro to generate
update_feat_xyz_idreg_field() functions that disable ID register
fields on a per-feature basis. The enabled_worlds scope is used to
disable ID register fields for security states where the feature is
not enabled.

This EXPERIMENTAL feature is controlled by the ENABLE_FEAT_IDTE3
build flag and is currently disabled by default.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/context-management-library.rst
/rk3399_ARM-atf/docs/components/index.rst
/rk3399_ARM-atf/docs/components/numa-per-cpu.rst
/rk3399_ARM-atf/docs/design/psci-pd-tree.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_cache_thrashing.png
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_numa_disabled.png
/rk3399_ARM-atf/docs/resources/diagrams/per_cpu_numa_numa_enabled.png
/rk3399_ARM-atf/include/arch/aarch32/el3_common_macros.S
/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/el3_common_macros.S
/rk3399_ARM-atf/include/bl31/sync_handle.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/extensions/idte3.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu_macros.S
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/cpu_data_array.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/idte/idte3.c
/rk3399_ARM-atf/lib/per_cpu/aarch64/per_cpu_asm.S
/rk3399_ARM-atf/lib/per_cpu/per_cpu.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
arch_features.mk
constraints.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_css_fw_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_per_cpu.S
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
7256cf0a29-Jan-2025 Rohit Mathew <rohit.mathew@arm.com>

feat(per-cpu): introduce linker changes for NUMA aware per-cpu framework

This commit introduces linker changes for NUMA aware per-cpu objects in
the BL31 and BL32 images. The per-cpu framework is de

feat(per-cpu): introduce linker changes for NUMA aware per-cpu framework

This commit introduces linker changes for NUMA aware per-cpu objects in
the BL31 and BL32 images. The per-cpu framework is designed to minimise
cache thrashing, and the linker layout ensures each CPU’s per-cpu data
is placed on a separate cache line. This isolation is expected to
improve performance when the per-cpu framework is enabled.

Signed-off-by: Sammit Joshi <sammit.joshi@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ie4d8b4e444971adbd9dba0446d1ab8cafaca1556

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/qti-msm8916.rst
/rk3399_ARM-atf/docs/plat/qti.rst
/rk3399_ARM-atf/docs/plat/qti/chrome.rst
/rk3399_ARM-atf/docs/plat/qti/index.rst
/rk3399_ARM-atf/docs/plat/qti/msm8916.rst
/rk3399_ARM-atf/docs/plat/qti/rb3gen2.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/qti/accesscontrol/xpu.c
/rk3399_ARM-atf/drivers/qti/crypto/rng.c
/rk3399_ARM-atf/include/bl32/tsp/platform_tsp.h
/rk3399_ARM-atf/include/common/bl_common.ld.h
/rk3399_ARM-atf/include/drivers/qti/accesscontrol/xpu.h
/rk3399_ARM-atf/include/drivers/qti/crypto/rng.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu_defs.h
/rk3399_ARM-atf/include/services/lfa_svc.h
constraints.mk
defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd_logical_sp.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/include/plat_def_fip_uuid.h
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/include/plat_tbbr_img_def.h
/rk3399_ARM-atf/plat/qti/common/inc/qti_board_def.h
/rk3399_ARM-atf/plat/qti/common/inc/qti_interrupt_svc.h
/rk3399_ARM-atf/plat/qti/common/inc/qti_plat.h
/rk3399_ARM-atf/plat/qti/common/src/aarch64/qti_bl2_helpers.S
/rk3399_ARM-atf/plat/qti/common/src/qti_bl2_setup.c
/rk3399_ARM-atf/plat/qti/common/src/qti_bl31_setup.c
/rk3399_ARM-atf/plat/qti/common/src/qti_image_desc.c
/rk3399_ARM-atf/plat/qti/common/src/qti_interrupt_svc.c
/rk3399_ARM-atf/plat/qti/common/src/qti_io_storage.c
/rk3399_ARM-atf/plat/qti/common/src/qti_stack_protector.c
/rk3399_ARM-atf/plat/qti/common/src/qti_syscall.c
/rk3399_ARM-atf/plat/qti/kodiak/inc/kodiak_def.h
/rk3399_ARM-atf/plat/qti/kodiak/inc/qti_map_chipinfo.h
/rk3399_ARM-atf/plat/qti/kodiak/inc/qti_secure_io_cfg.h
/rk3399_ARM-atf/plat/qti/kodiak/rb3gen2/inc/platform_def.h
/rk3399_ARM-atf/plat/qti/kodiak/rb3gen2/platform.mk
/rk3399_ARM-atf/plat/qti/kodiak/sc7280_chrome/inc/platform_def.h
/rk3399_ARM-atf/plat/qti/kodiak/sc7280_chrome/platform.mk
/rk3399_ARM-atf/plat/qti/qcs615/inc/platform_def.h
/rk3399_ARM-atf/plat/qti/qcs615/platform.mk
/rk3399_ARM-atf/plat/qti/qtiseclib/inc/kodiak/qtiseclib_defs_plat.h
/rk3399_ARM-atf/plat/qti/sc7180/inc/platform_def.h
/rk3399_ARM-atf/plat/qti/sc7180/platform.mk
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/s32/s32g274ardb2/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/s32/s32g274ardb2/plat_fiptool.mk
/rk3399_ARM-atf/tools/qti/fip-elf.lds
/rk3399_ARM-atf/tools/qti/generate_fip_elf.sh
5e827bf024-Oct-2025 Timothy Hayes <timothy.hayes@arm.com>

feat(cpufeat): introduce FEAT_RME_GDI support

This patch adds a new build flag ENABLE_FEAT_RME_GDI to enable this
feature, along with defining various related register fields. At this
point, when en

feat(cpufeat): introduce FEAT_RME_GDI support

This patch adds a new build flag ENABLE_FEAT_RME_GDI to enable this
feature, along with defining various related register fields. At this
point, when enabled, this feature enables the SA and NSP GPI encodings
by setting the corresponding bits in GPCCR_EL3.

Change-Id: I54152fbb3d19b176264e5d16acbcc866725dc290
Signed-off-by: John Powell <john.powell@arm.com>
Signed-off-by: Timothy Hayes <timothy.hayes@arm.com>

show more ...

714a1a9328-Oct-2025 Manish Pandey <manish.pandey2@arm.com>

fix(cpufeat): extend FEAT_EBEP handling to delegate PMU control to EL2

Currently, the FEAT_EBEP feature presence check is only used for UNDEF
injection into lower ELs. However, this feature also aff

fix(cpufeat): extend FEAT_EBEP handling to delegate PMU control to EL2

Currently, the FEAT_EBEP feature presence check is only used for UNDEF
injection into lower ELs. However, this feature also affects the access
behavior of MDCR_EL2. Specifically, if the PMEE bits in MDCR_EL3 are not
set to 0b01, then the MDCR_EL2.PMEE bits cannot be configured by EL2.

This patch extends the use of FEAT_EBEP to delegate PMU IRQ and
profiling exception control to EL2 by setting MDCR_EL3.PMEE = 0b01.This
ensures that lower ELs can manage PMU configuration.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ib7e1d5c72f017b8ffc2131fc57309dd9d811c973

show more ...

beedfb9304-Nov-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "little-build-fixes" into integration

* changes:
fix(build): don't rely on Event Log build tree
fix(build): link Event Log library directly
fix(build): scan symbols un

Merge changes from topic "little-build-fixes" into integration

* changes:
fix(build): don't rely on Event Log build tree
fix(build): link Event Log library directly
fix(build): scan symbols until all are resolved
fix(build): add include directory dependencies

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/scif/scif.c
/rk3399_ARM-atf/fdts/morello-soc.dts
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n2.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/assembly.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/int_lib.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/int_math.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/int_types.h
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/extensions/debug/debugv8p9.c
/rk3399_ARM-atf/lib/libfdt/Makefile.libfdt
/rk3399_ARM-atf/lib/libfdt/TODO
/rk3399_ARM-atf/lib/libfdt/fdt.h
/rk3399_ARM-atf/lib/libfdt/fdt_check.c
/rk3399_ARM-atf/lib/libfdt/fdt_overlay.c
/rk3399_ARM-atf/lib/libfdt/fdt_ro.c
/rk3399_ARM-atf/lib/libfdt/libfdt.h
/rk3399_ARM-atf/lib/libfdt/libfdt.mk
/rk3399_ARM-atf/lib/libfdt/libfdt_env.h
/rk3399_ARM-atf/lib/libfdt/meson.build
/rk3399_ARM-atf/lib/libfdt/sbom.cdx.json
/rk3399_ARM-atf/lib/libfdt/version.lds
/rk3399_ARM-atf/lib/zlib/inffast.c
/rk3399_ARM-atf/lib/zlib/inflate.c
/rk3399_ARM-atf/lib/zlib/inflate.h
/rk3399_ARM-atf/lib/zlib/inftrees.c
/rk3399_ARM-atf/lib/zlib/inftrees.h
/rk3399_ARM-atf/lib/zlib/zconf.h
/rk3399_ARM-atf/lib/zlib/zlib.h
/rk3399_ARM-atf/lib/zlib/zutil.h
build_macros.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
6251d6ed30-Oct-2025 Olivier Deprez <olivier.deprez@arm.com>

Merge changes Ie8453359,Icd58a49c into integration

* changes:
docs: deprecate SPM_MM build option
docs: deprecate NS_TIMER_SWITCH build option

12345678910>>...21