History log of /rk3399_ARM-atf/include/lib/ (Results 1076 – 1100 of 1421)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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/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/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/ehf.c
/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/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/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/fdt_wrappers.h
/rk3399_ARM-atf/include/common/tbbr/tbbr_img_def.h
/rk3399_ARM-atf/include/drivers/ufs.h
cpus/aarch64/cpuamu.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/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpuamu_helpers.S
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/make_helpers/build_macros.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/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/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/hikey960/hikey960_pm.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/platform.mk
/rk3399_ARM-atf/plat/qemu/sp_min/sp_min-qemu.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.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
2ff8fbf319-Feb-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Implement {spe,sve}_supported() helpers and refactor code

Implement helpers to test if the core supports SPE/SVE. We have a
similar helper for AMU and this patch makes all extensions consistent
in

Implement {spe,sve}_supported() helpers and refactor code

Implement helpers to test if the core supports SPE/SVE. We have a
similar helper for AMU and this patch makes all extensions consistent
in their implementation.

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

show more ...


/rk3399_ARM-atf/Makefile
/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/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/ehf.c
/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/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/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/fdt_wrappers.h
/rk3399_ARM-atf/include/common/tbbr/tbbr_img_def.h
/rk3399_ARM-atf/include/drivers/ufs.h
extensions/spe.h
extensions/sve.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/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/make_helpers/build_macros.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/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/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/hikey960/hikey960_pm.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/platform.mk
/rk3399_ARM-atf/plat/qemu/sp_min/sp_min-qemu.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.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
883d1b5d23-Feb-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Add comments about mismatched TCR_ELx and xlat tables

When the MMU is enabled and the translation tables are mapped, data
read/writes to the translation tables are made using the attributes
specifie

Add comments about mismatched TCR_ELx and xlat tables

When the MMU is enabled and the translation tables are mapped, data
read/writes to the translation tables are made using the attributes
specified in the translation tables themselves. However, the MMU
performs table walks with the attributes specified in TCR_ELx. They are
completely independent, so special care has to be taken to make sure
that they are the same.

This has to be done manually because it is not practical to have a test
in the code. Such a test would need to know the virtual memory region
that contains the translation tables and check that for all of the
tables the attributes match the ones in TCR_ELx. As the tables may not
even be mapped at all, this isn't a test that can be made generic.

The flags used by enable_mmu_xxx() have been moved to the same header
where the functions are.

Also, some comments in the linker scripts related to the translation
tables have been fixed.

Change-Id: I1754768bffdae75f53561b1c4a5baf043b45a304
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...


/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/ehf.c
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/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/io/io_fip.c
/rk3399_ARM-atf/drivers/synopsys/ufs/dw_ufs.c
/rk3399_ARM-atf/drivers/ufs/ufs.c
/rk3399_ARM-atf/include/drivers/ufs.h
xlat_tables/xlat_mmu_helpers.h
xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min.mk
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/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/platform.mk
/rk3399_ARM-atf/plat/qemu/sp_min/sp_min-qemu.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_state.c
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
4abd7fa714-Feb-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Redefine SMC_UNK as -1 instead of 0xFFFFFFFF

According to the SMC Calling Convention (ARM DEN0028B):

The Unknown SMC Function Identifier is a sign-extended value of
(-1) that is returned in

Redefine SMC_UNK as -1 instead of 0xFFFFFFFF

According to the SMC Calling Convention (ARM DEN0028B):

The Unknown SMC Function Identifier is a sign-extended value of
(-1) that is returned in R0, W0 or X0 register.

The value wasn't sign-extended because it was defined as a 32-bit
unsigned value (0xFFFFFFFF).

SMC_PREEMPT has been redefined as -2 for the same reason.

NOTE: This might be a compatibility break for some AArch64 platforms
that don't follow the previous version of the SMCCC (ARM DEN0028A)
correctly. That document specifies that only the bottom 32 bits of the
returned value must be checked. If a platform relies on the top 32 bits
of the result being 0 (so that SMC_UNK is 0x00000000FFFFFFFF), it will
have to fix its code to comply with the SMCCC.

Change-Id: I7f7b109f6b30c114fe570aa0ead3c335383cb54d
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch32/bl1_exceptions.S
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/optee/optee.mk
/rk3399_ARM-atf/docs/interrupt-framework-design.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/common/ep_info.h
smcc.h
/rk3399_ARM-atf/lib/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/zlib/tf_gunzip.c
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/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/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/services/spd/tspd/tspd.mk
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
9fd2f13b06-Feb-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1224 from masahir0y/gzip

Support GZIP-compressed images for faster loading and verification


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/common/image_decompress.c
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/include/common/image_decompress.h
zlib/tf_gunzip.h
/rk3399_ARM-atf/include/plat/common/platform.h
/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/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/common/aarch32/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/platform_helpers_default.c
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/qemu/platform.mk
/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
9c00555b02-Feb-2018 davidcunado-arm <david.cunado@arm.com>

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

AMUv1 support for AArch32

c43d685126-Jan-2018 Masahiro Yamada <yamada.masahiro@socionext.com>

zlib: add gunzip() support

This commit adds some more files to use zlib from TF.

To use zlib, ->zalloc and ->zfree hooks are needed. The implementation
depends on the system. For user-space, the

zlib: add gunzip() support

This commit adds some more files to use zlib from TF.

To use zlib, ->zalloc and ->zfree hooks are needed. The implementation
depends on the system. For user-space, the libc provides malloc() and
friends. Unfortunately, ARM Trusted Firmware does not provide malloc()
or any concept of dynamic memory allocation.

I implemented very simple calloc() and free() for this. Stupidly,
zfree() never frees memory, but it works enough for this.

The purpose of using zlib is to implement gunzip() - this function
takes compressed data from in_buf, then dumps the decompressed data
to oub_buf. The work_buf is used for memory allocation during the
decompress. Upon exit, it updates in_buf and out_buf. If successful,
in_buf points to the end of input data, out_buf to the end of the
decompressed data.

To use this feature, you need to do:

- include lib/zlib/zlib.mk from your platform.mk

- add $(ZLIB_SOURCES) to your BL*_SOURCES

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

show more ...

9bc94a6d01-Feb-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1240 from dp-arm/dp/smccc

Implement support for SMCCC v1.1 and optimize security mitigations for CVE-2017-5715 on AArch64

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 ...

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

AMU: Add assembler helper functions for aarch32

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

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

Merge pull request #1235 from jwerner-chromium/JW_udelay

Fix udelay issues that can make duration slightly too short

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 ...

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

Implement support for SMCCC v1.1

SMCCC v1.1 comes with a relaxed calling convention for AArch64
callers. The caller only needs to save x0-x3 before doing an SMC
call.

This patch adds support for S

Implement support for SMCCC v1.1

SMCCC v1.1 comes with a relaxed calling convention for AArch64
callers. The caller only needs to save x0-x3 before doing an SMC
call.

This patch adds support for SMCCC_VERSION and SMCCC_ARCH_FEATURES.

Refer to "Firmware Interfaces for mitigating CVE_2017_5715 System
Software on Arm Systems"[0] for more information.

[0] https://developer.arm.com/-/media/developer/pdf/ARM%20DEN%200070A%20Firmware%20interfaces%20for%20mitigating%20CVE-2017-5715_V1.0.pdf

Change-Id: If5b1c55c17d6c5c7cb9c2c3ed355d3a91cdad0a9
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

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

Merge pull request #1193 from jwerner-chromium/JW_coreboot

New console API and coreboot support [v4]


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.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/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
coreboot.h
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_a72.S
/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/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
7baa7bca22-Jan-2018 Julius Werner <jwerner@chromium.org>

Make div_round_up() correct for divisors that are not a power of 2

The current div_round_up() implementation relies on round_up() which
only works correctly for boundaries that are a power of 2. It

Make div_round_up() correct for divisors that are not a power of 2

The current div_round_up() implementation relies on round_up() which
only works correctly for boundaries that are a power of 2. It is
documented as such, but this still seems dangerously easy to overlook,
especially since many other environments (e.g. the Linux kernel) have a
similar macro without these limitations.

There is a different way to calculate this that can deal with all kinds
of divisors without other drawbacks, so let's just use that instead.

Change-Id: Id382736683f5d4e880ef00c53cfa23a2f9208440
Signed-off-by: Julius Werner <jwerner@chromium.org>

show more ...

3429c77a09-Jun-2017 Julius Werner <jwerner@chromium.org>

Add platform-independent coreboot support library

This patch adds the foundation for a platform-independent coreboot
support library that can be shared by all platforms that boot BL31 from
coreboot

Add platform-independent coreboot support library

This patch adds the foundation for a platform-independent coreboot
support library that can be shared by all platforms that boot BL31 from
coreboot (acting as BL2). It adds code to parse the "coreboot table", a
data structure that coreboot uses to communicate different kinds of
information to later-stage firmware and certain OS drivers.

As a first small use case for this information, allow platforms to
access the serial console configuration used by coreboot, removing the
need to hardcode base address and divisors and allowing Trusted Firmware
to benefit from coreboot's user configuration (e.g. which UART to pick
and which baud rate to use).

Change-Id: I2bfb39cd2609ce6640b844ab68df6c9ae3f28e9e
Signed-off-by: Julius Werner <jwerner@chromium.org>

show more ...

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/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
cpus/aarch32/cpu_macros.S
cpus/aarch64/cpu_macros.S
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/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/errata_report.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_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
e4b34efa03-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Workaround for CVE-2017-5715 for Cortex A9, A15 and A17

A per-cpu vbar is installed that implements the workaround by
invalidating the branch target buffer (BTB) directly in the case of A9
and A17 a

Workaround for CVE-2017-5715 for Cortex A9, A15 and A17

A per-cpu vbar is installed that implements the workaround by
invalidating the branch target buffer (BTB) directly in the case of A9
and A17 and indirectly by invalidating the icache in the case of A15.

For Cortex A57 and A72 there is currently no workaround implemented
when EL3 is in AArch32 mode so report it as missing.

For other vulnerable CPUs (e.g. Cortex A73 and Cortex A75), there are
no changes since there is currently no upstream AArch32 EL3 support
for these CPUs.

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

show more ...

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

sp_min: Implement workaround for CVE-2017-5715

This patch introduces two workarounds for ARMv7 systems. The
workarounds need to be applied prior to any `branch` instruction in
secure world. This i

sp_min: Implement workaround for CVE-2017-5715

This patch introduces two workarounds for ARMv7 systems. The
workarounds need to be applied prior to any `branch` instruction in
secure world. This is achieved using a custom vector table where each
entry is an `add sp, sp, #1` instruction.

On entry to monitor mode, once the sequence of `ADD` instructions is
executed, the branch target buffer (BTB) is invalidated. The bottom
bits of `SP` are then used to decode the exception entry type.

A side effect of this change is that the exception vectors are
installed before the CPU specific reset function. This is now
consistent with how it is done on AArch64.

Note, on AArch32 systems, the exception vectors are typically tightly
integrated with the secure payload (e.g. the Trusted OS). This
workaround will need porting to each secure payload that requires it.

The patch to modify the AArch32 per-cpu vbar to the corresponding
workaround vector table according to the CPU type will be done in a
later patch.

Change-Id: I5786872497d359e496ebe0757e8017fa98f753fa
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/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/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/socionext-uniphier.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.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
cpus/aarch32/cpu_macros.S
cpus/aarch64/cpu_macros.S
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_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/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/aarch64/arm_sdei.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/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/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
109ae26316-Jan-2018 Masahiro Yamada <yamada.masahiro@socionext.com>

utils: rename struct mem_region_t to struct mem_region

typedef mem_region_t mem_region_t;

... seems to work because they belong to different name-spaces,
but humans are confused even if compilers a

utils: rename struct mem_region_t to struct mem_region

typedef mem_region_t mem_region_t;

... seems to work because they belong to different name-spaces,
but humans are confused even if compilers are not.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

show more ...

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>

b6eb393228-Nov-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Add hooks to save/restore AMU context

On some systems, the AMU counters might reset to 0 when a CPU
powerdown happens. This behaviour conflicts with the intended
use-case of AMU as lower ELs a

AMU: Add hooks to save/restore AMU context

On some systems, the AMU counters might reset to 0 when a CPU
powerdown happens. This behaviour conflicts with the intended
use-case of AMU as lower ELs are only expected to see non-decreasing
counter values.

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

show more ...

1...<<41424344454647484950>>...57