History log of /rk3399_ARM-atf/lib/ (Results 2201 – 2225 of 2323)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
bcbe19af14-Jun-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

xlat lib: Refactor mmap_desc() function

This patch clarifies the mmap_desc() function by adding some comments
and reorganising its code. No functional change has been introduced.

Change-Id: I873493

xlat lib: Refactor mmap_desc() function

This patch clarifies the mmap_desc() function by adding some comments
and reorganising its code. No functional change has been introduced.

Change-Id: I873493be17b4e60a89c1dc087dd908b425065401

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/context_mgmt.c
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/plat/xilinx-zynqmp.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/common/board_css_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_pm.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/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_bl2u_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/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/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/plat_topology.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_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/services/std_svc/psci/psci_stat.c
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
a31d898311-Mar-2016 Yatharth Kochar <yatharth.kochar@arm.com>

Add Performance Measurement Framework(PMF)

This patch adds Performance Measurement Framework(PMF) in the
ARM Trusted Firmware. PMF is implemented as a library and the
SMC interface is provided throu

Add Performance Measurement Framework(PMF)

This patch adds Performance Measurement Framework(PMF) in the
ARM Trusted Firmware. PMF is implemented as a library and the
SMC interface is provided through ARM SiP service.

The PMF provides capturing, storing, dumping and retrieving the
time-stamps, by enabling the development of services by different
providers, that can be easily integrated into ARM Trusted Firmware.
The PMF capture and retrieval APIs can also do appropriate cache
maintenance operations to the timestamp memory when the caller
indicates so.

`pmf_main.c` consists of core functions that implement service
registration, initialization, storing, dumping and retrieving
the time-stamp.
`pmf_smc.c` consists SMC handling for registered PMF services.
`pmf.h` consists of the macros that can be used by the PMF service
providers to register service and declare time-stamp functions.
`pmf_helpers.h` consists of internal macros that are used by `pmf.h`

By default this feature is disabled in the ARM trusted firmware.
To enable it set the boolean flag `ENABLE_PMF` to 1.

NOTE: The caller is responsible for specifying the appropriate cache
maintenance flags and for acquiring/releasing appropriate locks
before/after capturing/retrieving the time-stamps.

Change-Id: Ib45219ac07c2a81b9726ef6bd9c190cc55e81854

show more ...

adb1ddf808-Jun-2016 danh-arm <dan.handley@arm.com>

Merge pull request #639 from danh-arm/dh/import-libfdt

Import libfdt v1.4.1 and related changes


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_context_mgmt.c
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_exceptions.S
/rk3399_ARM-atf/common/aarch64/context.S
/rk3399_ARM-atf/common/aarch64/early_exceptions.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/ccn/ccn.c
/rk3399_ARM-atf/drivers/arm/ccn/ccn_private.h
/rk3399_ARM-atf/drivers/gpio/gpio.c
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/common/asm_macros.S
/rk3399_ARM-atf/include/common/context.h
/rk3399_ARM-atf/include/drivers/arm/ccn.h
/rk3399_ARM-atf/include/drivers/gpio.h
/rk3399_ARM-atf/include/lib/libfdt/fdt.h
/rk3399_ARM-atf/include/lib/libfdt/libfdt.h
/rk3399_ARM-atf/include/lib/libfdt/libfdt_env.h
/rk3399_ARM-atf/include/lib/stdlib/assert.h
/rk3399_ARM-atf/include/lib/stdlib/inttypes.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_inttypes.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_limits.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_stdint.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_types.h
/rk3399_ARM-atf/include/lib/stdlib/stddef.h
/rk3399_ARM-atf/include/lib/stdlib/stdio.h
/rk3399_ARM-atf/include/lib/stdlib/stdlib.h
/rk3399_ARM-atf/include/lib/stdlib/string.h
/rk3399_ARM-atf/include/lib/stdlib/strings.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_null.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_stdint.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_timespec.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_types.h
/rk3399_ARM-atf/include/lib/stdlib/sys/cdefs.h
/rk3399_ARM-atf/include/lib/stdlib/sys/ctype.h
/rk3399_ARM-atf/include/lib/stdlib/sys/errno.h
/rk3399_ARM-atf/include/lib/stdlib/sys/limits.h
/rk3399_ARM-atf/include/lib/stdlib/sys/stdarg.h
/rk3399_ARM-atf/include/lib/stdlib/sys/stdint.h
/rk3399_ARM-atf/include/lib/stdlib/sys/timespec.h
/rk3399_ARM-atf/include/lib/stdlib/sys/types.h
/rk3399_ARM-atf/include/lib/stdlib/sys/uuid.h
/rk3399_ARM-atf/include/lib/stdlib/time.h
/rk3399_ARM-atf/include/lib/stdlib/xlocale/_strings.h
/rk3399_ARM-atf/include/lib/stdlib/xlocale/_time.h
/rk3399_ARM-atf/include/lib/xlat_tables.h
libfdt/fdt.c
libfdt/fdt_addresses.c
libfdt/fdt_empty_tree.c
libfdt/fdt_ro.c
libfdt/fdt_rw.c
libfdt/fdt_strerror.c
libfdt/fdt_sw.c
libfdt/fdt_wip.c
libfdt/libfdt.mk
libfdt/libfdt_internal.h
stdlib/stdlib.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.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_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_ccn.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/include/plat_params.h
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/gpio/rk3399_gpio.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.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/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
/rk3399_ARM-atf/tools/fip_create/Makefile
754d78b102-Jun-2016 Dan Handley <dan.handley@arm.com>

Minor libfdt changes to enable TF integration

* Move libfdt API headers to include/lib/libfdt
* Add libfdt.mk helper makefile
* Remove unused libfdt files
* Minor changes to fdt.h and libfdt.h to ma

Minor libfdt changes to enable TF integration

* Move libfdt API headers to include/lib/libfdt
* Add libfdt.mk helper makefile
* Remove unused libfdt files
* Minor changes to fdt.h and libfdt.h to make them C99 compliant

Co-Authored-By: Jens Wiklander <jens.wiklander@linaro.org>

Change-Id: I425842c2b111dcd5fb6908cc698064de4f77220e

show more ...

91176bc602-Jun-2016 Dan Handley <dan.handley@arm.com>

Import libfdt v1.4.1

Imports libfdt code from https://git.kernel.org/cgit/utils/dtc/dtc.git
tag "v1.4.1" commit 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2.

Change-Id: Ia0d966058beee55a9047e80d8a05bbe

Import libfdt v1.4.1

Imports libfdt code from https://git.kernel.org/cgit/utils/dtc/dtc.git
tag "v1.4.1" commit 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2.

Change-Id: Ia0d966058beee55a9047e80d8a05bbe4f71d8446

show more ...

f0b489c102-Jun-2016 Dan Handley <dan.handley@arm.com>

Move stdlib header files to include/lib/stdlib

* Move stdlib header files from include/stdlib to include/lib/stdlib for
consistency with other library headers.
* Fix checkpatch paths to continue e

Move stdlib header files to include/lib/stdlib

* Move stdlib header files from include/stdlib to include/lib/stdlib for
consistency with other library headers.
* Fix checkpatch paths to continue excluding stdlib files.
* Create stdlib.mk to define the stdlib source files and include directories.
* Include stdlib.mk from the top level Makefile.
* Update stdlib header path in the fip_create Makefile.
* Update porting-guide.md with the new paths.

Change-Id: Ia92c2dc572e9efb54a783e306b5ceb2ce24d27fa

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_exceptions.S
/rk3399_ARM-atf/common/aarch64/early_exceptions.S
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/ccn/ccn.c
/rk3399_ARM-atf/drivers/arm/ccn/ccn_private.h
/rk3399_ARM-atf/drivers/delay_timer/delay_timer.c
/rk3399_ARM-atf/drivers/delay_timer/generic_delay_timer.c
/rk3399_ARM-atf/drivers/emmc/emmc.c
/rk3399_ARM-atf/drivers/gpio/gpio.c
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/common/asm_macros.S
/rk3399_ARM-atf/include/drivers/arm/ccn.h
/rk3399_ARM-atf/include/drivers/emmc.h
/rk3399_ARM-atf/include/drivers/generic_delay_timer.h
/rk3399_ARM-atf/include/drivers/gpio.h
/rk3399_ARM-atf/include/drivers/io/io_block.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/lib/stdlib/assert.h
/rk3399_ARM-atf/include/lib/stdlib/inttypes.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_inttypes.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_limits.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_stdint.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_types.h
/rk3399_ARM-atf/include/lib/stdlib/stddef.h
/rk3399_ARM-atf/include/lib/stdlib/stdio.h
/rk3399_ARM-atf/include/lib/stdlib/stdlib.h
/rk3399_ARM-atf/include/lib/stdlib/string.h
/rk3399_ARM-atf/include/lib/stdlib/strings.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_null.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_stdint.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_timespec.h
/rk3399_ARM-atf/include/lib/stdlib/sys/_types.h
/rk3399_ARM-atf/include/lib/stdlib/sys/cdefs.h
/rk3399_ARM-atf/include/lib/stdlib/sys/ctype.h
/rk3399_ARM-atf/include/lib/stdlib/sys/errno.h
/rk3399_ARM-atf/include/lib/stdlib/sys/limits.h
/rk3399_ARM-atf/include/lib/stdlib/sys/stdarg.h
/rk3399_ARM-atf/include/lib/stdlib/sys/stdint.h
/rk3399_ARM-atf/include/lib/stdlib/sys/timespec.h
/rk3399_ARM-atf/include/lib/stdlib/sys/types.h
/rk3399_ARM-atf/include/lib/stdlib/sys/uuid.h
/rk3399_ARM-atf/include/lib/stdlib/time.h
/rk3399_ARM-atf/include/lib/stdlib/xlocale/_strings.h
/rk3399_ARM-atf/include/lib/stdlib/xlocale/_time.h
/rk3399_ARM-atf/include/plat/common/platform.h
stdlib/stdlib.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_ccn.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv2.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3_legacy.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.h
/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/mediatek/common/mtk_sip_svc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/platform_common.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/crypt/crypt.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/crypt/crypt.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mt8173_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_private.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_sip_calls.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/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/t210/plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rockchip/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/pmu/pmu_com.h
/rk3399_ARM-atf/plat/rockchip/common/include/plat_params.h
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.h
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram_cpus_on.S
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/rk3368_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/gpio/rk3399_gpio.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.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/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
/rk3399_ARM-atf/tools/fip_create/Makefile
/rk3399_ARM-atf/tools/fip_create/fip_create.c
2460ac1809-Feb-2016 Yatharth Kochar <yatharth.kochar@arm.com>

Add support for ARM Cortex-A73 MPCore Processor

This patch adds ARM Cortex-A73 MPCore Processor support
in the CPU specific operations framework. It also includes
this support for the Base FVP port.

Add support for ARM Cortex-A73 MPCore Processor

This patch adds ARM Cortex-A73 MPCore Processor support
in the CPU specific operations framework. It also includes
this support for the Base FVP port.

Change-Id: I0e26b594f2ec1d28eb815db9810c682e3885716d

show more ...


/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/delay_timer/delay_timer.c
/rk3399_ARM-atf/drivers/delay_timer/generic_delay_timer.c
/rk3399_ARM-atf/drivers/emmc/emmc.c
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/drivers/emmc.h
/rk3399_ARM-atf/include/drivers/generic_delay_timer.h
/rk3399_ARM-atf/include/drivers/io/io_block.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a73.h
/rk3399_ARM-atf/include/plat/common/platform.h
cpus/aarch64/cortex_a73.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv2.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3_legacy.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.h
/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/mediatek/common/mtk_sip_svc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/platform_common.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/crypt/crypt.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/crypt/crypt.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mt8173_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_private.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_sip_calls.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/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/t210/plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rockchip/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/pmu/pmu_com.h
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.h
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram_cpus_on.S
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/rk3368_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.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/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
/rk3399_ARM-atf/tools/fip_create/fip_create.c
aa447b9c22-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Fix computation of L1 bitmask in the translation table lib

This patch fixes the computation of the bitmask used to isolate
the level 1 field of a virtual address. The whole computation needs
to work

Fix computation of L1 bitmask in the translation table lib

This patch fixes the computation of the bitmask used to isolate
the level 1 field of a virtual address. The whole computation needs
to work on 64-bit values to produce the correct bitmask value.
XLAT_TABLE_ENTRIES_MASK being a C constant, it is a 32-bit value
so it needs to be extended to a 64-bit value before it takes part
in any other computation.

This patch fixes this bug by casting XLAT_TABLE_ENTRIES_MASK as
an unsigned long long.

Note that this bug doesn't manifest itself in practice because
address spaces larger than 39 bits are not yet supported in the
Trusted Firmware.

Change-Id: I955fd263ecb691ca94b29b9c9f576008ce1d87ee

show more ...

7607204c22-Apr-2016 danh-arm <dan.handley@arm.com>

Merge pull request #601 from sandrine-bailleux-arm/sb/a57-errata-workarounds

Cortex-A57 errata workarounds

adeecf9221-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Add support for Cortex-A57 erratum 833471 workaround

Change-Id: I86ac81ffd7cd094ce68c4cceb01c16563671a063

0728886514-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Add support for Cortex-A57 erratum 826977 workaround

Change-Id: Icaacd19c4cef9c10d02adcc2f84a4d7c97d4bcfa

0b77197b14-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Add support for Cortex-A57 erratum 829520 workaround

Change-Id: Ia2ce8aa752efb090cfc734c1895c8f2539e82439

a8b1c76914-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Add support for Cortex-A57 erratum 828024 workaround

Change-Id: I632a8c5bb517ff89c69268e865be33101059be7d

df22d60214-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Add support for Cortex-A57 erratum 826974 workaround

Change-Id: I45641551474f4c58c638aff8c42c0ab9a8ec78b4

097b787a14-Apr-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Fix wording in cpu-ops.mk comments

The CPU errata build flags don't enable errata, they enable errata
workarounds.

Change-Id: Ica65689d1205fc54eee9081a73442144b973400f

e1ea929030-Mar-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Limit support for region overlaps in xlat_tables

The only case in which regions can now overlap is if they are
identity mapped or they have the same virtual to physical address
offset (identity mapp

Limit support for region overlaps in xlat_tables

The only case in which regions can now overlap is if they are
identity mapped or they have the same virtual to physical address
offset (identity mapping is just a particular case of the latter).
They must overlap completely (i.e. one of them must be completely
inside the other one) and not cover the same area.

This allow future enhancements to the xlat_tables library without
having to support unnecessarily complex edge cases.

Outer regions are now sorted by mmap_add_region() before inner
regions with the same base virtual address for consistency: all
regions contained inside another one must be placed after the outer
one in the list.

If an inner region has the same attributes as the outer ones it will
be merged when creating the tables with init_xlation_table(). This
cannot be done as regions are added because there may be cases where
adding a region makes previously mergeable regions no longer
mergeable.

If the attributes of an inner region are different than the outer
region, new pages will be generated regardless of how "restrictive"
they are. For example, RO memory is more restrictive than RW. The
old implementation would give priority to RO if there is an overlap,
the new one doesn't.

NOTE: THIS IS THEORETICALLY A COMPATABILITY BREAK FOR PLATFORMS THAT
USE THE XLAT_TABLES LIBRARY IN AN UNEXPECTED WAY. PLEASE RAISE A
TF-ISSUE IF YOUR PLATFORM IS AFFECTED.

Change-Id: I75fba5cf6db627c2ead70da3feb3cc648c4fe2af

show more ...

3ca9928d22-Mar-2016 Soby Mathew <soby.mathew@arm.com>

Refactor the xlat_tables library code

The AArch32 long descriptor format and the AArch64 descriptor format
correspond to each other which allows possible sharing of xlat_tables
library code between

Refactor the xlat_tables library code

The AArch32 long descriptor format and the AArch64 descriptor format
correspond to each other which allows possible sharing of xlat_tables
library code between AArch64 and AArch32. This patch refactors the
xlat_tables library code to seperate the common functionality from
architecture specific code. Prior to this patch, all of the xlat_tables
library code were in `lib/aarch64/xlat_tables.c` file. The refactored code
is now in `lib/xlat_tables/` directory. The AArch64 specific programming
for xlat_tables is in `lib/xlat_tables/aarch64/xlat_tables.c` and the rest
of the code common to AArch64 and AArch32 is in
`lib/xlat_tables/xlat_tables_common.c`. Also the data types used in
xlat_tables library APIs are reworked to make it compatible between AArch64
and AArch32.

The `lib/aarch64/xlat_tables.c` file now includes the new xlat_tables
library files to retain compatibility for existing platform ports.
The macros related to xlat_tables library are also moved from
`include/lib/aarch64/arch.h` to the header `include/lib/xlat_tables.h`.

NOTE: THE `lib/aarch64/xlat_tables.c` FILE IS DEPRECATED AND PLATFORM PORTS
ARE EXPECTED TO INCLUDE THE NEW XLAT_TABLES LIBRARY FILES IN THEIR MAKEFILES.

Change-Id: I3d17217d24aaf3a05a4685d642a31d4d56255a0f

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/acknowledgements.md
/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/context_mgmt.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/plat/xilinx-zynqmp.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/tzc/tzc400.c
/rk3399_ARM-atf/drivers/arm/tzc/tzc_common_private.c
/rk3399_ARM-atf/drivers/arm/tzc/tzc_dmc500.c
/rk3399_ARM-atf/drivers/arm/tzc400/tzc400.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_x509_parser.c
/rk3399_ARM-atf/drivers/auth/tbbr/tbbr_cot.c
/rk3399_ARM-atf/drivers/cadence/uart/cdns_console.S
/rk3399_ARM-atf/include/common/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/arm/tzc_common.h
/rk3399_ARM-atf/include/drivers/arm/tzc_dmc500.h
/rk3399_ARM-atf/include/drivers/auth/auth_common.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables.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/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/plat/arm/soc/common/soc_css_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
aarch64/xlat_tables.c
xlat_tables/aarch64/xlat_tables.c
xlat_tables/xlat_tables_common.c
xlat_tables/xlat_tables_private.h
/rk3399_ARM-atf/make_helpers/build_env.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/cygwin.mk
/rk3399_ARM-atf/make_helpers/msys.mk
/rk3399_ARM-atf/make_helpers/plat_helpers.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/make_helpers/unix.mk
/rk3399_ARM-atf/make_helpers/windows.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.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_tzc400.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc_dmc500.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mt8173_def.h
/rk3399_ARM-atf/plat/rockchip/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rockchip/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/pmu/pmu_com.h
/rk3399_ARM-atf/plat/rockchip/common/include/plat_macros.S
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/plat_delay_timer.c
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/common/plat_topology.c
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.c
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.h
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram_cpus_on.S
/rk3399_ARM-atf/plat/rockchip/common/rockchip_gicv2.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_gicv3.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/ddr/ddr_rk3368.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/ddr/ddr_rk3368.h
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.h
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3368/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/rk3368_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.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/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_helpers.S
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_macros.S
/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_topology.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_zynqmp.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_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_common.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/pm_service/pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp-zynqmp.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_private.h
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/cert_create/include/ext.h
/rk3399_ARM-atf/tools/cert_create/src/main.c
/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/fip_create/Makefile
/rk3399_ARM-atf/tools/fip_create/fip_create.c
f33fbb2f31-Mar-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Remove xlat_helpers.c

lib/aarch64/xlat_helpers.c defines helper functions to build
translation descriptors, but no common code or upstream platform
port uses them. As the rest of the xlat_tables cod

Remove xlat_helpers.c

lib/aarch64/xlat_helpers.c defines helper functions to build
translation descriptors, but no common code or upstream platform
port uses them. As the rest of the xlat_tables code evolves, there
may be conflicts with these helpers, therefore this code should be
removed.

Change-Id: I9f5be99720f929264818af33db8dada785368711

show more ...

1319e7b121-Mar-2016 Soby Mathew <soby.mathew@arm.com>

Make cpu operations warning a VERBOSE print

The assembler helper function `print_revision_warning` is used when a
CPU specific operation is enabled in the debug build (e.g. an errata
workaround) but

Make cpu operations warning a VERBOSE print

The assembler helper function `print_revision_warning` is used when a
CPU specific operation is enabled in the debug build (e.g. an errata
workaround) but doesn't apply to the executing CPU's revision/part number.
However, in some cases the system integrator may want a single binary to
support multiple platforms with different IP versions, only some of which
contain a specific erratum. In this case, the warning can be emitted very
frequently when CPUs are being powered on/off.

This patch modifies this warning print behaviour so that it is emitted only
when LOG_LEVEL >= LOG_LEVEL_VERBOSE. The `debug.h` header file now contains
guard macros so that it can be included in assembly code.

Change-Id: Ic6e7a07f128dcdb8498a5bfdae920a8feeea1345

show more ...


/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2u/aarch64/bl2u_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_exceptions.S
/rk3399_ARM-atf/common/aarch64/debug.S
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/drivers/io/io_memmap.c
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv2legacy-psci.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2-psci.dtb
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2legacy-psci.dtb
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dtb
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dts
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/common/el3_common_macros.S
/rk3399_ARM-atf/include/plat/common/platform.h
cpus/aarch64/cortex_a53.S
cpus/aarch64/cortex_a57.S
cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/juno/aarch64/juno_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/platform_common.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/rtc/rtc.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mt8173_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_private.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
a25648e011-Mar-2016 danh-arm <dan.handley@arm.com>

Merge pull request #542 from sandrine-bailleux-arm/km/pt-zero

Initialize all translation table entries

a34f3bf211-Mar-2016 danh-arm <dan.handley@arm.com>

Merge pull request #538 from sandrine-bailleux-arm/sb/extend-memory-types

Extend memory attributes to map non-cacheable memory

2af926dd11-Feb-2016 Kristina Martsenko <kristina.martsenko@arm.com>

Initialize all translation table entries

The current translation table code maps in a series of regions, zeroing
the unmapped table entries before and in between the mapped regions. It
doesn't, howe

Initialize all translation table entries

The current translation table code maps in a series of regions, zeroing
the unmapped table entries before and in between the mapped regions. It
doesn't, however, zero the unmapped entries after the last mapped
region, leaving those entries at whatever value that memory has
initially.

This is bad because those values can look like valid translation table
entries, pointing to valid physical addresses. The CPU is allowed to do
speculative reads from any such addresses. If the addresses point to
device memory, the results can be unpredictable.

This patch zeroes the translation table entries following the last
mapped region, ensuring all table entries are either valid or zero
(invalid).

In addition, it limits the value of ADDR_SPACE_SIZE to those allowed by
the architecture and supported by the current code (see D4.2.5 in the
Architecture Reference Manual). This simplifies this patch a lot and
ensures existing code doesn't do unexpected things.

Change-Id: Ic28b6c3f89d73ef58fa80319a9466bb2c7131c21

show more ...


/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/ccn/ccn.c
/rk3399_ARM-atf/drivers/arm/ccn/ccn_private.h
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common.c
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common_private.h
/rk3399_ARM-atf/drivers/arm/gic/gic_v2.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/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_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/drivers/arm/pl061/pl061_gpio.c
/rk3399_ARM-atf/drivers/gpio/gpio.c
/rk3399_ARM-atf/include/drivers/arm/gic_common.h
/rk3399_ARM-atf/include/drivers/arm/pl061_gpio.h
/rk3399_ARM-atf/include/drivers/gpio.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/aarch64/arm_macros.S
/rk3399_ARM-atf/include/plat/arm/common/aarch64/cci_macros.S
/rk3399_ARM-atf/include/plat/arm/common/arm_config.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_def.h
aarch64/xlat_tables.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl31_setup.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_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat_macros.S
/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/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_topology.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/tsp/tsp-juno.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_cci.c
/rk3399_ARM-atf/plat/arm/common/arm_ccn.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_pm.c
/rk3399_ARM-atf/plat/arm/common/arm_topology.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/css/common/aarch64/css_helpers.S
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_mhu.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/arm/css/common/css_scp_bootloader.c
/rk3399_ARM-atf/plat/arm/css/common/css_scpi.c
/rk3399_ARM-atf/plat/arm/css/common/css_scpi.h
/rk3399_ARM-atf/plat/arm/css/common/css_topology.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/gpio/gpio.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
5f65497501-Mar-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Extend memory attributes to map non-cacheable memory

At the moment, the memory translation library allows to create memory
mappings of 2 types:

- Device nGnRE memory (named MT_DEVICE in the librar

Extend memory attributes to map non-cacheable memory

At the moment, the memory translation library allows to create memory
mappings of 2 types:

- Device nGnRE memory (named MT_DEVICE in the library);

- Normal, Inner Write-back non-transient, Outer Write-back
non-transient memory (named MT_MEMORY in the library).

As a consequence, the library code treats the memory type field as a
boolean: everything that is not device memory is normal memory and
vice-versa.

In reality, the ARMv8 architecture allows up to 8 types of memory to
be used at a single time for a given exception level. This patch
reworks the memory attributes such that the memory type is now defined
as an integer ranging from 0 to 7 instead of a boolean. This makes it
possible to extend the list of memory types supported by the memory
translation library.

The priority system dictating memory attributes for overlapping
memory regions has been extended to cope with these changes but the
algorithm at its core has been preserved. When a memory region is
re-mapped with different memory attributes, the memory translation
library examines the former attributes and updates them only if
the new attributes create a more restrictive mapping. This behaviour
is unchanged, only the manipulation of the value has been modified
to cope with the new format.

This patch also introduces a new type of memory mapping in the memory
translation library: MT_NON_CACHEABLE, meaning Normal, Inner
Non-cacheable, Outer Non-cacheable memory. This can be useful to map
a non-cacheable memory region, such as a DMA buffer for example.

The rules around the Execute-Never (XN) bit in a translation table
for an MT_NON_CACHEABLE memory mapping have been aligned on the rules
used for MT_MEMORY mappings:
- If the memory is read-only then it is also executable (XN = 0);
- If the memory is read-write then it is not executable (XN = 1).

The shareability field for MT_NON_CACHEABLE mappings is always set as
'Outer-Shareable'. Note that this is not strictly needed since
shareability is only relevant if the memory is a Normal Cacheable
memory type, but this is to align with the existing device memory
mappings setup. All Device and Normal Non-cacheable memory regions
are always treated as Outer Shareable, regardless of the translation
table shareability attributes.

This patch also removes the 'ATTR_SO' and 'ATTR_SO_INDEX' #defines.
They were introduced to map memory as Device nGnRnE (formerly called
"Strongly-Ordered" memory in the ARMv7 architecture) but were not
used anywhere in the code base. Removing them avoids any confusion
about the memory types supported by the library.

Upstream platforms do not currently use the MT_NON_CACHEABLE memory
type.

NOTE: THIS CHANGE IS SOURCE COMPATIBLE BUT PLATFORMS THAT RELY ON THE
BINARY VALUES OF `mmap_attr_t` or the `attr` argument of
`mmap_add_region()` MAY BE BROKEN.

Change-Id: I717d6ed79b4c845a04e34132432f98b93d661d79

show more ...


/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/ccn/ccn.c
/rk3399_ARM-atf/drivers/arm/ccn/ccn_private.h
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common.c
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common_private.h
/rk3399_ARM-atf/drivers/arm/gic/gic_v2.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/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_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/drivers/arm/pl061/pl061_gpio.c
/rk3399_ARM-atf/drivers/gpio/gpio.c
/rk3399_ARM-atf/include/drivers/arm/gic_common.h
/rk3399_ARM-atf/include/drivers/arm/pl061_gpio.h
/rk3399_ARM-atf/include/drivers/gpio.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/xlat_tables.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/aarch64/arm_macros.S
/rk3399_ARM-atf/include/plat/arm/common/aarch64/cci_macros.S
/rk3399_ARM-atf/include/plat/arm/common/arm_config.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_def.h
aarch64/xlat_tables.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl31_setup.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_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat_macros.S
/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/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_topology.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/tsp/tsp-juno.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_cci.c
/rk3399_ARM-atf/plat/arm/common/arm_ccn.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_pm.c
/rk3399_ARM-atf/plat/arm/common/arm_topology.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/css/common/aarch64/css_helpers.S
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_mhu.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/arm/css/common/css_scp_bootloader.c
/rk3399_ARM-atf/plat/arm/css/common/css_scpi.c
/rk3399_ARM-atf/plat/arm/css/common/css_scpi.h
/rk3399_ARM-atf/plat/arm/css/common/css_topology.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/gpio/gpio.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
191a008826-Feb-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Compile stdlib C files individually

All C files of stdlib were included into std.c, which was the file
that the Makefile actually compiled. This is a poor way of compiling
all the files and, while i

Compile stdlib C files individually

All C files of stdlib were included into std.c, which was the file
that the Makefile actually compiled. This is a poor way of compiling
all the files and, while it may work fine most times, it's
discouraged.

In this particular case, each C file included its own headers, which
were later included into std.c. For example, this caused problems
because a duplicated typedef of u_short in both subr_prf.c and
types.h. While that may require an issue on its own, this kind of
problems are avoided if all C files are as independent as possible.

Change-Id: I9a7833fd2933003f19a5d7db921ed8542ea2d04a

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/ccn/ccn.c
/rk3399_ARM-atf/drivers/arm/ccn/ccn_private.h
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common.c
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common_private.h
/rk3399_ARM-atf/drivers/arm/gic/gic_v2.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/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_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/drivers/arm/pl061/pl061_gpio.c
/rk3399_ARM-atf/drivers/gpio/gpio.c
/rk3399_ARM-atf/include/drivers/arm/gic_common.h
/rk3399_ARM-atf/include/drivers/arm/pl061_gpio.h
/rk3399_ARM-atf/include/drivers/gpio.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/aarch64/arm_macros.S
/rk3399_ARM-atf/include/plat/arm/common/aarch64/cci_macros.S
/rk3399_ARM-atf/include/plat/arm/common/arm_config.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_def.h
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl31_setup.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_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat_macros.S
/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/plat_macros.S
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_topology.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/tsp/tsp-juno.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_cci.c
/rk3399_ARM-atf/plat/arm/common/arm_ccn.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_pm.c
/rk3399_ARM-atf/plat/arm/common/arm_topology.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/css/common/aarch64/css_helpers.S
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_mhu.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/arm/css/common/css_scp_bootloader.c
/rk3399_ARM-atf/plat/arm/css/common/css_scpi.c
/rk3399_ARM-atf/plat/arm/css/common/css_scpi.h
/rk3399_ARM-atf/plat/arm/css/common/css_topology.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/gpio/gpio.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
c66fad9329-Jan-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Cortex-Axx: Unconditionally apply CPU reset operations

In the Cortex-A35/A53/A57 CPUs library code, some of the CPU specific
reset operations are skipped if they have already been applied in a
previ

Cortex-Axx: Unconditionally apply CPU reset operations

In the Cortex-A35/A53/A57 CPUs library code, some of the CPU specific
reset operations are skipped if they have already been applied in a
previous invocation of the reset handler. This precaution is not
required, as all these operations can be reapplied safely.

This patch removes the unneeded test-before-set instructions in
the reset handler for these CPUs.

Change-Id: Ib175952c814dc51f1b5125f76ed6c06a22b95167

show more ...

1...<<81828384858687888990>>...93