History log of /rk3399_ARM-atf/include/arch/ (Results 151 – 175 of 352)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d156c52223-May-2023 Andre Przywara <andre.przywara@arm.com>

feat(cpufeat): add AArch32 PAN detection support

FEAT_PAN is implemented in AArch32 as well, provide the helper functions
to query the feature availability at runtime.

Change-Id: I375e3eb7b05955ea2

feat(cpufeat): add AArch32 PAN detection support

FEAT_PAN is implemented in AArch32 as well, provide the helper functions
to query the feature availability at runtime.

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

show more ...


/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/perf/index.rst
/rk3399_ARM-atf/docs/perf/psci-performance-instr.rst
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/perf/psci-performance-methodology.rst
/rk3399_ARM-atf/docs/perf/psci-performance-n1sdp.rst
/rk3399_ARM-atf/docs/threat_model/threat_model_spm.rst
aarch32/arch.h
aarch32/arch_features.h
aarch32/arch_helpers.h
/rk3399_ARM-atf/include/lib/coreboot.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/assembly.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/int_types.h
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/lib/libc/snprintf.c
/rk3399_ARM-atf/lib/libfdt/fdt.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/package.json
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/morello/morello_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/morello/morello_pm.c
/rk3399_ARM-atf/plat/arm/board/morello/morello_private.h
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_pm.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_private.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/include/tc_plat.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/rss_ap_tests.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_sip_calls.c
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qti/msm8916/aarch64/msm8916_helpers.S
/rk3399_ARM-atf/plat/qti/msm8916/aarch64/uartdm_console.S
/rk3399_ARM-atf/plat/qti/msm8916/include/msm8916_mmap.h
/rk3399_ARM-atf/plat/qti/msm8916/include/platform_def.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_bl31_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_pm.c
/rk3399_ARM-atf/plat/qti/msm8916/platform.mk
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/services/spd/opteed/opteed.mk
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/tools/conventional-changelog-tf-a/package.json
4bd8c92909-May-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes I1bfa797e,I0ec7a70e into integration

* changes:
fix(tree): correct some typos
fix(rockchip): use semicolon instead of comma


/rk3399_ARM-atf/drivers/arm/css/scmi/vendor/scmi_sq.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_chal_sd.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_csl_sdcard.c
/rk3399_ARM-atf/drivers/brcm/i2c/i2c.c
/rk3399_ARM-atf/drivers/brcm/sotp.c
/rk3399_ARM-atf/drivers/marvell/comphy/phy-comphy-cp110.c
/rk3399_ARM-atf/drivers/marvell/gwin.c
/rk3399_ARM-atf/drivers/marvell/mg_conf_cm3/mg_conf_cm3.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/auth/hash.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/hw_key_blob.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/rng.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddr.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddrc.c
/rk3399_ARM-atf/drivers/nxp/ddr/phy-gen2/messages.h
/rk3399_ARM-atf/drivers/nxp/ifc/nand/ifc_nand.c
/rk3399_ARM-atf/drivers/nxp/sd/sd_mmc.c
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_printf.c
/rk3399_ARM-atf/drivers/renesas/common/emmc/emmc_hal.h
/rk3399_ARM-atf/drivers/renesas/common/pfc_regs.h
/rk3399_ARM-atf/drivers/renesas/rcar/pfc/V3M/pfc_init_v3m.c
/rk3399_ARM-atf/drivers/scmi-msg/clock.c
/rk3399_ARM-atf/drivers/st/clk/stm32mp1_clk.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp1_ddr.c
aarch32/arch.h
aarch64/arch.h
/rk3399_ARM-atf/include/bl31/ehf.h
/rk3399_ARM-atf/include/drivers/arm/cryptocell/712/cc_pal_types_plat.h
/rk3399_ARM-atf/include/drivers/arm/cryptocell/713/cc_pal_types_plat.h
/rk3399_ARM-atf/include/drivers/arm/gic600ae_fmu.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/brcm/emmc/emmc_csl_sdprot.h
/rk3399_ARM-atf/include/drivers/brcm/i2c/i2c.h
/rk3399_ARM-atf/include/drivers/nxp/crypto/caam/sec_hw_specific.h
/rk3399_ARM-atf/include/drivers/nxp/crypto/caam/sec_jr_driver.h
/rk3399_ARM-atf/include/drivers/nxp/dcfg/dcfg_lsch2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/generic.h
/rk3399_ARM-atf/lib/debugfs/debugfs_smc.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/xlat_tables/aarch32/nonlpae_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_utils.c
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/brcm/board/stingray/driver/swreg.c
/rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c
/rk3399_ARM-atf/plat/imx/common/include/sci/sci_rpc.h
/rk3399_ARM-atf/plat/imx/common/include/sci/svc/pad/sci_pad_api.h
/rk3399_ARM-atf/plat/imx/common/include/sci/svc/pm/sci_pm_api.h
/rk3399_ARM-atf/plat/imx/imx8m/gpc_common.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/gpc.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/gpc.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/gpc.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/gpc.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/n5x/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/marvell/armada/a8k/common/plat_pm.c
/rk3399_ARM-atf/plat/marvell/armada/common/marvell_ddr_info.c
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_svc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8186/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8192/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8195/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8195/drivers/apusys/apupll.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/drivers/memctrl/memctrl_v2.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/tegra_gic.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t186/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/t18x_ari.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_ras.c
/rk3399_ARM-atf/plat/nxp/common/setup/ls_bl31_setup.c
/rk3399_ARM-atf/plat/nxp/soc-ls1088a/include/soc.h
/rk3399_ARM-atf/plat/qti/common/src/qti_bl31_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/pmu/pmu_com.h
/rk3399_ARM-atf/plat/rockchip/common/sp_min_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/rk3288/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3288/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/gpio/rk3399_gpio.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rpi/rpi4/rpi4_pci_svc.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.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/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_main.c
/rk3399_ARM-atf/tools/fiptool/win_posix.h
/rk3399_ARM-atf/tools/nxp/create_pbl/create_pbl.c
269f3dae09-May-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes from topic "mp/feat_ras" into integration

* changes:
refactor(cpufeat): enable FEAT_RAS for FEAT_STATE_CHECKED
refactor(ras): replace RAS_EXTENSION with FEAT_RAS


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/components/ras.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/global_substitutions.txt
/rk3399_ARM-atf/docs/glossary.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
aarch64/arch.h
aarch64/arch_features.h
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/drivers/st/stm32_pka.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/sme/sme.c
/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/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ras.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_cpu_errata.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/tc/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/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_bus26m.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_dram.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_syspll.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_cond.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_cond.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_conservation.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_internal.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_internal.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_ras.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
1b491eea13-Feb-2023 Elyes Haouas <ehaouas@noos.fr>

fix(tree): correct some typos

found using codespell (https://github.com/codespell-project/codespell).

Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6

fix(tree): correct some typos

found using codespell (https://github.com/codespell-project/codespell).

Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6373

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot_poc.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/plat/allwinner.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/css/scmi/vendor/scmi_sq.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip.c
/rk3399_ARM-atf/drivers/arm/sbsa/sbsa.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_chal_sd.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_csl_sdcard.c
/rk3399_ARM-atf/drivers/brcm/i2c/i2c.c
/rk3399_ARM-atf/drivers/brcm/sotp.c
/rk3399_ARM-atf/drivers/marvell/comphy/phy-comphy-cp110.c
/rk3399_ARM-atf/drivers/marvell/gwin.c
/rk3399_ARM-atf/drivers/marvell/mg_conf_cm3/mg_conf_cm3.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/auth/hash.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/hw_key_blob.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/rng.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddr.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddrc.c
/rk3399_ARM-atf/drivers/nxp/ddr/phy-gen2/messages.h
/rk3399_ARM-atf/drivers/nxp/ifc/nand/ifc_nand.c
/rk3399_ARM-atf/drivers/nxp/sd/sd_mmc.c
/rk3399_ARM-atf/drivers/renesas/common/console/rcar_printf.c
/rk3399_ARM-atf/drivers/renesas/common/emmc/emmc_hal.h
/rk3399_ARM-atf/drivers/renesas/common/pfc_regs.h
/rk3399_ARM-atf/drivers/renesas/rcar/pfc/V3M/pfc_init_v3m.c
/rk3399_ARM-atf/drivers/scmi-msg/clock.c
/rk3399_ARM-atf/drivers/st/clk/stm32mp1_clk.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp1_ddr.c
aarch32/arch.h
aarch64/arch.h
/rk3399_ARM-atf/include/bl31/ehf.h
/rk3399_ARM-atf/include/bl31/sync_handle.h
/rk3399_ARM-atf/include/drivers/arm/cryptocell/712/cc_pal_types_plat.h
/rk3399_ARM-atf/include/drivers/arm/cryptocell/713/cc_pal_types_plat.h
/rk3399_ARM-atf/include/drivers/arm/gic600ae_fmu.h
/rk3399_ARM-atf/include/drivers/arm/sbsa.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/brcm/emmc/emmc_csl_sdprot.h
/rk3399_ARM-atf/include/drivers/brcm/i2c/i2c.h
/rk3399_ARM-atf/include/drivers/nxp/crypto/caam/sec_hw_specific.h
/rk3399_ARM-atf/include/drivers/nxp/crypto/caam/sec_jr_driver.h
/rk3399_ARM-atf/include/drivers/nxp/dcfg/dcfg_lsch2.h
/rk3399_ARM-atf/include/drivers/st/stm32_pka.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/generic.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/services/ffa_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/debugfs/debugfs_smc.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/psci/aarch64/runtime_errata.S
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/xlat_tables/aarch32/nonlpae_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_utils.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_cpucfg_ncat.h
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_cpucfg_ncat2.h
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_def.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_cpu_ops.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_pm.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_r329/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ea.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ras.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/fdts/tc_spmc_manifest.dts
/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/plat_tc_mbedtls_config.h
/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/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_plat.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/brcm/board/stingray/driver/swreg.c
/rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/imx/common/include/sci/sci_rpc.h
/rk3399_ARM-atf/plat/imx/common/include/sci/svc/pad/sci_pad_api.h
/rk3399_ARM-atf/plat/imx/common/include/sci/svc/pm/sci_pm_api.h
/rk3399_ARM-atf/plat/imx/imx8m/gpc_common.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/gpc.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/gpc.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/gpc.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/gpc.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/n5x/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/marvell/armada/a8k/common/plat_pm.c
/rk3399_ARM-atf/plat/marvell/armada/common/marvell_ddr_info.c
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_svc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8186/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8192/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8195/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8195/drivers/apusys/apupll.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/drivers/memctrl/memctrl_v2.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/tegra_gic.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t186/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/t18x_ari.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_ras.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nxp/common/fip_handler/ddr_fip/ddr_fip_io.mk
/rk3399_ARM-atf/plat/nxp/common/fip_handler/fuse_fip/fuse.mk
/rk3399_ARM-atf/plat/nxp/common/setup/ls_bl31_setup.c
/rk3399_ARM-atf/plat/nxp/soc-ls1088a/include/soc.h
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qti/common/src/qti_bl31_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/pmu/pmu_com.h
/rk3399_ARM-atf/plat/rockchip/common/sp_min_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/rk3288/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3288/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/gpio/rk3399_gpio.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rpi/rpi4/rpi4_pci_svc.c
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/plat/xilinx/common/include/plat_startup.h
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.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/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/win_posix.h
/rk3399_ARM-atf/tools/nxp/create_pbl/create_pbl.c
6503ff2927-Jan-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_RAS for FEAT_STATE_CHECKED

At the moment we only support FEAT_RAS to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime det

refactor(cpufeat): enable FEAT_RAS for FEAT_STATE_CHECKED

At the moment we only support FEAT_RAS to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (FEAT_RAS=2), by splitting
is_armv8_2_feat_ras_present() into an ID register reading function and
a second function to report the support status. That function considers
both build time settings and runtime information (if needed), and is
used before we access RAS related registers.

Also move the context saving code from assembly to C, and use the new
is_feat_ras_supported() function to guard its execution.

Change the FVP platform default to the now supported dynamic
option (=2), so the right decision can be made by the code at runtime.

Change-Id: I30498f72fd80b136850856244687400456a03d0e
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/components/ras.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot_poc.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/plat/allwinner.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/sbsa/sbsa.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
aarch64/arch.h
aarch64/arch_features.h
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/bl31/sync_handle.h
/rk3399_ARM-atf/include/drivers/arm/sbsa.h
/rk3399_ARM-atf/include/drivers/st/stm32_pka.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/services/ffa_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/psci/aarch64/runtime_errata.S
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_off.c
/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/plat/allwinner/common/include/sunxi_cpucfg_ncat.h
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_cpucfg_ncat2.h
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_def.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_cpu_ops.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_pm.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_r329/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ea.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ras.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd.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/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/fdts/tc_spmc_manifest.dts
/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/plat_tc_mbedtls_config.h
/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/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_plat.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/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_ras.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nxp/common/fip_handler/ddr_fip/ddr_fip_io.mk
/rk3399_ARM-atf/plat/nxp/common/fip_handler/fuse_fip/fuse.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/xilinx/common/include/plat_startup.h
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk
ffea384419-Nov-2022 Sona Mathew <SonaRebecca.Mathew@arm.com>

feat(errata_abi): errata management firmware interface

This patch adds the errata management firmware interface for lower ELs
to discover details about CPU erratum. Based on the CPU erratum
identifi

feat(errata_abi): errata management firmware interface

This patch adds the errata management firmware interface for lower ELs
to discover details about CPU erratum. Based on the CPU erratum
identifier the interface enables the OS to find the mitigation of an
erratum in EL3.

The ABI can only be present in a system that is compliant with SMCCCv1.1
or higher. This implements v1.0 of the errata ABI spec.

For details on all possible return values, refer the design
documentation below:

ABI design documentation:
https://developer.arm.com/documentation/den0100/1-0?lang=en

Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
Change-Id: I70f0e2569cf92e6e02ad82e3e77874546232b89a

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_traps.c
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot_poc.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/allwinner.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/sbsa/sbsa.c
aarch32/arch.h
/rk3399_ARM-atf/include/bl31/sync_handle.h
/rk3399_ARM-atf/include/drivers/arm/sbsa.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/services/errata_abi_svc.h
/rk3399_ARM-atf/include/services/ffa_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/psci/aarch64/runtime_errata.S
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_cpucfg_ncat.h
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_cpucfg_ncat2.h
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_def.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_cpu_ops.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_pm.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_r329/include/sunxi_cpucfg.h
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_ea.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/fdts/tc_spmc_manifest.dts
/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/plat_tc_mbedtls_config.h
/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/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_plat.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nxp/common/fip_handler/ddr_fip/ddr_fip_io.mk
/rk3399_ARM-atf/plat/nxp/common/fip_handler/fuse_fip/fuse.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/xilinx/common/include/plat_startup.h
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.c
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk
e31de86728-Apr-2023 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge "fix(ras): do not put RAS check before esb macro" into integration

03d3c0d708-Nov-2022 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

feat(sme): enable SME2 functionality for NS world

FEAT_SME2 is an extension of FEAT_SME and an optional feature
from v9.2. Its an extension of SME, wherein it not only
processes matrix operations ef

feat(sme): enable SME2 functionality for NS world

FEAT_SME2 is an extension of FEAT_SME and an optional feature
from v9.2. Its an extension of SME, wherein it not only
processes matrix operations efficiently, but also provides
outer-product instructions to accelerate matrix operations.
It affords instructions for multi-vector operations.
Further, it adds an 512 bit architectural register ZT0.

This patch implements all the changes introduced with FEAT_SME2
to ensure that the instructions are allowed to access ZT0
register from Non-secure lower exception levels.

Additionally, it adds support to ensure FEAT_SME2 is aligned
with the existing FEATURE DETECTION mechanism, and documented.

Change-Id: Iee0f61943304a9cfc3db8f986047b1321d0a6463
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

show more ...

7d5036b827-Apr-2023 Manish Pandey <manish.pandey2@arm.com>

fix(ras): do not put RAS check before esb macro

Macro esb used in TF-A executes the instruction "esb" and is kept under
RAS_EXTENSION macro. RAS_EXTENSION, as it stands today, is only enabled
for pl

fix(ras): do not put RAS check before esb macro

Macro esb used in TF-A executes the instruction "esb" and is kept under
RAS_EXTENSION macro. RAS_EXTENSION, as it stands today, is only enabled
for platforms which wants RAS errors to be handled in Firmware while esb
instruction is available when RAS architecture feature is present
irrespective of its handling.
Currently TF-A does not have mechanism to detect whether RAS is present
or not in HW, define this macro unconditionally.

Its harmless for non-RAS cores as this instruction executes as NOP.

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

show more ...

88727fc326-Jan-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_DIT for FEAT_STATE_CHECKED

At the moment we only support FEAT_DIT to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime det

refactor(cpufeat): enable FEAT_DIT for FEAT_STATE_CHECKED

At the moment we only support FEAT_DIT to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_DIT=2), by splitting
is_armv8_4_dit_present() into an ID register reading function and a
second function to report the support status. That function considers
both build time settings and runtime information (if needed).

We use ENABLE_DIT in two occassions in assembly code, where we just set
the DIT bit in the DIT system register.
Protect those two cases by reading the CPU ID register when ENABLE_DIT
is set to 2.

Change the FVP platform default to the now supported dynamic
option (=2), so the right decision can be made by the code at runtime.

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

show more ...


/rk3399_ARM-atf/.husky/prepare-commit-msg
/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/.versionrc.js
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/common/uuid.c
/rk3399_ARM-atf/docs/Makefile
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/measured_boot/event_log.rst
/rk3399_ARM-atf/docs/design/auth-framework.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/global_substitutions.txt
/rk3399_ARM-atf/docs/glossary.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/process/platform-ports-policy.rst
/rk3399_ARM-atf/docs/threat_model/threat_model.rst
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/cryptocell/712/cryptocell_crypto.c
/rk3399_ARM-atf/drivers/auth/cryptocell/713/cryptocell_crypto.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/auth/nxp_crypto.c
aarch32/arch_features.h
aarch64/arch_features.h
aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/uuid.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/tools_share/uuid.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/event_log.dtsi
/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/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qx/include/platform_def.h
/rk3399_ARM-atf/plat/st/common/stm32mp_crypto_lib.c
/rk3399_ARM-atf/plat/xilinx/common/include/plat_startup.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_client.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_common.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.h
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_macros.S
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_macros.S
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_gicv3.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_helpers.S
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_macros.S
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_zynqmp.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.h
/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_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp-zynqmp.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ehf.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_sdei.c
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/pyproject.toml
688ab57b14-Mar-2023 Mark Brown <broonie@kernel.org>

feat(gcs): support guarded control stack

Arm v9.4 introduces support for Guarded Control Stack, providing
mitigations against some forms of RPO attacks and an efficient mechanism
for obtaining the c

feat(gcs): support guarded control stack

Arm v9.4 introduces support for Guarded Control Stack, providing
mitigations against some forms of RPO attacks and an efficient mechanism
for obtaining the current call stack without requiring a full stack
unwind. Enable access to this feature for EL2 and below, context
switching the newly added EL2 registers as appropriate.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Signed-off-by: Mark Brown <broonie@kernel.org>
Change-Id: I691aa7c22e3547bb3abe98d96993baf18c5f0e7b

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/getting_started/build-options.rst
aarch64/arch.h
aarch64/arch_features.h
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex/soc/agilex_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_delay_timer.c
/rk3399_ARM-atf/plat/intel/soc/n5x/include/n5x_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/n5x/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/n5x/platform.mk
/rk3399_ARM-atf/plat/intel/soc/n5x/soc/n5x_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/soc/s10_clock_manager.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.h
/rk3399_ARM-atf/plat/mediatek/mt8188/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
4a24538a13-Apr-2023 Manish Pandey <manish.pandey2@arm.com>

Merge "feat(hcx): initialize HCRX_EL2 to its default value" into integration

ddb615b422-Feb-2023 Juan Pablo Conde <juanpablo.conde@arm.com>

feat(hcx): initialize HCRX_EL2 to its default value

The value of register HCRX_EL2 is UNKNOWN out of reset. This can
affect the behavior in lower exception levels, such as traps to
EL2 due to a wron

feat(hcx): initialize HCRX_EL2 to its default value

The value of register HCRX_EL2 is UNKNOWN out of reset. This can
affect the behavior in lower exception levels, such as traps to
EL2 due to a wrong configuration of the register upon reset.

This patch initializes the register at EL3 and disables all traps
related to it.

On the other hand, new fields have been introduced for HCRX_EL2,
which are now defined in this patch, so they can be used in
further development.

Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: I0bf1e949aa0d3be9f227358ad088a1ecb96ce222

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/reset-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/index.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/threat_model/index.rst
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_big_fw.c
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_big_fw.h
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_smc.c
/rk3399_ARM-atf/drivers/scmi-msg/base.c
/rk3399_ARM-atf/fdts/juno-ethosn.dtsi
/rk3399_ARM-atf/fdts/stm32mp13-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp13-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl32.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-pinctrl.dtsi
aarch64/arch.h
/rk3399_ARM-atf/include/drivers/arm/ethosn.h
/rk3399_ARM-atf/include/drivers/arm/ethosn_cert.h
/rk3399_ARM-atf/include/drivers/arm/ethosn_fip.h
/rk3399_ARM-atf/include/drivers/arm/ethosn_oid.h
/rk3399_ARM-atf/include/drivers/scmi-msg.h
/rk3399_ARM-atf/include/lib/bl_aux_params/bl_aux_params.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_blackhawk.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_chaberton.h
/rk3399_ARM-atf/include/plat/arm/common/fconf_ethosn_getter.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_blackhawk.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_chaberton.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/juno_tbb_cert.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/juno_tbb_ext.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/juno_tbb_key.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/platform_oid.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/src/juno_tbb_cert.c
/rk3399_ARM-atf/plat/arm/board/juno/certificate/src/juno_tbb_ext.c
/rk3399_ARM-atf/plat/arm/board/juno/certificate/src/juno_tbb_key.c
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_fip_uuid.h
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_uuid_config.c
/rk3399_ARM-atf/plat/arm/board/juno/include/plat_tbbr_img_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_common.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_ethosn_tzmp1_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_tbbr_cot_bl2.c
/rk3399_ARM-atf/plat/arm/board/juno/plat_fiptool.mk
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/common/fconf/fconf_ethosn_getter.c
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_mbedtls_config-2.h
/rk3399_ARM-atf/plat/st/common/include/stm32mp_mbedtls_config-3.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/custom_sip_svc.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/custom_svc.h
/rk3399_ARM-atf/tools/fiptool/Makefile
062b6c6b14-Mar-2023 Mark Brown <broonie@kernel.org>

feat(pie/por): support permission indirection and overlay

Arm v8.9 introduces a series of features providing a new way to set memory
permissions. Instead of directly encoding the permissions in the

feat(pie/por): support permission indirection and overlay

Arm v8.9 introduces a series of features providing a new way to set memory
permissions. Instead of directly encoding the permissions in the page
tables the PTEs contain indexes into an array of permissions stored in
system registers, allowing greater flexibility and density of encoding.

Enable access to these features for EL2 and below, context switching the
newly added EL2 registers as appropriate. Since all of FEAT_S[12]P[IO]E
are separately discoverable we have separate build time options for
enabling them, but note that there is overlap in the registers that they
implement and the enable bit required for lower EL access.

Change the FVP platform to default to handling them as dynamic options so
the right decision can be made by the code at runtime.

Signed-off-by: Mark Brown <broonie@kernel.org>
Change-Id: Icf89e444e39e1af768739668b505661df18fb234

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/reset-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/index.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/xilinx-zynqmp.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/threat_model/index.rst
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_big_fw.c
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_big_fw.h
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_smc.c
/rk3399_ARM-atf/drivers/scmi-msg/base.c
/rk3399_ARM-atf/fdts/juno-ethosn.dtsi
/rk3399_ARM-atf/fdts/stm32mp13-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp13-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl32.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-pinctrl.dtsi
aarch64/arch.h
aarch64/arch_features.h
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/drivers/arm/ethosn.h
/rk3399_ARM-atf/include/drivers/arm/ethosn_cert.h
/rk3399_ARM-atf/include/drivers/arm/ethosn_fip.h
/rk3399_ARM-atf/include/drivers/arm/ethosn_oid.h
/rk3399_ARM-atf/include/drivers/scmi-msg.h
/rk3399_ARM-atf/include/lib/bl_aux_params/bl_aux_params.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_blackhawk.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_chaberton.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/plat/arm/common/fconf_ethosn_getter.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_blackhawk.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_chaberton.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/juno_tbb_cert.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/juno_tbb_ext.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/juno_tbb_key.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/include/platform_oid.h
/rk3399_ARM-atf/plat/arm/board/juno/certificate/src/juno_tbb_cert.c
/rk3399_ARM-atf/plat/arm/board/juno/certificate/src/juno_tbb_ext.c
/rk3399_ARM-atf/plat/arm/board/juno/certificate/src/juno_tbb_key.c
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_fip_uuid.h
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_uuid_config.c
/rk3399_ARM-atf/plat/arm/board/juno/include/plat_tbbr_img_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_common.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_ethosn_tzmp1_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_tbbr_cot_bl2.c
/rk3399_ARM-atf/plat/arm/board/juno/plat_fiptool.mk
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/common/fconf/fconf_ethosn_getter.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_f2sdram_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_reset_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_mbedtls_config-2.h
/rk3399_ARM-atf/plat/st/common/include/stm32mp_mbedtls_config-3.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/custom_sip_svc.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/custom_svc.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/tools/fiptool/Makefile
78f56ee728-Mar-2023 Andre Przywara <andre.przywara@arm.com>

fix(aarch64): allow build with ARM_ARCH_MINOR=4

When building the FVP platform with SPMD (which activates the context
switch code), but keeping ARM_ARCH_MINOR to 4 or lower, the assembler
will compl

fix(aarch64): allow build with ARM_ARCH_MINOR=4

When building the FVP platform with SPMD (which activates the context
switch code), but keeping ARM_ARCH_MINOR to 4 or lower, the assembler
will complain about the SCXTNUM_EL2 system register not being supported
by the "selected processor".

Allow building this combination of options by defining the SCXTNUM_EL2
register via the generic S3_ encoding, so any assembler, with any -march
settings, will generate the access without any warnings.

We do protect accesses to this register by runtime checks, if not
explicitly requested otherwise, so can override the toolchain in this
case.

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

show more ...

2b0bc4e007-Mar-2023 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

feat(cpufeat): enable FEAT_SVE for FEAT_STATE_CHECKED

Add support for runtime detection (ENABLE_SVE_FOR_NS=2), by splitting
sve_supported() into an ID register reading function and a
second function

feat(cpufeat): enable FEAT_SVE for FEAT_STATE_CHECKED

Add support for runtime detection (ENABLE_SVE_FOR_NS=2), by splitting
sve_supported() into an ID register reading function and a
second function to report the support status. That function considers
both build time settings and runtime information (if needed), and is
used before we do SVE specific setup.

Change the FVP platform default to the now supported dynamic
option (=2), so the right decision can be made by the code at runtime.

Change-Id: I1caaba2216e8e2a651452254944a003607503216
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

show more ...

45007acd06-Mar-2023 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

feat(cpufeat): enable FEAT_SME for FEAT_STATE_CHECKED

Add support for runtime detection (ENABLE_SME_FOR_NS=2), by splitting
feat_sme_supported() into an ID register reading function and a
second fun

feat(cpufeat): enable FEAT_SME for FEAT_STATE_CHECKED

Add support for runtime detection (ENABLE_SME_FOR_NS=2), by splitting
feat_sme_supported() into an ID register reading function and a
second function to report the support status. That function considers
both build time settings and runtime information (if needed), and is
used before we do SME specific setup.

Change the FVP platform default to the now supported dynamic option
(=2),so the right decision can be made by the code at runtime.

Change-Id: Ida9ccf737db5be20865b84f42b1f9587be0626ab
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/design_documents/index.rst
/rk3399_ARM-atf/docs/design_documents/psci_osi_mode.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/resources/diagrams/psci-flattened-vs-hierarchical-idle-states.png
/rk3399_ARM-atf/docs/resources/diagrams/psci-osi-mode.png
/rk3399_ARM-atf/docs/resources/diagrams/psci-pc-mode-vs-osi-mode.png
aarch64/arch.h
aarch64/arch_features.h
/rk3399_ARM-atf/include/lib/extensions/sme.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/psci/psci_lib.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/sme/sme.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.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/common/arm_pm.c
/rk3399_ARM-atf/plat/qti/common/src/qti_pm.c
/rk3399_ARM-atf/plat/qti/sc7280/platform.mk
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_node.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_svc_main.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/include/plat_macros.S
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_macros.S
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_gicv3.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/libpm.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/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/pm_api_pinctrl.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_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm.mk
/rk3399_ARM-atf/services/std_svc/spmd/spmd.mk
b57e16a403-Mar-2023 Andre Przywara <andre.przywara@arm.com>

refactor(amu): use new AMU feature check routines

The AMU extension code was using its own feature detection routines.
Replace them with the generic CPU feature handlers (defined in
arch_features.h)

refactor(amu): use new AMU feature check routines

The AMU extension code was using its own feature detection routines.
Replace them with the generic CPU feature handlers (defined in
arch_features.h), which get updated to cover the v1p1 variant as well.

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

show more ...

d23acc9e21-Mar-2023 Andre Przywara <andre.przywara@arm.com>

refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1

So far we have the ENABLE_AMU build option to include AMU register
handling code for enabling and context switch. There is also an
ENABLE_FEAT_A

refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1

So far we have the ENABLE_AMU build option to include AMU register
handling code for enabling and context switch. There is also an
ENABLE_FEAT_AMUv1 option, solely to protect the HAFGRTR_EL2 system
register handling. The latter needs some alignment with the new feature
scheme, but it conceptually overlaps with the ENABLE_AMU option.

Since there is no real need for two separate options, unify both into a
new ENABLE_FEAT_AMU name in a first step. This is mostly just renaming at
this point, a subsequent patch will make use of the new feature handling
scheme.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/activity-monitors.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip_private.h
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3.mk
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/drivers/mmc/mmc.c
aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/arm/gic600_multichip.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78c.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78c.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/rainier.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/amu/amu.mk
/rk3399_ARM-atf/lib/psa/delegated_attestation.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/arm_fpga/fpga_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_plat_attest_token.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_realm_attest_key.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp_r/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_plat.c
/rk3399_ARM-atf/plat/arm/board/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_plat.c
/rk3399_ARM-atf/plat/arm/board/rdv1/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdv1mc/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdv1mc/rdv1mc_plat.c
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/mediatek/common/common_config.mk
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qti/msm8916/platform.mk
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/pm_service/pm_client.c
ac17e52c22-Feb-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_RNG for FEAT_STATE_CHECKED

At the moment we only support for FEAT_RNG to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime

refactor(cpufeat): enable FEAT_RNG for FEAT_STATE_CHECKED

At the moment we only support for FEAT_RNG to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (FEAT_RNG=2), by splitting
is_armv8_5_rng_present() into an ID register reading function and a second
function to report the support status. That function considers both build
time settings and runtime information (if needed), and is used before we
access the RNDRRS system register.

Change the QEMU platform default to the now supported dynamic option (=2),
so the right decision can be made by the code at runtime.

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

show more ...

623f614022-Feb-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): align FEAT_SEL2 to new feature handling

In ARMv8.4, the EL2 exception level got added to the secure world.
Adapt and rename the existing is_armv8_4_sel2_present() function, to
ali

refactor(cpufeat): align FEAT_SEL2 to new feature handling

In ARMv8.4, the EL2 exception level got added to the secure world.
Adapt and rename the existing is_armv8_4_sel2_present() function, to
align its handling with the other CPU features.

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

show more ...

d5384b6927-Jan-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_NV2 for FEAT_STATE_CHECKED

At the moment we only support for FEAT_NV2 to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime

refactor(cpufeat): enable FEAT_NV2 for FEAT_STATE_CHECKED

At the moment we only support for FEAT_NV2 to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (CTX_INCLUDE_NEVE_REGS=2), by
splitting get_armv8_4_feat_nv_support() into an ID register reading
function and a second function to report the support status. That
function considers both build time settings and runtime information
(if needed), and is used before we access the VNCR_EL2 system register.
Also move the context saving code from assembly to C, and use the new
is_feat_nv2_supported() function to guard its execution.

Change the FVP platform default to the now supported dynamic option (=2),
so the right decision can be made by the code at runtime.

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

show more ...

1223d2a027-Jan-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_TWED for FEAT_STATE_CHECKED

At the moment we only support FEAT_TWED to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime d

refactor(cpufeat): enable FEAT_TWED for FEAT_STATE_CHECKED

At the moment we only support FEAT_TWED to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_FEAT_TWED=2), by splitting
is_armv8_6_twed_present() into an ID register reading function and a
second function to report the support status. That function considers
both build time settings and runtime information (if needed), and is
used before we set the trap delay time.

Change the FVP platform default to the now supported dynamic option (=2),
so the right decision can be made by the code at runtime.

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

show more ...

7db710f017-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_CSV2_2 for FEAT_STATE_CHECKED

At the moment we only support FEAT_CSV2_2 to be either unconditionally
compiled in, or to be not supported at all.

Add support for runti

refactor(cpufeat): enable FEAT_CSV2_2 for FEAT_STATE_CHECKED

At the moment we only support FEAT_CSV2_2 to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_FEAT_CSV2_2=2), by splitting
is_armv8_0_feat_csv2_2_present() into an ID register reading function
and a second function to report the support status. That function
considers both build time settings and runtime information (if needed),
and is used before we access the SCXTNUM_EL2 system register.
Also move the context saving code from assembly to C, and use the new
is_feat_csv2_2_supported() function to guard its execution.

Change the FVP platform default to the now supported dynamic option (=2),
so the right decision can be made by the code at runtime.

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

show more ...

b8f03d2917-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): enable FEAT_ECV for FEAT_STATE_CHECKED

At the moment we only support FEAT_ECV to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime det

refactor(cpufeat): enable FEAT_ECV for FEAT_STATE_CHECKED

At the moment we only support FEAT_ECV to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_FEAT_ECV=2), by splitting
is_feat_ecv_present() into an ID register reading function and a second
function to report the support status. That function considers both
build time settings and runtime information (if needed), and is used
before we access the CNTPOFF_EL2 system register.
Also move the context saving code from assembly to C, and use the new
is_feat_ecv_supported() function to guard its execution.

Change the FVP platform default to the now supported dynamic option (=2),
so the right decision can be made by the code at runtime.

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

show more ...

12345678910>>...15