History log of /rk3399_ARM-atf/include/plat/ (Results 576 – 600 of 690)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
91fad65514-Jun-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

ARM CSS platforms: Map flash as execute-never by default

On ARM CSS platforms, the whole flash used to be mapped as executable.
This is not required, given that the flash is used to store the BL1
an

ARM CSS platforms: Map flash as execute-never by default

On ARM CSS platforms, the whole flash used to be mapped as executable.
This is not required, given that the flash is used to store the BL1
and FIP images and:

- The FIP is not executed in place, its images are copied to RAM
and executed from there.

- BL1 is executed in place from flash but only its code needs to be
mapped as executable and platform code takes care of re-mapping
BL1's read-only section as executable.

Therefore, this patch now maps the flash as non-executable by default
on these platforms. This increases security by restricting the
executable region to what is strictly needed.

This patch also adds some comments to clarify the memory mapping
attributes on these platforms.

Change-Id: I4db3c145508bea1f43fbe0f6dcd551e1aec1ecd3

show more ...

0af559a808-Jul-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

ARM platforms: Add support for SEPARATE_CODE_AND_RODATA

The arm_setup_page_tables() function used to expect a single set of
addresses defining the extents of the whole read-only section, code
and re

ARM platforms: Add support for SEPARATE_CODE_AND_RODATA

The arm_setup_page_tables() function used to expect a single set of
addresses defining the extents of the whole read-only section, code
and read-only data mixed up, which was mapped as executable.

This patch changes this behaviour. arm_setup_page_tables() now
expects 2 separate sets of addresses:

- the extents of the code section;
- the extents of the read-only data section.

The code is mapped as executable, whereas the data is mapped as
execute-never. New #defines have been introduced to identify the
extents of the code and the read-only data section. Given that
all BL images except BL1 share the same memory layout and linker
script structure, these #defines are common across these images.
The slight memory layout differences in BL1 have been handled by
providing values specific to BL1.

Note that this patch also affects the Xilinx platform port, which
uses the arm_setup_page_tables() function. It has been updated
accordingly, such that the memory mappings on this platform are
unchanged. This is achieved by passing null values as the extents
of the read-only data section so that it is ignored. As a result,
the whole read-only section is still mapped as executable.

Fixes ARM-software/tf-issues#85

Change-Id: I1f95865c53ce6e253a01286ff56e0aa1161abac5

show more ...

ed81f3eb05-Jul-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Introduce utils.h header file

This patch introduces a new header file: include/lib/utils.h.
Its purpose is to provide generic macros and helper functions that
are independent of any BL image, archit

Introduce utils.h header file

This patch introduces a new header file: include/lib/utils.h.
Its purpose is to provide generic macros and helper functions that
are independent of any BL image, architecture, platform and even
not specific to Trusted Firmware.

For now, it contains only 2 macros: ARRAY_SIZE() and
IS_POWER_OF_TWO(). These were previously defined in bl_common.h and
xlat_tables.c respectively.

bl_common.h includes utils.h to retain compatibility for platforms
that relied on bl_common.h for the ARRAY_SIZE() macro. Upstream
platform ports that use this macro have been updated to include
utils.h.

Change-Id: I960450f54134f25d1710bfbdc4184f12c049a9a9

show more ...

b5fa656318-May-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Introduce arm_setup_page_tables() function

This patch introduces the arm_setup_page_tables() function to
set up page tables on ARM platforms. It replaces the
arm_configure_mmu_elx() functions and do

Introduce arm_setup_page_tables() function

This patch introduces the arm_setup_page_tables() function to
set up page tables on ARM platforms. It replaces the
arm_configure_mmu_elx() functions and does the same thing except
that it doesn't enable the MMU at the end. The idea is to reduce
the amount of per-EL code that is generated by the C preprocessor
by splitting the memory regions definitions and page tables creation
(which is generic) from the MMU enablement (which is the only per-EL
configuration).

As a consequence, the call to the enable_mmu_elx() function has been
moved up into the plat_arch_setup() hook. Any other ARM standard
platforms that use the functions `arm_configure_mmu_elx()` must be
updated.

Change-Id: I6f12a20ce4e5187b3849a8574aac841a136de83d

show more ...


/rk3399_ARM-atf/.checkpatch.conf
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_context_mgmt.c
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/common/aarch64/context.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/context_mgmt.c
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/plat/qemu.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/io/io_dummy.c
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/common/context.h
/rk3399_ARM-atf/include/drivers/io/io_dummy.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a73.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/pmf.h
/rk3399_ARM-atf/include/lib/pmf_helpers.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
arm/common/plat_arm.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a73.S
/rk3399_ARM-atf/lib/libfdt/fdt.c
/rk3399_ARM-atf/lib/libfdt/fdt_addresses.c
/rk3399_ARM-atf/lib/libfdt/fdt_empty_tree.c
/rk3399_ARM-atf/lib/libfdt/fdt_ro.c
/rk3399_ARM-atf/lib/libfdt/fdt_rw.c
/rk3399_ARM-atf/lib/libfdt/fdt_strerror.c
/rk3399_ARM-atf/lib/libfdt/fdt_sw.c
/rk3399_ARM-atf/lib/libfdt/fdt_wip.c
/rk3399_ARM-atf/lib/libfdt/libfdt.mk
/rk3399_ARM-atf/lib/libfdt/libfdt_internal.h
/rk3399_ARM-atf/lib/pmf/pmf_main.c
/rk3399_ARM-atf/lib/pmf/pmf_smc.c
/rk3399_ARM-atf/lib/stdlib/stdlib.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/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/fvp/fvp_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/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/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/qemu/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/dt.c
/rk3399_ARM-atf/plat/qemu/include/plat_macros.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_common.c
/rk3399_ARM-atf/plat/qemu/qemu_gic.c
/rk3399_ARM-atf/plat/qemu/qemu_io_storage.c
/rk3399_ARM-atf/plat/qemu/qemu_pm.c
/rk3399_ARM-atf/plat/qemu/qemu_private.h
/rk3399_ARM-atf/plat/qemu/topology.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/spd/opteed/opteed_main.c
/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
/rk3399_ARM-atf/tools/fip_create/Makefile
04943d3324-May-2016 Soby Mathew <soby.mathew@arm.com>

Allow dynamic overriding of ROTPK verification

A production ROM with TBB enabled must have the ability to boot test software
before a real ROTPK is deployed (e.g. manufacturing mode). Previously the

Allow dynamic overriding of ROTPK verification

A production ROM with TBB enabled must have the ability to boot test software
before a real ROTPK is deployed (e.g. manufacturing mode). Previously the
function plat_get_rotpk_info() must return a valid ROTPK for TBB to succeed.
This patch adds an additional bit `ROTPK_NOT_DEPLOYED` in the output `flags`
parameter from plat_get_rotpk_info(). If this bit is set, then the ROTPK
in certificate is used without verifying against the platform value.

Fixes ARM-software/tf-issues#381

Change-Id: Icbbffab6bff8ed76b72431ee21337f550d8fdbbb

show more ...


/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/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/auth/auth_mod.c
/rk3399_ARM-atf/drivers/delay_timer/delay_timer.c
/rk3399_ARM-atf/drivers/delay_timer/generic_delay_timer.c
/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/drivers/arm/ccn.h
/rk3399_ARM-atf/include/drivers/generic_delay_timer.h
/rk3399_ARM-atf/include/drivers/gpio.h
common/platform.h
/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/mediatek/mt8173/aarch64/platform_common.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.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/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/platform_common.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/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
d448639118-May-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Add 32 bit version of plat_get_syscnt_freq

Added plat_get_syscnt_freq2, which is a 32 bit variant of the 64 bit
plat_get_syscnt_freq. The old one has been flagged as deprecated.
Common code has been

Add 32 bit version of plat_get_syscnt_freq

Added plat_get_syscnt_freq2, which is a 32 bit variant of the 64 bit
plat_get_syscnt_freq. The old one has been flagged as deprecated.
Common code has been updated to use this new version. Porting guide
has been updated.

Change-Id: I9e913544926c418970972bfe7d81ee88b4da837e

show more ...


/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/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/io/io_block.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a57.h
common/platform.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.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/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_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/rockchip/common/aarch64/plat_helpers.S
/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/include/platform_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/rk3399_def.h
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_on.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
/rk3399_ARM-atf/tools/fip_create/fip_create.c
c073fda114-Apr-2016 Yatharth Kochar <yatharth.kochar@arm.com>

Move `plat_get_syscnt_freq()` to arm_common.c

This patch moves the definition for `plat_get_syscnt_freq()`
from arm_bl31_setup.c to arm_common.c. This could be useful
in case a delay timer needs to

Move `plat_get_syscnt_freq()` to arm_common.c

This patch moves the definition for `plat_get_syscnt_freq()`
from arm_bl31_setup.c to arm_common.c. This could be useful
in case a delay timer needs to be installed based on the
generic timer in other BLs.
This patch also modifies the return type for this function
from `uint64_t` to `unsigned long long` within ARM and other
platform files.

Change-Id: Iccdfa811948e660d4fdcaae60ad1d700e4eda80d

show more ...

9ff67fa626-Nov-2015 Gerald Lejeune <gerald.lejeune@st.com>

Dump platform-defined regs in crash reporting

It is up to the platform to implement the new plat_crash_print_regs macro to
report all relevant platform registers helpful for troubleshooting.

plat_c

Dump platform-defined regs in crash reporting

It is up to the platform to implement the new plat_crash_print_regs macro to
report all relevant platform registers helpful for troubleshooting.

plat_crash_print_regs merges or calls previously defined plat_print_gic_regs
and plat_print_interconnect_regs macros for each existing platforms.

NOTE: THIS COMMIT REQUIRES ALL PLATFORMS THAT ENABLE THE `CRASH_REPORTING`
BUILD FLAG TO MIGRATE TO USE THE NEW `plat_crash_print_regs()` MACRO. BY
DEFAULT, `CRASH_REPORTING` IS ENABLED IN DEBUG BUILDS FOR ALL PLATFORMS.

Fixes: arm-software/tf-issues#373

Signed-off-by: Gerald Lejeune <gerald.lejeune@st.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/acknowledgements.md
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/common/bl_common.c
/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/cadence/uart/cdns_console.S
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/arm/tzc_dmc500.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/xlat_tables.h
arm/common/aarch64/cci_macros.S
arm/css/common/aarch64/css_macros.S
/rk3399_ARM-atf/lib/aarch64/xlat_tables.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/xlat_tables_private.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat_macros.S
/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/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/mtcmos/mtcmos.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_macros.S
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/include/plat_macros.S
/rk3399_ARM-atf/plat/rockchip/common/include/plat_macros.S
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/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
b2c9687f08-Apr-2016 danh-arm <dan.handley@arm.com>

Merge pull request #586 from antonio-nino-diaz-arm/an/spd-bl32

Remove BL32_BASE when building without SPD for FVP

81d139d505-Apr-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Remove BL32_BASE when building without SPD for FVP

Previously, when building TF without SPD support, BL2 tried to load a
BL32 image from the FIP and fails to find one, which resulted on
warning mess

Remove BL32_BASE when building without SPD for FVP

Previously, when building TF without SPD support, BL2 tried to load a
BL32 image from the FIP and fails to find one, which resulted on
warning messages on the console. Even if there is a BL32 image in the
FIP it shouldn't be loaded because there is no way to transfer
control to the Secure Payload without SPD support.

The Makefile has been modified to pass a define of the form
SPD_${SPD} to the source code the same way it's done for PLAT. The
define SPD_none is then used to undefine BL32_BASE when BL32 is not
used to prevent BL2 from trying to load a BL32 image and failing,
thus removing the warning messages mentioned above.

Fixes ARM-software/tf-issues#287

Change-Id: Ifeb6f1c26935efb76afd353fea88e87ba09e9658

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
arm/common/arm_def.h
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.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
105b59e707-Apr-2016 danh-arm <dan.handley@arm.com>

Merge pull request #575 from soby-mathew/sm/new_tzc_driver

Refactor the TZC driver and add DMC-500 driver

5d29c76007-Apr-2016 danh-arm <dan.handley@arm.com>

Merge pull request #572 from jcastillo-arm/jc/tbb_nvcounter

TBB NVcounter support


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/porting-guide.md
/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/include/drivers/auth/auth_common.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
arm/soc/common/soc_css_def.h
common/platform.h
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.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/fvp_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/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/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
a0ad601923-Mar-2016 Soby Mathew <soby.mathew@arm.com>

Modify return type of plat_get_ns_image_entrypoint()

This patch modifies the return type of the platform API
`plat_get_ns_image_entrypoint()` from `unsigned long` to
`uintptr_t` in accordance with t

Modify return type of plat_get_ns_image_entrypoint()

This patch modifies the return type of the platform API
`plat_get_ns_image_entrypoint()` from `unsigned long` to
`uintptr_t` in accordance with the coding guidelines.

Change-Id: Icb4510ca98b706aa4d535fe27e203394184fb4ca

show more ...

618f0fee29-Jan-2016 Vikram Kanigiri <vikram.kanigiri@arm.com>

Add support to program a DMC-500 TZC on ARM platforms

This patch adds support to program TrustZone protection on ARM platforms that
implement a DMC-500. arm_dmc_500.c has been added which implements

Add support to program a DMC-500 TZC on ARM platforms

This patch adds support to program TrustZone protection on ARM platforms that
implement a DMC-500. arm_dmc_500.c has been added which implements the
arm_dmc_tzc_setup() function. This function relies on constants related to TZC
programming that are exported by each platform to program TrustZone protection
using the DMC-500 TrustZone controller driver. This function should be called
from plat_arm_security_setup() which is implemented by each platform.

Change-Id: I5400bdee9e4b29155fd11296a40693d512312f29

show more ...

57f7820126-Feb-2016 Soby Mathew <soby.mathew@arm.com>

Migrate ARM standard platforms to the refactored TZC driver

This patch migrates ARM Standard platforms to the refactored TZC driver.

Change-Id: I2a2f60b645f73e14d8f416740c4551cec87cb1fb


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/bl2_main.c
/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/tzc/tzc400.c
/rk3399_ARM-atf/drivers/arm/tzc/tzc_common_private.c
/rk3399_ARM-atf/drivers/arm/tzc400/tzc400.c
/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/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/arm/tzc_common.h
arm/common/plat_arm.h
arm/css/common/css_def.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/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/arm_tzc400.c
48279d5222-Jan-2016 Juan Castillo <juan.castillo@arm.com>

TBB: add non-volatile counter support

This patch adds support for non-volatile counter authentication to
the Authentication Module. This method consists of matching the
counter values provided in th

TBB: add non-volatile counter support

This patch adds support for non-volatile counter authentication to
the Authentication Module. This method consists of matching the
counter values provided in the certificates with the ones stored
in the platform. If the value from the certificate is lower than
the platform, the boot process is aborted. This mechanism protects
the system against rollback.

The TBBR CoT has been updated to include this method as part of the
authentication process. Two counters are used: one for the trusted
world images and another for the non trusted world images.

** NEW PLATFORM APIs (mandatory when TBB is enabled) **

int plat_get_nv_ctr(void *cookie, unsigned int *nv_ctr);

This API returns the non-volatile counter value stored
in the platform. The cookie in the first argument may be
used to select the counter in case the platform provides
more than one (i.e. TBSA compliant platforms must provide
trusted and non-trusted counters). This cookie is specified
in the CoT.

int plat_set_nv_ctr(void *cookie, unsigned int nv_ctr);

This API sets a new counter value. The cookie may be
used to select the counter to be updated.

An implementation of these new APIs for ARM platforms is also
provided. The values are obtained from the Trusted Non-Volatile
Counters peripheral. The cookie is used to pass the extension OID.
This OID may be interpreted by the platform to know which counter
must return. On Juno, The trusted and non-trusted counter values
have been tied to 31 and 223, respectively, and cannot be modified.

** IMPORTANT **

THIS PATCH BREAKS THE BUILD WHEN TRUSTED_BOARD_BOOT IS ENABLED. THE
NEW PLATFORM APIs INTRODUCED IN THIS PATCH MUST BE IMPLEMENTED IN
ORDER TO SUCCESSFULLY BUILD TF.

Change-Id: Ic943b76b25f2a37f490eaaab6d87b4a8b3cbc89a

show more ...

4518dd9a07-Mar-2016 David Wang <david.wang@arm.com>

Add support to load BL31 in DRAM

This patch adds an option to the ARM common platforms to load BL31 in the
TZC secured DRAM instead of the default secure SRAM.

To enable this feature, set `ARM_BL31

Add support to load BL31 in DRAM

This patch adds an option to the ARM common platforms to load BL31 in the
TZC secured DRAM instead of the default secure SRAM.

To enable this feature, set `ARM_BL31_IN_DRAM` to 1 in build options.
If TSP is present, then setting this option also sets the TSP location
to DRAM and ignores the `ARM_TSP_RAM_LOCATION` build flag.

To use this feature, BL2 platform code must map in the DRAM used by
BL31. The macro ARM_MAP_BL31_SEC_DRAM is provided for this purpose.
Currently, only the FVP BL2 platform code maps in this DRAM.

Change-Id: If5f7cc9deb569cfe68353a174d4caa48acd78d67

show more ...

1c3ea10301-Feb-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Remove all non-configurable dead loops

Added a new platform porting function plat_panic_handler, to allow
platforms to handle unexpected error situations. It must be
implemented in assembly as it ma

Remove all non-configurable dead loops

Added a new platform porting function plat_panic_handler, to allow
platforms to handle unexpected error situations. It must be
implemented in assembly as it may be called before the C environment
is initialized. A default implementation is provided, which simply
spins.

Corrected all dead loops in generic code to call this function
instead. This includes the dead loop that occurs at the end of the
call to panic().

All unnecesary wfis from bl32/tsp/aarch64/tsp_exceptions.S have
been removed.

Change-Id: I67cb85f6112fa8e77bd62f5718efcef4173d8134

show more ...

1a4fdb3626-Feb-2016 danh-arm <dan.handley@arm.com>

Merge pull request #533 from yatharth-arm/yk/genfw-1292

Fix the inconsistencies in bl1_tbbr_image_descs[]

843ddee401-Feb-2016 Yatharth Kochar <yatharth.kochar@arm.com>

Fix the inconsistencies in bl1_tbbr_image_descs[]

This patch fixes inconsistencies in bl1_tbbr_image_descs[]
and miscellaneous fixes in Firmware Update code.

Following are the changes:
* As part of

Fix the inconsistencies in bl1_tbbr_image_descs[]

This patch fixes inconsistencies in bl1_tbbr_image_descs[]
and miscellaneous fixes in Firmware Update code.

Following are the changes:
* As part of the original FWU changes, a `copied_size`
field was added to `image_info_t`. This was a subtle binary
compatibility break because it changed the size of the
`bl31_params_t` struct, which could cause problems if
somebody used different versions of BL2 or BL31, one with
the old `image_info_t` and one with the new version.
This patch put the `copied_size` within the `image_desc_t`.
* EXECUTABLE flag is now stored in `ep_info.h.attr` in place
of `image_info.h.attr`, associating it to an entrypoint.
* The `image_info.image_base` is only relevant for secure
images that are copied from non-secure memory into secure
memory. This patch removes initializing `image_base` for
non secure images in the bl1_tbbr_image_descs[].
* A new macro `SET_STATIC_PARAM_HEAD` is added for populating
bl1_tbbr_image_descs[].ep_info/image_info.h members statically.
The version, image_type and image attributes are now
populated using this new macro.
* Added PLAT_ARM_NVM_BASE and PLAT_ARM_NVM_SIZE to avoid direct
usage of V2M_FLASH0_XXX in plat/arm/common/arm_bl1_fwu.c.
* Refactoring of code/macros related to SECURE and EXECUTABLE flags.

NOTE: PLATFORM PORTS THAT RELY ON THE SIZE OF `image_info_t`
OR USE the "EXECUTABLE" BIT WITHIN `image_info_t.h.attr`
OR USE THEIR OWN `image_desc_t` ARRAY IN BL1, MAY BE
BROKEN BY THIS CHANGE. THIS IS CONSIDERED UNLIKELY.

Change-Id: Id4e5989af7bf0ed263d19d3751939da1169b561d

show more ...

9931932b22-Feb-2016 danh-arm <dan.handley@arm.com>

Merge pull request #532 from soby-mathew/vk/configure_mmap_macros

Rationalise MMU and Page table related constants on ARM platforms

c64a044820-Jan-2016 Vikram Kanigiri <vikram.kanigiri@arm.com>

Rationalise MMU and Page table related constants on ARM platforms

`board_arm_def.h` contains multiple definitions of
`PLAT_ARM_MMAP_ENTRIES` and `MAX_XLAT_TABLES` that are optimised for
memory usage

Rationalise MMU and Page table related constants on ARM platforms

`board_arm_def.h` contains multiple definitions of
`PLAT_ARM_MMAP_ENTRIES` and `MAX_XLAT_TABLES` that are optimised for
memory usage depending upon the chosen build configuration. To ease
maintenance of these constants, this patch replaces their multiple
definitions with a single set of definitions that will work on all ARM
platforms.

Platforms can override the defaults with optimal values by enabling the
`ARM_BOARD_OPTIMISE_MMAP` build option. An example has been provided in
the Juno ADP port.

Additionally, `PLAT_ARM_MMAP_ENTRIES` is increased by one to accomodate
future ARM platforms.

Change-Id: I5ba6490fdd1e118cc9cc2d988ad7e9c38492b6f0

show more ...

f62d89ed19-Feb-2016 danh-arm <dan.handley@arm.com>

Merge pull request #531 from soby-mathew/sm/multicluster_fvp

Allow multi cluster topology definitions for ARM platforms

0108047a01-Feb-2016 Soby Mathew <soby.mathew@arm.com>

Allow multi cluster topology definitions for ARM platforms

The common topology description helper funtions and macros for
ARM Standard platforms assumed a dual cluster system. This is not
flexible e

Allow multi cluster topology definitions for ARM platforms

The common topology description helper funtions and macros for
ARM Standard platforms assumed a dual cluster system. This is not
flexible enough to scale to multi cluster platforms. This patch does
the following changes for more flexibility in defining topology:

1. The `plat_get_power_domain_tree_desc()` definition is moved from
`arm_topology.c` to platform specific files, that is `fvp_topology.c`
and `juno_topology.c`. Similarly the common definition of the porting
macro `PLATFORM_CORE_COUNT` in `arm_def.h` is moved to platform
specific `platform_def.h` header.

2. The ARM common layer porting macros which were dual cluster specific
are now removed and a new macro PLAT_ARM_CLUSTER_COUNT is introduced
which must be defined by each ARM standard platform.

3. A new mandatory ARM common layer porting API
`plat_arm_get_cluster_core_count()` is introduced to enable the common
implementation of `arm_check_mpidr()` to validate MPIDR.

4. For the FVP platforms, a new build option `FVP_NUM_CLUSTERS` has been
introduced which allows the user to specify the cluster count to be
used to build the topology tree within Trusted Firmare. This enables
Trusted Firmware to be built for multi cluster FVP models.

Change-Id: Ie7a2e38e5661fe2fdb2c8fdf5641d2b2614c2b6b

show more ...

85df7e4418-Feb-2016 danh-arm <dan.handley@arm.com>

Merge pull request #523 from jcastillo-arm/jc/genfw-791

ARM platforms: rationalise memory attributes of shared memory

1...<<2122232425262728