History log of /rk3399_ARM-atf/lib/cpus/aarch64/ (Results 751 – 775 of 827)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
abbffe9803-Aug-2017 Isla Mitchell <isla.mitchell@arm.com>

Add support for Cortex-Ares and Cortex-A76 CPUs

Both Cortex-Ares and Cortex-A76 CPUs use the ARM DynamIQ Shared Unit
(DSU). The power-down and power-up sequences are therefore mostly
managed in har

Add support for Cortex-Ares and Cortex-A76 CPUs

Both Cortex-Ares and Cortex-A76 CPUs use the ARM DynamIQ Shared Unit
(DSU). The power-down and power-up sequences are therefore mostly
managed in hardware, and required software operations are simple.

Change-Id: I3a9447b5bdbdbc5ed845b20f6564d086516fa161
Signed-off-by: Isla Mitchell <isla.mitchell@arm.com>

show more ...

2b91536631-May-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Fast path SMCCC_ARCH_WORKAROUND_1 calls from AArch32

When SMCCC_ARCH_WORKAROUND_1 is invoked from a lower EL running in
AArch32 state, ensure that the SMC call will take a shortcut in EL3.
This mini

Fast path SMCCC_ARCH_WORKAROUND_1 calls from AArch32

When SMCCC_ARCH_WORKAROUND_1 is invoked from a lower EL running in
AArch32 state, ensure that the SMC call will take a shortcut in EL3.
This minimizes the time it takes to apply the mitigation in EL3.

When lower ELs run in AArch32, it is preferred that they execute the
`BPIALL` instruction to invalidate the BTB. However, on some cores
the `BPIALL` instruction may be a no-op and thus would benefit from
making the SMCCC_ARCH_WORKAROUND_1 call go through the fast path.

Change-Id: Ia38abd92efe2c4b4a8efa7b70f260e43c5bda8a5
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

fe007b2e16-May-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Add support for dynamic mitigation for CVE-2018-3639

Some CPUS may benefit from using a dynamic mitigation approach for
CVE-2018-3639. A new SMC interface is defined to allow software
executing in

Add support for dynamic mitigation for CVE-2018-3639

Some CPUS may benefit from using a dynamic mitigation approach for
CVE-2018-3639. A new SMC interface is defined to allow software
executing in lower ELs to enable or disable the mitigation for their
execution context.

It should be noted that regardless of the state of the mitigation for
lower ELs, code executing in EL3 is always mitigated against
CVE-2018-3639.

NOTE: This change is a compatibility break for any platform using
the declare_cpu_ops_workaround_cve_2017_5715 macro. Migrate to
the declare_cpu_ops_wa macro instead.

Change-Id: I3509a9337ad217bbd96de9f380c4ff8bf7917013
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

b8a25bbb05-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Implement static workaround for CVE-2018-3639

For affected CPUs, this approach enables the mitigation during EL3
initialization, following every PE reset. No mechanism is provided to
disable the mit

Implement static workaround for CVE-2018-3639

For affected CPUs, this approach enables the mitigation during EL3
initialization, following every PE reset. No mechanism is provided to
disable the mitigation at runtime.

This approach permanently mitigates the entire software stack and no
additional mitigation code is required in other software components.

TF-A implements this approach for the following affected CPUs:

* Cortex-A57 and Cortex-A72, by setting bit 55 (Disable load pass store) of
`CPUACTLR_EL1` (`S3_1_C15_C2_0`).

* Cortex-A73, by setting bit 3 of `S3_0_C15_C0_0` (not documented in the
Technical Reference Manual (TRM)).

* Cortex-A75, by setting bit 35 (reserved in TRM) of `CPUACTLR_EL1`
(`S3_0_C15_C1_0`).

Additionally, a new SMC interface is implemented to allow software
executing in lower ELs to discover whether the system is mitigated
against CVE-2018-3639.

Refer to "Firmware interfaces for mitigating cache speculation
vulnerabilities System Software on Arm Systems"[0] for more
information.

[0] https://developer.arm.com/cache-speculation-vulnerability-firmware-specification

Change-Id: I084aa7c3bc7c26bf2df2248301270f77bed22ceb
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

2c3a107806-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Rename symbols and files relating to CVE-2017-5715

This patch renames symbols and files relating to CVE-2017-5715 to make
it easier to introduce new symbols and files for new CVE mitigations.

Chang

Rename symbols and files relating to CVE-2017-5715

This patch renames symbols and files relating to CVE-2017-5715 to make
it easier to introduce new symbols and files for new CVE mitigations.

Change-Id: I24c23822862ca73648c772885f1690bed043dbc7
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@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/bl32/sp_min/wa_cve_2017_5715_bpiall.S
/rk3399_ARM-atf/bl32/sp_min/wa_cve_2017_5715_icache_inv.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/auth/tbbr/tbbr_cot.c
/rk3399_ARM-atf/drivers/console/aarch64/multi_console.S
/rk3399_ARM-atf/include/bl31/ea_handle.h
/rk3399_ARM-atf/include/common/aarch64/asm_macros.S
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2017_5715.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/extensions/ras.h
/rk3399_ARM-atf/include/lib/extensions/ras_arch.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_dyn_cfg_helpers.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/plat/common/platform.h
/rk3399_ARM-atf/include/tools_share/firmware_image_package.h
/rk3399_ARM-atf/include/tools_share/tbbr_oid.h
cortex_a57.S
cortex_a72.S
cortex_a73.S
cortex_a75.S
cpu_helpers.S
wa_cve_2017_5715_bpiall.S
wa_cve_2017_5715_mmu.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/ras/ras_common.c
/rk3399_ARM-atf/lib/extensions/ras/std_err_record.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_nt_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_soc_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_tsp_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_ehf.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_ras.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_dyn_cfg.c
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/arm/common/arm_io_storage.c
/rk3399_ARM-atf/plat/arm/css/common/css_topology.c
/rk3399_ARM-atf/plat/arm/css/sgi/aarch64/sgi_helper.S
/rk3399_ARM-atf/plat/arm/css/sgi/include/platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat_config.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_topology.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/rk3399_mcu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/startup.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu_fw.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.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/rockchip/rk3399/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/plat.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/m0_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/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/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_private.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/tools/cert_create/include/cert.h
/rk3399_ARM-atf/tools/cert_create/include/tbbr/tbb_ext.h
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_cert.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_ext.c
/rk3399_ARM-atf/tools/fiptool/tbbr_config.c
b030146711-Jan-2018 Varun Wadekar <vwadekar@nvidia.com>

Workaround for CVE-2017-5715 on NVIDIA Denver CPUs

Flush the indirect branch predictor and RSB on entry to EL3 by issuing
a newly added instruction for Denver CPUs. Support for this operation
can be

Workaround for CVE-2017-5715 on NVIDIA Denver CPUs

Flush the indirect branch predictor and RSB on entry to EL3 by issuing
a newly added instruction for Denver CPUs. Support for this operation
can be determined by comparing bits 19:16 of ID_AFR0_EL1 with 0b0001.

To achieve this without performing any branch instruction, a per-cpu
vbar is installed which executes the workaround and then branches off
to the corresponding vector entry in the main vector table. A side
effect of this change is that the main vbar is configured before any
reset handling. This is to allow the per-cpu reset function to override
the vbar setting.

Change-Id: Ief493cd85935bab3cfee0397e856db5101bc8011
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

show more ...


/rk3399_ARM-atf/.checkpatch.conf
/rk3399_ARM-atf/.editorconfig
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/bl1/tbbr/tbbr_img_desc.c
/rk3399_ARM-atf/bl2/bl2_image_load.c
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/tsp/tsp_interrupt.c
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/bl32/tsp/tsp_private.h
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.c
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-common.dtsi
/rk3399_ARM-atf/fdts/fvp-foundation-motherboard.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard-aarch32.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard.dtsi
/rk3399_ARM-atf/include/bl2/bl2.h
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/common/tbbr/tbbr_img_def.h
/rk3399_ARM-atf/include/drivers/auth/auth_mod.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/auth/img_parser_mod.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/smccc_v1.h
/rk3399_ARM-atf/include/lib/smccc_v2.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_types.h
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_arch.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
denver.S
/rk3399_ARM-atf/lib/utils/mem_region.c
/rk3399_ARM-atf/lib/xlat_tables/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/common/board_css_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch32/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_bl1_fwu.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_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/arm/common/arm_nor_psci_mem_protect.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/arm/css/common/sp_min/css_sp_min.mk
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu.c
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu.h
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu_doorbell.c
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu_doorbell.h
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi.h
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi_common.c
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi_private.h
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_bom_bootloader.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_pm_scmi.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_pm_scpi.c
/rk3399_ARM-atf/plat/arm/css/drivers/scpi/css_scpi.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_ddr.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_private.h
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_plat_common.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_plat_common.h
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/mce.c
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_sip_svc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_startup.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_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_def.h
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/spd/opteed/opteed_pm.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_pm.c
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/spd/tspd/tspd_pm.c
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/fiptool/fiptool.c
fe634fa628-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

Check presence of fix for errata 835769 in Cortex-A53

A fix for errata 835769 may be available in revisions r0p2, r0p3 or r0p4
of the Cortex-A53 processor. The presence of the fix is determined by
c

Check presence of fix for errata 835769 in Cortex-A53

A fix for errata 835769 may be available in revisions r0p2, r0p3 or r0p4
of the Cortex-A53 processor. The presence of the fix is determined by
checking bit 7 in the REVIDR register.

If the fix is present we report ERRATA_NOT_APPLIES which silences the
erroneous 'missing workaround' warning.

Change-Id: Ib75b008e755e9ac648554ca9398024fdbea4a91a
Signed-off-by: Jonathan Wright <jonathan.wright@arm.com>

show more ...

9ec3921c28-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

Check presence of fix for errata 843419 in Cortex-A53

A fix for errata 843419 may be available in revision r0p4 of the
Cortex-A53 processor. The presence of the fix is determined by checking
bit 8 i

Check presence of fix for errata 843419 in Cortex-A53

A fix for errata 843419 may be available in revision r0p4 of the
Cortex-A53 processor. The presence of the fix is determined by checking
bit 8 in the REVIDR register.

If the fix is present we report ERRATA_NOT_APPLIES which silences the
erroneous 'missing workaround' warning.

Change-Id: Ibd2a478df3e2a6325442a6a48a0bb0259dcfc1d7
Signed-off-by: Jonathan Wright <jonathan.wright@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/acknowledgements.rst
/rk3399_ARM-atf/bl1/aarch32/bl1_context_mgmt.c
/rk3399_ARM-atf/bl1/aarch32/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch32/bl1_exceptions.S
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl1/bl1_private.h
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/contributing.rst
/rk3399_ARM-atf/docs/arm-sip-service.rst
/rk3399_ARM-atf/docs/auth-framework.rst
/rk3399_ARM-atf/docs/change-log.rst
/rk3399_ARM-atf/docs/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/firmware-update.rst
/rk3399_ARM-atf/docs/interrupt-framework-design.rst
/rk3399_ARM-atf/docs/plat/hikey.rst
/rk3399_ARM-atf/docs/plat/hikey960.rst
/rk3399_ARM-atf/docs/plat/ls1043a.rst
/rk3399_ARM-atf/docs/plat/nvidia-tegra.rst
/rk3399_ARM-atf/docs/plat/poplar.rst
/rk3399_ARM-atf/docs/plat/qemu.rst
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/plat/xilinx-zynqmp.rst
/rk3399_ARM-atf/docs/platform-interrupt-controller-API.rst
/rk3399_ARM-atf/docs/platform-migration-guide.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/psci-lib-integration-guide.rst
/rk3399_ARM-atf/docs/psci-pd-tree.rst
/rk3399_ARM-atf/docs/reset-design.rst
/rk3399_ARM-atf/docs/rt-svc-writers-guide.rst
/rk3399_ARM-atf/docs/sdei.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/spd/optee-dispatcher.rst
/rk3399_ARM-atf/docs/spd/tlk-dispatcher.rst
/rk3399_ARM-atf/docs/spd/trusty-dispatcher.rst
/rk3399_ARM-atf/docs/trusted-board-boot.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/docs/xlat-tables-lib-v2-design.rst
/rk3399_ARM-atf/drivers/arm/cci/cci.c
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/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/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/arm/tzc/tzc_dmc500.c
/rk3399_ARM-atf/drivers/auth/img_parser_mod.c
/rk3399_ARM-atf/drivers/synopsys/emmc/dw_mmc.c
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/drivers/ufs/ufs.c
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/drivers/arm/gic_common.h
/rk3399_ARM-atf/include/drivers/arm/tzc_dmc500.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_helpers.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_macros.S
/rk3399_ARM-atf/include/lib/aarch32/smccc_helpers.h
/rk3399_ARM-atf/include/lib/aarch32/smccc_macros.S
/rk3399_ARM-atf/include/lib/aarch64/smcc_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/smccc_helpers.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/pmf/pmf.h
/rk3399_ARM-atf/include/lib/smcc.h
/rk3399_ARM-atf/include/lib/smccc.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/common_def.h
/rk3399_ARM-atf/include/services/secure_partition.h
cortex_a53.S
cpu_helpers.S
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_normal.c
/rk3399_ARM-atf/lib/pmf/pmf_main.c
/rk3399_ARM-atf/lib/pmf/pmf_smc.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
/rk3399_ARM-atf/lib/stdlib/puts.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/license.rst
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/plat_helpers.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_tzmp1_def.h
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/sgi575/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc_dmc500.c
/rk3399_ARM-atf/plat/arm/common/execution_state_switch.c
/rk3399_ARM-atf/plat/arm/css/sgi/aarch64/sgi_helper.S
/rk3399_ARM-atf/plat/arm/css/sgi/include/plat_macros.S
/rk3399_ARM-atf/plat/arm/css/sgi/include/platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_plat_config.h
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_variant.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl1_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_gic_config.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_interconnect.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat_config.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_security.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_topology.c
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/plat/hisilicon/hikey/aarch64/hikey_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/aarch64/hikey_helpers.S
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey/include/hikey_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey/include/hikey_layout.h
/rk3399_ARM-atf/plat/hisilicon/hikey/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl1_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/aarch64/ls1043_helpers.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ls_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ns_access.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/plat_macros.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/platform_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/soc_tzasc.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_err.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_psci.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_security.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_stack_protector.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_topology.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls_gic.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/platform.mk
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/ls1043_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/tsp-ls1043.mk
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_console.S
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_helpers.S
/rk3399_ARM-atf/plat/layerscape/common/include/fsl_csu.h
/rk3399_ARM-atf/plat/layerscape/common/include/ls_16550.h
/rk3399_ARM-atf/plat/layerscape/common/include/plat_ls.h
/rk3399_ARM-atf/plat/layerscape/common/include/soc.h
/rk3399_ARM-atf/plat/layerscape/common/include/tzc380.h
/rk3399_ARM-atf/plat/layerscape/common/ls_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.mk
/rk3399_ARM-atf/plat/layerscape/common/ls_image_load.c
/rk3399_ARM-atf/plat/layerscape/common/ls_io_storage.c
/rk3399_ARM-atf/plat/layerscape/common/ls_timer.c
/rk3399_ARM-atf/plat/layerscape/common/ls_topology.c
/rk3399_ARM-atf/plat/layerscape/common/ls_tzc380.c
/rk3399_ARM-atf/plat/layerscape/common/ns_access.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp.mk
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/platform_tsp.h
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.c
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_smmu.c
/rk3399_ARM-atf/plat/qemu/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_bl1_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_console.c
/rk3399_ARM-atf/plat/qemu/qemu_private.h
/rk3399_ARM-atf/plat/qemu/qemu_stack_protector.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_sip_svc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dp/cdn_dp.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rpi3/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_common.c
/rk3399_ARM-atf/plat/rpi3/rpi3_private.h
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/readme.rst
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_common.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_shim_private.h
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
/rk3399_ARM-atf/tools/cert_create/Makefile
a205a56e12-Mar-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Fixup `SMCCC_ARCH_FEATURES` semantics

When querying `SMCCC_ARCH_WORKAROUND_1` through `SMCCC_ARCH_FEATURES`,
return either:
* -1 to indicate the PE on which `SMCCC_ARCH_FEATURES` is called
req

Fixup `SMCCC_ARCH_FEATURES` semantics

When querying `SMCCC_ARCH_WORKAROUND_1` through `SMCCC_ARCH_FEATURES`,
return either:
* -1 to indicate the PE on which `SMCCC_ARCH_FEATURES` is called
requires firmware mitigation for CVE-2017-5715 but the mitigation
is not compiled in.
* 0 to indicate that firmware mitigation is required, or
* 1 to indicate that no firmware mitigation is required.

This patch complies with v1.2 of the firmware interfaces
specification (ARM DEN 0070A).

Change-Id: Ibc32d6620efdac6c340758ec502d95554a55f02a
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

3991a6a412-Mar-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Use PFR0 to identify need for mitigation of CVE-2017-5715

If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that

Use PFR0 to identify need for mitigation of CVE-2017-5715

If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that case skip the workaround on Cortex A72 and A73.

Change-Id: Ide24fb6efc77c548e4296295adc38dca87d042ee
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_arch_setup.c
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl2u/bl2u_main.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31_context_mgmt.c
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl31/ehf.c
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/common/desc_image_load.c
/rk3399_ARM-atf/docs/plat/hikey.rst
/rk3399_ARM-atf/docs/plat/hikey960.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/spd/trusty-dispatcher.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common_private.h
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.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/arm/tzc/tzc400.c
/rk3399_ARM-atf/drivers/arm/tzc/tzc_common_private.h
/rk3399_ARM-atf/drivers/console/aarch64/deprecated_console.S
/rk3399_ARM-atf/drivers/delay_timer/delay_timer.c
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/drivers/io/io_memmap.c
/rk3399_ARM-atf/drivers/io/io_semihosting.c
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq.dts
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/bl2/bl2.h
/rk3399_ARM-atf/include/bl2u/bl2u.h
/rk3399_ARM-atf/include/bl31/bl31.h
/rk3399_ARM-atf/include/bl31/ehf.h
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/desc_image_load.h
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/drivers/arm/gicv2.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/delay_timer.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/errata_report.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/el3_runtime/pubsub.h
/rk3399_ARM-atf/include/lib/extensions/spe.h
/rk3399_ARM-atf/include/lib/extensions/sve.h
/rk3399_ARM-atf/include/lib/pmf/pmf.h
/rk3399_ARM-atf/include/lib/pmf/pmf_helpers.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_mmu_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.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/arm/css/common/css_pm.h
/rk3399_ARM-atf/include/plat/common/platform.h
cortex_a72.S
cortex_a73.S
cortex_a75.S
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu_helpers.S
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/lib/psci/aarch32/psci_helpers.S
/rk3399_ARM-atf/lib/psci/aarch64/psci_helpers.S
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/stdlib/abort.c
/rk3399_ARM-atf/lib/stdlib/exit.c
/rk3399_ARM-atf/lib/stdlib/sscanf.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_private.h
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/common/board_css_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/drivers/pwrc/fvp_pwrc.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2u_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_trusted_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/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl1_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_topology.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_trng.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2u_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_err.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_io_storage.c
/rk3399_ARM-atf/plat/arm/common/arm_nor_psci_mem_protect.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_bl1_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_bl2u_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_topology.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_bom_bootloader.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_pm_scmi.c
/rk3399_ARM-atf/plat/arm/soc/common/soc_css_security.c
/rk3399_ARM-atf/plat/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch32/plat_sp_min_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/aarch64/hikey_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_io_storage.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_private.h
/rk3399_ARM-atf/plat/hisilicon/hikey/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/aarch64/hikey960_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/drivers/pwrc/hisi_pwrc.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_boardid.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_image_load.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_io_storage.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_private.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/rk3399_ARM-atf/plat/mediatek/mt6795/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_bl1_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_common.c
/rk3399_ARM-atf/plat/qemu/qemu_private.h
/rk3399_ARM-atf/plat/rockchip/rk3328/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3368/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/spd/trusty/generic-arm64-smcall.c
/rk3399_ARM-atf/services/spd/trusty/generic-arm64-smcall.h
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/trusty/trusty.mk
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_intr_mgmt.c
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
714b21ff27-Feb-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

MISRA fixes for Cortex A75 AMU implementation

Change-Id: I61c9fdfda0c0b3c3ec6249519db23602cf4c2100
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

f06890ea14-Feb-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Refactor AMU support for Cortex A75

This patch also fixes the assumption that the counters are disabled on
the resume path. This is incorrect as the AMU counters are enabled
early in the CPU reset

Refactor AMU support for Cortex A75

This patch also fixes the assumption that the counters are disabled on
the resume path. This is incorrect as the AMU counters are enabled
early in the CPU reset function before `cpuamu_context_restore()`
runs.

Change-Id: I38a94eb166a523f00de18e86860434ffccff2131
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

a2e702a214-Feb-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Factor out CPU AMU helpers

This patch also fixes `cpuamu_write_cpuamcntenclr_el0()` to use an MSR
instruction instead of an MRS instruction.

Change-Id: Ia6531f64b5ebc60ba432124eaa8d8eaccba40ed0
Sig

Factor out CPU AMU helpers

This patch also fixes `cpuamu_write_cpuamcntenclr_el0()` to use an MSR
instruction instead of an MRS instruction.

Change-Id: Ia6531f64b5ebc60ba432124eaa8d8eaccba40ed0
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...


/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_fwu.c
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch32/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/ehf.c
/rk3399_ARM-atf/bl32/optee/optee.mk
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/common/desc_image_load.c
/rk3399_ARM-atf/common/fdt_wrappers.c
/rk3399_ARM-atf/common/image_decompress.c
/rk3399_ARM-atf/docs/interrupt-framework-design.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/tzc/tzc400.c
/rk3399_ARM-atf/drivers/arm/tzc/tzc_common_private.h
/rk3399_ARM-atf/drivers/auth/tbbr/tbbr_cot.c
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/drivers/synopsys/ufs/dw_ufs.c
/rk3399_ARM-atf/drivers/ufs/ufs.c
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci-aarch32.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32.dts
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard-aarch32.dtsi
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/bl32/sp_min/platform_sp_min.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/desc_image_load.h
/rk3399_ARM-atf/include/common/ep_info.h
/rk3399_ARM-atf/include/common/fdt_wrappers.h
/rk3399_ARM-atf/include/common/image_decompress.h
/rk3399_ARM-atf/include/common/tbbr/tbbr_img_def.h
/rk3399_ARM-atf/include/drivers/ufs.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpuamu.h
/rk3399_ARM-atf/include/lib/smcc.h
/rk3399_ARM-atf/include/lib/zlib/tf_gunzip.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_dyn_cfg_helpers.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/firmware_image_package.h
/rk3399_ARM-atf/include/tools_share/tbbr_oid.h
/rk3399_ARM-atf/lib/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
cpuamu_helpers.S
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/zlib/adler32.c
/rk3399_ARM-atf/lib/zlib/crc32.c
/rk3399_ARM-atf/lib/zlib/crc32.h
/rk3399_ARM-atf/lib/zlib/inffast.c
/rk3399_ARM-atf/lib/zlib/inffast.h
/rk3399_ARM-atf/lib/zlib/inffixed.h
/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/tf_gunzip.c
/rk3399_ARM-atf/lib/zlib/zconf.h
/rk3399_ARM-atf/lib/zlib/zlib.h
/rk3399_ARM-atf/lib/zlib/zlib.mk
/rk3399_ARM-atf/lib/zlib/zutil.c
/rk3399_ARM-atf/lib/zlib/zutil.h
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dts
/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_io_storage.c
/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/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_helpers.S
/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/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg.c
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/arm/common/arm_image_load.c
/rk3399_ARM-atf/plat/arm/common/arm_io_storage.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min.mk
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_bl2_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch32/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/plat_bl1_common.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl1_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_mem_params_desc.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/plat_private.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/poplar_image_load.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/qemu/aarch32/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_bl1_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/qemu/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_common.c
/rk3399_ARM-atf/plat/qemu/qemu_private.h
/rk3399_ARM-atf/plat/qemu/sp_min/sp_min-qemu.mk
/rk3399_ARM-atf/plat/qemu/sp_min/sp_min_setup.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier.h
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_image_desc.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_io_storage.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_xlat_setup.c
/rk3399_ARM-atf/services/spd/tspd/tspd.mk
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_state.c
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/tools/cert_create/include/tbbr/tbb_ext.h
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_cert.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_ext.c
/rk3399_ARM-atf/tools/fiptool/tbbr_config.c
9c00555b02-Feb-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1253 from dp-arm/dp/amu32

AMUv1 support for AArch32

c70da54621-Dec-2017 Joel Hutton <joel.hutton@arm.com>

AMU: Implement context save/restore for aarch32

Add amu_context_save() and amu_context_restore() functions for aarch32

Change-Id: I4df83d447adeaa9d9f203e16dc5a919ffc04d87a
Signed-off-by: Joel Hutto

AMU: Implement context save/restore for aarch32

Add amu_context_save() and amu_context_restore() functions for aarch32

Change-Id: I4df83d447adeaa9d9f203e16dc5a919ffc04d87a
Signed-off-by: Joel Hutton <joel.hutton@arm.com>

show more ...

1d6d47a808-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Optimize SMCCC_ARCH_WORKAROUND_1 on Cortex A57/A72/A73 and A75

This patch implements a fast path for this SMC call on affected PEs by
detecting and returning immediately after executing the workarou

Optimize SMCCC_ARCH_WORKAROUND_1 on Cortex A57/A72/A73 and A75

This patch implements a fast path for this SMC call on affected PEs by
detecting and returning immediately after executing the workaround.

NOTE: The MMU disable/enable workaround now assumes that the MMU was
enabled on entry to EL3. This is a valid assumption as the code turns
on the MMU after reset and leaves it on until the core powers off.

Change-Id: I13c336d06a52297620a9760fb2461b4d606a30b3
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

d9bd656c11-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Optimize/cleanup BPIALL workaround

In the initial implementation of this workaround we used a dedicated
workaround context to save/restore state. This patch reduces the
footprint as no additional c

Optimize/cleanup BPIALL workaround

In the initial implementation of this workaround we used a dedicated
workaround context to save/restore state. This patch reduces the
footprint as no additional context is needed.

Additionally, this patch reduces the memory loads and stores by 20%,
reduces the instruction count and exploits static branch prediction to
optimize the SMC path.

Change-Id: Ia9f6bf06fbf8a9037cfe7f1f1fb32e8aec38ec7d
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

d95eb47625-Jan-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1228 from dp-arm/dp/cve_2017_5715

Workarounds for CVE-2017-5715 on A9/A15 and A17 + serial console reporting


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/workaround_cve_2017_5715_bpiall.S
/rk3399_ARM-atf/bl32/sp_min/workaround_cve_2017_5715_icache_inv.S
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/console/aarch64/console.S
/rk3399_ARM-atf/drivers/console/aarch64/deprecated_console.S
/rk3399_ARM-atf/drivers/console/aarch64/multi_console.S
/rk3399_ARM-atf/drivers/console/aarch64/skeleton_console.S
/rk3399_ARM-atf/drivers/coreboot/cbmem_console/aarch64/cbmem_console.S
/rk3399_ARM-atf/drivers/emmc/emmc.c
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/include/common/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/common/aarch64/console_macros.S
/rk3399_ARM-atf/include/drivers/arm/pl011.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/console_assertions.h
/rk3399_ARM-atf/include/drivers/coreboot/cbmem_console.h
/rk3399_ARM-atf/include/drivers/emmc.h
/rk3399_ARM-atf/include/drivers/ti/uart/uart_16550.h
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_helpers.h
/rk3399_ARM-atf/include/lib/coreboot.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a15.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/lib/coreboot/coreboot.mk
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a15.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a17.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a9.S
cortex_a57.S
cortex_a72.S
cortex_a73.S
cortex_a75.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/hisilicon/poplar/bl1_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/rockchip/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/include/plat_macros.S
/rk3399_ARM-atf/plat/rockchip/common/include/plat_params.h
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
0d3a27e719-Jan-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1200 from robertovargas-arm/bl2-el3

Add BL2_AT_EL3 build option


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.mk
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_x509.mk
/rk3399_ARM-atf/drivers/synopsys/emmc/dw_mmc.c
/rk3399_ARM-atf/include/bl32/payloads/tlk.h
/rk3399_ARM-atf/include/common/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/asm_macros_common.S
/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/utils.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.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/services/mm_svc.h
/rk3399_ARM-atf/include/services/spm_svc.h
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_el3_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl2_el3_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/plat_bl2_el3_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/aarch64/hikey960_helpers.S
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/hi3660.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
eec9e7d116-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Print erratum application report for CVE-2017-5715

Even though the workaround for CVE-2017-5715 is not a CPU erratum, the
code is piggybacking on the errata framework to print whether the
workaround

Print erratum application report for CVE-2017-5715

Even though the workaround for CVE-2017-5715 is not a CPU erratum, the
code is piggybacking on the errata framework to print whether the
workaround was applied, missing or not needed.

Change-Id: I821197a4b8560c73fd894cd7cd9ecf9503c72fa3
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

b1d27b4830-Oct-2017 Roberto Vargas <roberto.vargas@arm.com>

bl2-el3: Add BL2_EL3 image

This patch enables BL2 to execute at the highest exception level
without any dependancy on TF BL1. This enables platforms which already
have a non-TF Boot ROM to directly

bl2-el3: Add BL2_EL3 image

This patch enables BL2 to execute at the highest exception level
without any dependancy on TF BL1. This enables platforms which already
have a non-TF Boot ROM to directly load and execute BL2 and subsequent BL
stages without need for BL1. This is not currently possible because
BL2 executes at S-EL1 and cannot jump straight to EL3.

Change-Id: Ief1efca4598560b1b8c8e61fbe26d1f44e929d69
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_sp.png
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_tos.png
/rk3399_ARM-atf/docs/plat/poplar.rst
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/common/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch32/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.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/extensions/amu.h
/rk3399_ARM-atf/include/lib/extensions/sve.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_common.ld.S
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/spm_svc.h
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/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/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.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/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_sdei.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/css/common/css_bl2_setup.c
/rk3399_ARM-atf/plat/common/plat_bl2_el3_common.c
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/rk3399_ARM-atf/plat/mediatek/mt6795/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/platform.mk
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/include/plat.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rpi3/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi3/aarch64/rpi3_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/rpi3/include/plat_macros.S
/rk3399_ARM-atf/plat/rpi3/include/platform_def.h
/rk3399_ARM-atf/plat/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_common.c
/rk3399_ARM-atf/plat/rpi3/rpi3_hw.h
/rk3399_ARM-atf/plat/rpi3/rpi3_image_load.c
/rk3399_ARM-atf/plat/rpi3/rpi3_io_storage.c
/rk3399_ARM-atf/plat/rpi3/rpi3_pm.c
/rk3399_ARM-atf/plat/rpi3/rpi3_private.h
/rk3399_ARM-atf/plat/rpi3/rpi3_topology.c
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
5f3c7ce412-Jan-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1197 from dp-arm/dp/amu

AMUv1 support

53bfb94e11-Dec-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Add hooks to save/restore AMU context for Cortex A75

Change-Id: I504d3f65ca5829bc1f4ebadb764931f8379ee81f
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_sp.png
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_tos.png
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/plat/poplar.rst
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch32/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a75.h
/rk3399_ARM-atf/include/lib/el3_runtime/pubsub_events.h
/rk3399_ARM-atf/include/lib/extensions/amu.h
/rk3399_ARM-atf/include/lib/extensions/amu_private.h
/rk3399_ARM-atf/include/lib/extensions/sve.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_common.ld.S
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/services/spm_svc.h
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a72.S
cortex_a75.S
cortex_a75_pubsub.c
/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/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu_helpers.S
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.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/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_sdei.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/css/common/css_bl2_setup.c
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/rk3399_ARM-atf/plat/mediatek/mt6795/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/platform.mk
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/include/plat.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rpi3/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi3/aarch64/rpi3_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/rpi3/include/plat_macros.S
/rk3399_ARM-atf/plat/rpi3/include/platform_def.h
/rk3399_ARM-atf/plat/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_common.c
/rk3399_ARM-atf/plat/rpi3/rpi3_hw.h
/rk3399_ARM-atf/plat/rpi3/rpi3_image_load.c
/rk3399_ARM-atf/plat/rpi3/rpi3_io_storage.c
/rk3399_ARM-atf/plat/rpi3/rpi3_pm.c
/rk3399_ARM-atf/plat/rpi3/rpi3_private.h
/rk3399_ARM-atf/plat/rpi3/rpi3_topology.c
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/ipi_mailbox_service/ipi_mailbox_svc.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.h
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_private.h
/rk3399_ARM-atf/tools/fiptool/fiptool.c
780edd8602-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Use PFR0 to identify need for mitigation of CVE-2017-5915

If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that

Use PFR0 to identify need for mitigation of CVE-2017-5915

If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that case skip the workaround on Cortex A75.

Change-Id: I4d5504cba516a67311fb5f0657b08f72909cbd38
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

a1781a2118-Dec-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Workaround for CVE-2017-5715 on Cortex A73 and A75

Invalidate the Branch Target Buffer (BTB) on entry to EL3 by
temporarily dropping into AArch32 Secure-EL1 and executing the
`BPIALL` instruction.

Workaround for CVE-2017-5715 on Cortex A73 and A75

Invalidate the Branch Target Buffer (BTB) on entry to EL3 by
temporarily dropping into AArch32 Secure-EL1 and executing the
`BPIALL` instruction.

This is achieved by using 3 vector tables. There is the runtime
vector table which is used to handle exceptions and 2 additional
tables which are required to implement this workaround. The
additional tables are `vbar0` and `vbar1`.

The sequence of events for handling a single exception is
as follows:

1) Install vector table `vbar0` which saves the CPU context on entry
to EL3 and sets up the Secure-EL1 context to execute in AArch32 mode
with the MMU disabled and I$ enabled. This is the default vector table.

2) Before doing an ERET into Secure-EL1, switch vbar to point to
another vector table `vbar1`. This is required to restore EL3 state
when returning from the workaround, before proceeding with normal EL3
exception handling.

3) While in Secure-EL1, the `BPIALL` instruction is executed and an
SMC call back to EL3 is performed.

4) On entry to EL3 from Secure-EL1, the saved context from step 1) is
restored. The vbar is switched to point to `vbar0` in preparation to
handle further exceptions. Finally a branch to the runtime vector
table entry is taken to complete the handling of the original
exception.

This workaround is enabled by default on the affected CPUs.

NOTE
====

There are 4 different stubs in Secure-EL1. Each stub corresponds to
an exception type such as Sync/IRQ/FIQ/SError. Each stub will move a
different value in `R0` before doing an SMC call back into EL3.
Without this piece of information it would not be possible to know
what the original exception type was as we cannot use `ESR_EL3` to
distinguish between IRQs and FIQs.

Change-Id: I90b32d14a3735290b48685d43c70c99daaa4b434
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

1...<<31323334