History log of /rk3399_ARM-atf/lib/el3_runtime/ (Results 1 – 25 of 323)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
96f227b721-Jan-2026 Xialin Liu <xialin.liu@arm.com>

feat(crypto): enable floating point register traps in EL3

To prevent the leakage of EL3 information to lower ELs, access to
floating point registers needed to be traped to EL3 unless necessary
(e.g

feat(crypto): enable floating point register traps in EL3

To prevent the leakage of EL3 information to lower ELs, access to
floating point registers needed to be traped to EL3 unless necessary
(e.g the SIMD crypto extension, SIMD context save/restore).

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/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_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/about/maintainers.rst
/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/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/porting-guide.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/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/auth/mbedtls/mbedtls_common.mk
/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/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-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/scif/scif.c
/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/arch_helpers.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/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/drivers/arm/sfcp.h
/rk3399_ARM-atf/include/drivers/arm/sfcp_link_defs.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_mbedtls_config.h
/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/drivers/renesas/rcar/console/console.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/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/aarch64/misc_helpers.S
/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_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75_pubsub.c
/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_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpuamu.c
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/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
simd_ctx.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
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/march.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/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/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.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/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_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/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/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.h
/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/plat_ddr.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/qemu/common/common.mk
/rk3399_ARM-atf/plat/qti/common/src/qti_bl2_setup.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/bl2_plat_setup.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/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
5c1015b314-Jan-2026 Govindraj Raja <govindraj.raja@arm.com>

Merge "fix(context-mgmt): actually clear MDCR_EL3 bits" into integration


/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/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/rcar_gen4/pwrc/pwrc.c
/rk3399_ARM-atf/fdts/rdaspen.dts
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_utils.c
/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/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/rockchip/rk3588/drivers/scmi/rk3588_clk.c
3247828c02-Aug-2022 Manoj Kumar <manoj.kumar3@arm.com>

fix(morello): avoid capability tag fault on data access

TF-A runtime service at EL3 switches the stack pointer from SP_EL3
to SP_EL0. This creates a capability tag fault when the DDC_EL0 is
zeroed o

fix(morello): avoid capability tag fault on data access

TF-A runtime service at EL3 switches the stack pointer from SP_EL3
to SP_EL0. This creates a capability tag fault when the DDC_EL0 is
zeroed out (purecap user space) as any data accesses computes
tag/permission with DDC_EL0 value when SpSel is 0 and when EL3 is
in hybrid mode.

As a workaround, this patch creates a per cpu context variable
to store DDC_EL0 value so that when EL3 runtime is entered DDC_EL0
is saved on to stack. DDC_EL3 is then copied into DDC_EL0 after
switching SP to SP_EL0. Once the runtime finishes, during el3_exit,
the saved DDC_EL0 is restored from stack.

Signed-off-by: Selvarasu Ganesan <selvarasu.ganesan@arm.com>
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
Change-Id: I4e4010f0e20913cb4e35b58fb49a177bdf26feb1

show more ...

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/Makefile
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/common/tf_crc32.c
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/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/fdts/rdaspen-defs.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/lib/smccc.h
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context.S
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/renesas/common/common.mk
/rk3399_ARM-atf/plat/renesas/common/include/registers/cpg_registers.h
/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/spmd/spmd_main.c
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
8cd9c18b08-Dec-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cpufeat): prevent FEAT_AMU counters 2 and 3 from counting across worlds

FEAT_AMU has 4 architected counters. The lower 2, CPU_CYCLES and
CNT_CYCLES, are not considered to be side channels due to

fix(cpufeat): prevent FEAT_AMU counters 2 and 3 from counting across worlds

FEAT_AMU has 4 architected counters. The lower 2, CPU_CYCLES and
CNT_CYCLES, are not considered to be side channels due to their low
resolution and general availability of the data elsewhere. As such, they
are used for critical performance tuning and are expected to never be
turned off or context switched when switching worlds.

The upper 2 counters, INST_RETIRED and STALL_BACKEND_MEM, are different.
The data they provide is non-critical and expose new information that
could be used as a timing side channel, especially of Secure world. This
patch adds context switching of these two counters to prevent any such
side channel.

This is not done for group 1 auxiliary counters as those are IMP DEF and
are inaccessible by default unless overriden by the platform (with
AMU_RESTRICT_COUNTERS).

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

show more ...


/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/contrib/libeventlog
/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/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/nxp/ddr/nxp-ddr/utility.c
/rk3399_ARM-atf/fdts/tc-base.dtsi
/rk3399_ARM-atf/fdts/tc-fpga.dtsi
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/c1_nano.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x925.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v3.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/spinlock.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_pro.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_n2.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
aarch64/context.S
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/psci/psci_suspend.c
/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/tc_bl31_setup.c
/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/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/rcar_gen4/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3576/scmi/rk3576_clk.c
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_main.c
e63e579407-Nov-2025 Andre Przywara <andre.przywara@arm.com>

fix(context-mgmt): actually clear MDCR_EL3 bits

When setting up MDCR_EL3 for a given context, we need to set some bits,
but also clear some other bits. This was done in a single statement,
but using

fix(context-mgmt): actually clear MDCR_EL3 bits

When setting up MDCR_EL3 for a given context, we need to set some bits,
but also clear some other bits. This was done in a single statement,
but using the C "|=" operator, which would never clear any bits in the
left-hand side.

Split this into two statements, one for setting, the other for clearing
bits.

It seems that on the FVP the bits to clear already reset to 0, so this
never caused any issues so far, but the architecture declares those bits
as: "this field resets to an architecturally UNKNOWN value".

Change-Id: Id1e9e4c010167af2ea3d5820532704220aa7c647
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


/rk3399_ARM-atf/.gitmodules
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/measured_boot_helpers.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/contrib/libtpm
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.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/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/tpm/tpm2.mk
/rk3399_ARM-atf/drivers/tpm/tpm2_slb9670/slb9670_gpio.c
/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/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/arch/aarch64/asm_macros.S
/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/debugfs.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.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/utils_def.h
/rk3399_ARM-atf/include/services/rmmd_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_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
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.c
/rk3399_ARM-atf/lib/psa/rse_platform.c
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.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/neoverse_rd/platform/rdn2/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/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/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/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_rules.mk
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
14320bce20-Oct-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(el3-runtime): translate EL3 handled exceptions to C and always call prepare_el3_entry

Exception handling in BL31 is tricky business and to satisfy the varying
requirements of the different code

feat(el3-runtime): translate EL3 handled exceptions to C and always call prepare_el3_entry

Exception handling in BL31 is tricky business and to satisfy the varying
requirements of the different code paths it has thus far largely been
written in assembly. However, assembly is extremely tedious to read and
modify. Similar to context management, it is desirable to have as much
as possible in C. C code is generally easier to follow and can enable
the compiler to do more optimisations on surrounding code.

Most exceptions that BL31 deals with are the synchronous exceptions and
those are processed within BL31. They already get prepared for EL3 entry
and after the initial dispatch end up in C. So the dispatch can also be
converted in C. Interrupt exceptions are very similar so are converted
too. Finally, asynchronous external aborts share some code with
synchronous external aborts and may end up being processed deeper in
BL31. So they can safely be prepared for EL3 entry too and converted to
C so that they can share code properly.

The IMP DEF exceptions are not part of this refactor as their speed may
be important. There is currently little that uses them, but they can be
converted to C too once their use expands and usage allows it.

This refactor allows to expand the responsibilities of
prepare_el3_entry(). Its role is already to prepare context for
executing within EL3 but with this patch EL3 execution is synonymous
with C runtime execution. So it's given the responsibility of saving
spsr and elr as well as putting the runtime stack in.

When a synchronous exception happens, the only possible paths are to
enter the C EL3 runtime, exiting via el3_exit(), or to panic. In the EL3
runtime case, we always need prepare_el3_entry() and the runtime stack,
whereas in the panic case, this doesn't matter as we will never return.
So hoist the prepare_el3_entry() call and the changing of the stacks as
early as possible and make the rest of the code agnostic of this.

This patch also gets rid of smc_prohibited. It is an optimisation by
skipping prepare_el3_entry() when a bad smc call happens. However, speed
doesn't matter in this case as this is an erroneous case.

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

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.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2.mk
/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/bl32/tsp/tsp.mk
/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/contrib/libeventlog
/rk3399_ARM-atf/contrib/libtpm
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.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/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/tpm/tpm2.mk
/rk3399_ARM-atf/drivers/tpm/tpm2_slb9670/slb9670_gpio.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/arch/aarch64/asm_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_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/neoverse_v2.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.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/utils_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/rmmd_svc.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_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_x2.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/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_common.c
aarch64/context.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.c
/rk3399_ARM-atf/lib/psa/rse_platform.c
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.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/neoverse_rd/platform/rdn2/platform.mk
/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/nvidia/tegra/common/tegra_bl31_setup.c
/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/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/services/std_svc/drtm/drtm_measurements.c
48bbb8e410-Dec-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge "refactor(cm): reduce conditional compilation" into integration

3840242b09-Dec-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cpufeat): enable FEAT_FGWTE3 after FEAT_CPA

FEAT_CPA needs to write SCTLR2_EL3 which will be forbidden after
initialising FEAT_FGWTE3. Correct the order.

Change-Id: I3a0554d2a73f773b3ad672eb1e4

fix(cpufeat): enable FEAT_FGWTE3 after FEAT_CPA

FEAT_CPA needs to write SCTLR2_EL3 which will be forbidden after
initialising FEAT_FGWTE3. Correct the order.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/architecture_features.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/ffa-manifest-binding.rst
/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/design/cpu-specific-build-macros.rst
/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/security_advisories/security-advisory-tfv-13.rst
/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/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/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/arm/gicv5.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/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/plat/arm/common/arm_fconf_io_storage.h
/rk3399_ARM-atf/include/services/arm_arch_svc.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
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/extensions/amu/amu.mk
/rk3399_ARM-atf/lib/extensions/idte/idte3.c
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.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/psci/psci_common.c
/rk3399_ARM-atf/lib/zlib/crc32.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/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/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/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/neoverse_rd/platform/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/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
/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
d44566c427-Nov-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(cm): reduce conditional compilation

Context debug needs to switch between EL1 and EL2 context but it can
re-use its variables and function calls with a bit of clever naming.
Unify them to r

refactor(cm): reduce conditional compilation

Context debug needs to switch between EL1 and EL2 context but it can
re-use its variables and function calls with a bit of clever naming.
Unify them to reduce #if-s.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/architecture_features.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/ffa-manifest-binding.rst
/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/design/cpu-specific-build-macros.rst
/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/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/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/arm/gicv5.h
/rk3399_ARM-atf/include/drivers/clk.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/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/plat/arm/common/arm_fconf_io_storage.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/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/lsc25_e_core.S
/rk3399_ARM-atf/lib/cpus/aarch64/lsc25_p_core.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context_debug.c
/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/extensions/idte/idte3.c
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.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/psci/psci_common.c
/rk3399_ARM-atf/lib/zlib/crc32.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/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/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/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/neoverse_rd/platform/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/tc_rng_trap.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/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
/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
886f95d214-Nov-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cm): do not check for AArch32 support to enable features

EL3 is running in AArch64 mode so it is always able to enable all
features. Some features are not implemented for AArch32 but that will b

fix(cm): do not check for AArch32 support to enable features

EL3 is running in AArch64 mode so it is always able to enable all
features. Some features are not implemented for AArch32 but that will be
handled architecturally on changing exception levels so we don't need to
worry about it. Always enable all features (checked on the FEAT_STATE
flag of course) and save ourselves the check.

To prevent confusion in future, the SCR bits that actually affect
AArch32 execution and must always be checked are moved up in the file
and grouped together, rather than being straddled by feature enablement.

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

show more ...

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/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_traps.c
/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/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/bl31/sync_handle.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/services/arm_arch_svc.h
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/idte/idte3.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
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/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
98859b9929-Jan-2025 Sammit Joshi <sammit.joshi@arm.com>

feat(per-cpu): integrate per-cpu framework into BL31/BL32

Integrate per-cpu support into BL31/BL32 by extending the following
areas:

Zero-initialization: Treats per-cpu sections like .bss and clear

feat(per-cpu): integrate per-cpu framework into BL31/BL32

Integrate per-cpu support into BL31/BL32 by extending the following
areas:

Zero-initialization: Treats per-cpu sections like .bss and clears them
during early C runtime initialization. For platforms that enable
NUMA_AWARE_PER_CPU, invokes a platform hook to zero-initialize
node-specific per-cpu regions.

Cache maintenance: Extends the BL31 exit path to clean dcache lines
covering the per-cpu region, ensuring data written by the primary core
is visible to secondary cores.

tpidr_el3 setup: Initializes tpidr_el3 with the base address of the
current CPU’s per-cpu section. This allows per-cpu framework to
resolve local cpu accesses efficiently.

The percpu_data object is currently stored in tpidr_el3. Since the
per-cpu framework will use tpidr_el3 for this-cpu access, percpu_data
must be migrated to avoid conflict. This commit moves percpu_data to
the per-cpu framework.

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

show more ...


/rk3399_ARM-atf/.gitignore
/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.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/contrib/libeventlog
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/architecture_features.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.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/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/include/s32cc-mc-rgm.h
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/mc_rgm.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_early_clks.c
/rk3399_ARM-atf/drivers/qti/accesscontrol/xpu.c
/rk3399_ARM-atf/drivers/qti/crypto/rng.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/scif/scif.c
/rk3399_ARM-atf/drivers/st/clk/clk-stm32-core.c
/rk3399_ARM-atf/drivers/st/clk/clk-stm32mp2.c
/rk3399_ARM-atf/drivers/st/usb_dwc3/usb_dwc3.c
/rk3399_ARM-atf/fdts/morello-soc.dts
/rk3399_ARM-atf/fdts/stm32mp25-ddr4-2x16Gbits-2x16bits-1200MHz.dtsi
/rk3399_ARM-atf/fdts/stm32mp251.dtsi
/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/bl32/tsp/platform_tsp.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/bl_common.ld.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-drv.h
/rk3399_ARM-atf/include/drivers/qti/accesscontrol/xpu.h
/rk3399_ARM-atf/include/drivers/qti/crypto/rng.h
/rk3399_ARM-atf/include/drivers/st/stm32mp25_rcc.h
/rk3399_ARM-atf/include/dt-bindings/clock/stm32mp25-clksrc.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n2.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/gpt_rme/gpt_rme.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_defs.h
/rk3399_ARM-atf/include/lib/per_cpu/per_cpu_macros.S
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/include/services/lfa_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/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context.S
cpu_data_array.c
/rk3399_ARM-atf/lib/extensions/debug/debugv8p9.c
/rk3399_ARM-atf/lib/extensions/pmuv3/aarch64/pmuv3.c
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.c
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme_private.h
/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/per_cpu/aarch64/per_cpu_asm.S
/rk3399_ARM-atf/lib/per_cpu/per_cpu.c
/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
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/toolchain.mk
/rk3399_ARM-atf/make_helpers/utilities.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rd1ae/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd_logical_sp.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_sync_traps.c
/rk3399_ARM-atf/plat/arm/board/fvp/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/mediatek/mt8196/plat_config.mk
/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/qemu/qemu/platform.mk
/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/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/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/memory/poetry.lock
/rk3399_ARM-atf/tools/qti/fip-elf.lds
/rk3399_ARM-atf/tools/qti/generate_fip_elf.sh
a873d26f22-Oct-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(bl1): use per-world context correctly

Currently, the configuration with BL1 and BL2 at SEL1 will transition
via el3_exit which will restore per-world context. However, that context
is never writ

fix(bl1): use per-world context correctly

Currently, the configuration with BL1 and BL2 at SEL1 will transition
via el3_exit which will restore per-world context. However, that context
is never written to and so zeroes end up in registers, which is not
necessarily correct.

This patch gets BL1 to call cm_manage_extensions_per_world() whenever
BL2 runs in a lower EL. This allows the per-world registers to have the
reset values we intend. An accompanying call to
cm_manage_extensions_el3() is also added for completeness.

Doing this shows a small deficiency in cptr_el3 - bits TFP and TCPAC
change a lot. This patch makes them consistent by always setting TCPAC
and TFP to 0 which unconditionally enable access to CPTR_EL2 and FPCR by
default as they are always accessible. Other places that manipulate the
TFP bit are removed.

A nice side effect of all of this is that we're now in a position to
enable and use any architectural extension in BL2.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2u/bl2u.mk
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/lts.rst
/rk3399_ARM-atf/docs/architecture_features.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/realm-management-extension.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/index.rst
/rk3399_ARM-atf/docs/getting_started/initial-build.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/rdaspen.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-9.rst
/rk3399_ARM-atf/docs/threat_model/firmware_threat_model/threat_model.rst
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/arm/dsu/dsu.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/drivers/scmi-msg/clock.c
/rk3399_ARM-atf/drivers/scmi-msg/clock.h
/rk3399_ARM-atf/drivers/st/rif/stm32_rifsc.c
/rk3399_ARM-atf/drivers/st/usb_dwc3/usb_dwc3.c
/rk3399_ARM-atf/drivers/st/usb_dwc3/usb_dwc3_regs.h
/rk3399_ARM-atf/drivers/usb/usb_device.c
/rk3399_ARM-atf/fdts/rdaspen-defs.dtsi
/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/drivers/auth/mbedtls/default_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/scmi-msg.h
/rk3399_ARM-atf/include/drivers/st/stm32_rifsc.h
/rk3399_ARM-atf/include/drivers/st/stm32mp_rifsc_regs.h
/rk3399_ARM-atf/include/drivers/st/usb_dwc3.h
/rk3399_ARM-atf/include/drivers/usb_device.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x4.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/dionysus.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v3.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/venom.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm_lfa_components.h
/rk3399_ARM-atf/include/plat/arm/css/common/aarch64/css_macros.S
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/include/services/lfa_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/caddo.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/dionysus.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/aarch64/venom.S
/rk3399_ARM-atf/lib/cpus/aarch64/veymont.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2022_23960_bhb.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/pauth/pauth.c
/rk3399_ARM-atf/lib/extensions/sme/sme.c
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/lib/romlib/Makefile
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/toolchain.mk
/rk3399_ARM-atf/make_helpers/utilities.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/fdts/rdaspen_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/fdts/rdaspen_optee_spmc_manifest.dts
/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_bl2_mem_params_desc.c
/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/board/automotive_rd/platform/rdaspen/rdaspen_topology.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_lfa.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/tc/platform.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_bl31_setup.c
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/include/stm32cubeprogrammer.h
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/stm32cubeprogrammer_uart.c
/rk3399_ARM-atf/plat/st/common/stm32cubeprogrammer_usb.c
/rk3399_ARM-atf/plat/st/common/stm32mp_common.c
/rk3399_ARM-atf/plat/st/common/usb_dfu.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_usb_dfu.c
/rk3399_ARM-atf/plat/st/stm32mp2/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/include/platform_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_private.c
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_usb_dfu.c
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_event.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_private.h
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc.h
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.h
2281f0d522-Oct-2025 André Przywara <andre.przywara@arm.com>

Merge "fix(context-mgmt): correct guards for PIE and POE registers" into integration

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

Merge changes from topic "bk/simpler_panic" into integration

* changes:
fix(aarch64): do not print EL1 registers on EL3 panic
refactor(el3-runtime): streamline cpu_data assembly offsets using th

Merge changes from topic "bk/simpler_panic" into integration

* changes:
fix(aarch64): do not print EL1 registers on EL3 panic
refactor(el3-runtime): streamline cpu_data assembly offsets using the cpu_ops template

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/drivers/measured_boot/rse/dice_prot_env.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.S
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.h
/rk3399_ARM-atf/drivers/renesas/common/scif/scif_helpers.S
/rk3399_ARM-atf/drivers/renesas/common/timer/timer.c
/rk3399_ARM-atf/drivers/renesas/common/timer/timer.h
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/pwrc/pwrc.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/pwrc/pwrc.h
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/scif/scif.c
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/libfdt/fdt.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/psa/dice_protection_environment.c
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/march.mk
/rk3399_ARM-atf/make_helpers/toolchain.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_dpe.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_measured_boot.c
/rk3399_ARM-atf/plat/imx/common/imx_sip_handler.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/plat_macros_cci.S
/rk3399_ARM-atf/plat/renesas/common/include/plat_macros_gic.S
/rk3399_ARM-atf/plat/renesas/common/plat_pm.c
/rk3399_ARM-atf/plat/renesas/common/rcar_stack_protector.c
/rk3399_ARM-atf/plat/renesas/rcar/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rcar/platform.mk
/rk3399_ARM-atf/plat/renesas/rcar_gen4/bl31_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/rcar_def.h
/rk3399_ARM-atf/plat/renesas/rcar_gen4/plat_pm.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/platform.mk
/rk3399_ARM-atf/plat/renesas/rzg/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rzg/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/otp/otp.c
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/otp/otp.h
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/scmi/rk3568_clk.c
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/scmi/rk3568_clk.h
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3568/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3568/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3568/rk3568_def.h
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_pm.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
f77d713215-Oct-2025 Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>

fix(context-mgmt): correct guards for PIE and POE registers

At the moment access to the POR_EL2 system register is guarded by
either FEAT_S1POE or FEAT_S2POE being implemented. However this
register

fix(context-mgmt): correct guards for PIE and POE registers

At the moment access to the POR_EL2 system register is guarded by
either FEAT_S1POE or FEAT_S2POE being implemented. However this
register exists only with FEAT_S1POE, and the two features are
independent from each other.

Similarly access to PIRE0_EL2 and PIR_EL2 is guarded by either
FEAT_S1PIE or FEAT_S2PIE yet these only exist with FEAT_S1PIE, with the
two features also independent of each other.

Change the guards to only look at FEAT_S1PIE/FEAT_S1POE, to fix crashes
when FEAT_S2PIE/FEAT_S2POE is implemented, but FEAT_S1PIE/FEAT_S1POE is
not.

Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
Change-Id: I5d145c0f1b388e7bdade94920b6bf5f2d7eebfcd

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/drivers/measured_boot/rse/dice_prot_env.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.S
/rk3399_ARM-atf/drivers/renesas/common/scif/scif.h
/rk3399_ARM-atf/drivers/renesas/common/scif/scif_helpers.S
/rk3399_ARM-atf/drivers/renesas/common/timer/timer.c
/rk3399_ARM-atf/drivers/renesas/common/timer/timer.h
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/pwrc/pwrc.c
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/pwrc/pwrc.h
/rk3399_ARM-atf/drivers/renesas/rcar_gen4/scif/scif.c
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/libfdt/fdt.h
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/psa/dice_protection_environment.c
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/march.mk
/rk3399_ARM-atf/make_helpers/toolchain.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_dpe.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_measured_boot.c
/rk3399_ARM-atf/plat/imx/common/imx_sip_handler.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/plat_macros_cci.S
/rk3399_ARM-atf/plat/renesas/common/include/plat_macros_gic.S
/rk3399_ARM-atf/plat/renesas/common/plat_pm.c
/rk3399_ARM-atf/plat/renesas/common/rcar_stack_protector.c
/rk3399_ARM-atf/plat/renesas/rcar/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rcar/platform.mk
/rk3399_ARM-atf/plat/renesas/rcar_gen4/bl31_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/rcar_def.h
/rk3399_ARM-atf/plat/renesas/rcar_gen4/plat_pm.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/platform.mk
/rk3399_ARM-atf/plat/renesas/rzg/include/plat_macros.S
/rk3399_ARM-atf/plat/renesas/rzg/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/otp/otp.c
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/otp/otp.h
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/scmi/rk3568_clk.c
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/scmi/rk3568_clk.h
/rk3399_ARM-atf/plat/rockchip/rk3568/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3568/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3568/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3568/rk3568_def.h
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
24f3648e16-Oct-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(cm): correctly restore BL2's context" into integration

b3bcfd1214-Aug-2025 Andre Przywara <andre.przywara@arm.com>

feat(cpufeat): enable FEAT_PFAR support

Implement support for FEAT_PFAR, which introduces the PFAR_ELx system
register, recording the faulting physical address for some aborts.
Those system register

feat(cpufeat): enable FEAT_PFAR support

Implement support for FEAT_PFAR, which introduces the PFAR_ELx system
register, recording the faulting physical address for some aborts.
Those system registers are trapped by the SCR_EL3.PFARen bit, so set the
bit for the non-secure world context to allow OSes to use the feature.

This is controlled by the ENABLE_FEAT_PFAR build flag, which follows the
usual semantics of 2 meaning the feature being runtime detected.
Let the default for this flag be 0, but set it to 2 for the FVP.

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

show more ...

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

Merge "feat(cpufeat): enable FEAT_AIE support" into integration


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_context_mgmt.c
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2u/bl2u.mk
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/common/backtrace/backtrace.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/components/exception-handling.rst
/rk3399_ARM-atf/docs/components/fconf/tb_fw_bindings.rst
/rk3399_ARM-atf/docs/components/sdei.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager-mm.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design_documents/rse.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/process/contributing.rst
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-7.rst
/rk3399_ARM-atf/docs/threat_model/supply_chain_threat_model.rst
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.mk
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddr.mk
/rk3399_ARM-atf/drivers/nxp/scmi/vendor/scmi_imx9.h
/rk3399_ARM-atf/drivers/scmi-msg/clock.c
/rk3399_ARM-atf/drivers/scmi-msg/power_domain.c
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/nxp/flexspi/flash_info.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/caddo.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/veymont.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/caddo.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/veymont.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/stack_protector/stack_protector.mk
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/cflags.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/toolchain.mk
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_client.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/imx/common/plat_imx8_gic.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/imx_rdc.c
/rk3399_ARM-atf/plat/imx/imx9/common/imx9_psci_common.c
/rk3399_ARM-atf/plat/imx/imx9/imx94/platform.mk
/rk3399_ARM-atf/plat/imx/imx9/imx95/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/marvell/armada/common/marvell_common.mk
/rk3399_ARM-atf/plat/nxp/soc-ls1028a/soc.c
/rk3399_ARM-atf/plat/nxp/soc-ls1043a/soc.c
/rk3399_ARM-atf/plat/nxp/soc-ls1046a/soc.c
/rk3399_ARM-atf/plat/nxp/soc-ls1088a/soc.c
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/soc.c
/rk3399_ARM-atf/plat/qemu/common/common.mk
/rk3399_ARM-atf/plat/renesas/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/renesas/common/common.mk
/rk3399_ARM-atf/plat/renesas/rcar_gen4/platform.mk
/rk3399_ARM-atf/plat/rockchip/px30/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3568/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3576/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3588/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi4/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi5/platform.mk
/rk3399_ARM-atf/plat/socionext/synquacer/platform.mk
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_client.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal_net/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/trp/trp.mk
780c9f0914-Oct-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cm): correctly restore BL2's context

We have a single context management library but two BLs that use it very
differently - BL1 and BL31. Configuring it correctly is quite tricky as
in the BL1 +

fix(cm): correctly restore BL2's context

We have a single context management library but two BLs that use it very
differently - BL1 and BL31. Configuring it correctly is quite tricky as
in the BL1 + BL2 + BL31 + spmd case we have it operate on both EL1 and
EL2 context (for BL1 and BL31 respectively).

Welp, we've got that wrong - BL1 will skip EL1's register initialisation
leaving it at the mercy of UNKNOWN registers' values. If they aren't as
we expect, things don't go well.

This is not the end of the world as BL1 is expected to be the first
thing to run and UNKNOWN values generally reset to things we find
acceptable. But add the correct BL1 carveouts so they are set up
correctly.

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

show more ...


/rk3399_ARM-atf/.vscode/settings.json
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/cadence/nand/cdns_nand.c
/rk3399_ARM-atf/include/drivers/cadence/cdns_combo_phy.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_nand.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/common/plat_lfa.h
/rk3399_ARM-atf/include/services/lfa_component_desc.h
/rk3399_ARM-atf/include/services/lfa_svc.h
/rk3399_ARM-atf/include/services/rmmd_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/romlib/Makefile
/rk3399_ARM-atf/plat/amd/versal2/include/plat_pm_common.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_client.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ras.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_lfa.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/nand/nand.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/nand/nand.h
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/ddr_sb.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/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_svc_main.h
/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/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/std_svc/lfa/bl31_lfa.c
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_rmm_lfa.c
/rk3399_ARM-atf/tools/amlogic/Makefile
/rk3399_ARM-atf/tools/marvell/doimage/Makefile
/rk3399_ARM-atf/tools/memory/poetry.lock
/rk3399_ARM-atf/tools/renesas/rcar_layout_create/makefile
/rk3399_ARM-atf/tools/renesas/rzg_layout_create/makefile
/rk3399_ARM-atf/tools/sptool/Makefile
80684b7e13-Oct-2025 Olivier Deprez <olivier.deprez@arm.com>

Merge "fix(cm): deprecate use of NS_TIMER_SWITCH" into integration


/rk3399_ARM-atf/.vscode/settings.json
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/cadence/nand/cdns_nand.c
/rk3399_ARM-atf/include/drivers/cadence/cdns_combo_phy.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_nand.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_el1.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/common/plat_lfa.h
/rk3399_ARM-atf/include/services/lfa_component_desc.h
/rk3399_ARM-atf/include/services/lfa_svc.h
/rk3399_ARM-atf/include/services/rmmd_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/romlib/Makefile
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amd/versal2/include/plat_pm_common.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_client.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ras.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_lfa.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/nand/nand.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/nand/nand.h
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/ddr_sb.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/ti/common/plat_common.mk
/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_svc_main.h
/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/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed.mk
/rk3399_ARM-atf/services/std_svc/lfa/bl31_lfa.c
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_rmm_lfa.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm.mk
/rk3399_ARM-atf/tools/amlogic/Makefile
/rk3399_ARM-atf/tools/marvell/doimage/Makefile
/rk3399_ARM-atf/tools/memory/poetry.lock
/rk3399_ARM-atf/tools/renesas/rcar_layout_create/makefile
/rk3399_ARM-atf/tools/renesas/rzg_layout_create/makefile
/rk3399_ARM-atf/tools/sptool/Makefile
cc2523bb14-Aug-2025 Andre Przywara <andre.przywara@arm.com>

feat(cpufeat): enable FEAT_AIE support

Implement support for FEAT_AIE, which introduces the AMAIR2_ELx and
MAIR2_ELx system registers, extending the memory attributes described
by {A}MAIR_ELx.
Those

feat(cpufeat): enable FEAT_AIE support

Implement support for FEAT_AIE, which introduces the AMAIR2_ELx and
MAIR2_ELx system registers, extending the memory attributes described
by {A}MAIR_ELx.
Those system registers are trapped by the SCR_EL3.AIEn bit, so set the
bit for the non-secure world context to allow OSes to use the feature.

This is controlled by the ENABLE_FEAT_AIE build flag, which follows the
usual semantics of 2 meaning the feature being runtime detected.
Let the default for this flag be 0, but set it to 2 for the FVP.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/index.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/rd1ae.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/rdaspen.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/dsu/dsu.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic-x00.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/partition/partition.c
/rk3399_ARM-atf/fdts/rdaspen.dts
/rk3399_ARM-atf/include/arch/aarch32/arch.h
/rk3399_ARM-atf/include/arch/aarch32/arch_helpers.h
/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/drivers/arm/arm_gicv3_common.h
/rk3399_ARM-atf/include/drivers/arm/dsu.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/partition/gpt.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_common.c
aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/fdts/rdaspen_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/rdaspen_helpers.S
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/platform.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_bl2_mem_params_desc.c
/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_err.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_plat.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_topology.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_trusted_board_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_console.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_gicv3.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/fvp_pas_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/morello/morello_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn2/rdn2_plat.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_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/arm_console.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/renesas/common/include/platform_def.h
/rk3399_ARM-atf/plat/renesas/common/include/rcar_private.h
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/platform_def.h
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/rcar_private.h
/rk3399_ARM-atf/plat/st/stm32mp1/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/tools/memory/poetry.lock
834f2d5503-Oct-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(cm): remove unused macro" into integration


/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/index.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/rd1ae.rst
/rk3399_ARM-atf/docs/plat/arm/automotive_rd/rdaspen.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/dsu/dsu.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic-x00.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/partition/partition.c
/rk3399_ARM-atf/fdts/rdaspen.dts
/rk3399_ARM-atf/include/arch/aarch32/arch.h
/rk3399_ARM-atf/include/arch/aarch32/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/drivers/arm/arm_gicv3_common.h
/rk3399_ARM-atf/include/drivers/arm/dsu.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/partition/gpt.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.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/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_common.c
aarch64/context.S
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/fdts/rdaspen_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/include/rdaspen_helpers.S
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/platform.mk
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_bl2_mem_params_desc.c
/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_err.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_plat.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_topology.c
/rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/rdaspen_trusted_board_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_console.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_gicv3.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/fvp_pas_def.h
/rk3399_ARM-atf/plat/arm/board/morello/morello_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn2/rdn2_plat.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_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/arm_console.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/renesas/common/include/platform_def.h
/rk3399_ARM-atf/plat/renesas/common/include/rcar_private.h
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/platform_def.h
/rk3399_ARM-atf/plat/renesas/rcar_gen4/include/rcar_private.h
/rk3399_ARM-atf/plat/st/stm32mp1/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/tools/memory/poetry.lock
46aff6fc26-Sep-2025 Mark Dykes <mark.dykes@arm.com>

Merge "refactor(el3-runtime): move context security states to context.h" into integration

12345678910>>...13