History log of /rk3399_ARM-atf/include/lib/ (Results 1301 – 1325 of 1421)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7a1b279419-Sep-2016 danh-arm <dan.handley@arm.com>

Merge pull request #702 from jeenu-arm/psci-node-hw-state

Support for PSCI NODE_HW_STATE

28d3d61403-Aug-2016 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

PSCI: Add support for PSCI NODE_HW_STATE API

This patch adds support for NODE_HW_STATE PSCI API by introducing a new
PSCI platform hook (get_node_hw_state). The implementation validates
supplied arg

PSCI: Add support for PSCI NODE_HW_STATE API

This patch adds support for NODE_HW_STATE PSCI API by introducing a new
PSCI platform hook (get_node_hw_state). The implementation validates
supplied arguments, and then invokes this platform-defined hook and
returns its result to the caller. PSCI capabilities are updated
accordingly.

Also updates porting and firmware design guides.

Change-Id: I808e55bdf0c157002a7c104b875779fe50a68a30

show more ...

e69c195615-Sep-2016 davidcunado-arm <david.cunado@arm.com>

Merge pull request #707 from sandrine-bailleux-arm/sb/restore-xlat-defines

Restore some defines in xlat_tables.h

e03f0b0815-Sep-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Restore some defines in xlat_tables.h

Commit e8719552a24 removed some definitions related to translation
tables from the xlat_tables.h header file, based on the assumption
that they weren't used by

Restore some defines in xlat_tables.h

Commit e8719552a24 removed some definitions related to translation
tables from the xlat_tables.h header file, based on the assumption
that they weren't used by any platform. These are actually used by
some partners so this patch restores them.

Fixes ARM-software/tf-issues#425

Change-Id: Idafa5f00bb0bd9c2847b5ae6541cf8db93c7b89a

show more ...

2d84b46e09-Sep-2016 dp-arm <dimitris.papastamos@arm.com>

Ensure PMF service timestamps are properly aligned on a cache line boundary

When using more than a single service in PMF, it is necessary that the
per-service timestamps begin on a cache line bounda

Ensure PMF service timestamps are properly aligned on a cache line boundary

When using more than a single service in PMF, it is necessary that the
per-service timestamps begin on a cache line boundary. Previously it
was possible that two services shared a cache line for their
timestamps. This made it difficult to reason about cache maintenance
operations within a single service and required a global understanding
of how all services operate.

Change-Id: Iacaae5154a7e19ad4107468e56df9ad082ee371c

show more ...

d2e201b408-Sep-2016 dp-arm <dimitris.papastamos@arm.com>

Rename `pmf_calc_timestamp_offset` to `pmf_calc_timestamp_addr`

The macro calculates an absolute address rather than an offset so
rename it to avoid confusion.

Change-Id: I351f73dfd809fd28c0c30d389

Rename `pmf_calc_timestamp_offset` to `pmf_calc_timestamp_addr`

The macro calculates an absolute address rather than an offset so
rename it to avoid confusion.

Change-Id: I351f73dfd809fd28c0c30d38928caf5c5cd1af04

show more ...

c1ff80b111-Jul-2016 Leon Chen <leon.chen@mediatek.com>

Support for Mediatek MT6795 SoC

This patch support single core to boot to Linux kernel
through Trusted Firmware.
It also support 32 bit kernel and 64 bit kernel booting.


/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/common/aarch64/early_exceptions.S
/rk3399_ARM-atf/common/bl_common.c
aarch64/arch_helpers.h
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/plat/mediatek/common/drivers/uart/8250_console.S
/rk3399_ARM-atf/plat/mediatek/common/drivers/uart/uart8250.h
/rk3399_ARM-atf/plat/mediatek/mt6795/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt6795/drivers/timer/mt_cpuxgpt.c
/rk3399_ARM-atf/plat/mediatek/mt6795/drivers/timer/mt_cpuxgpt.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/plat_macros.S
/rk3399_ARM-atf/plat/mediatek/mt6795/include/plat_private.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/power_tracer.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/scu.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/spm.h
/rk3399_ARM-atf/plat/mediatek/mt6795/plat_delay_timer.c
/rk3399_ARM-atf/plat/mediatek/mt6795/plat_mt_gic.c
/rk3399_ARM-atf/plat/mediatek/mt6795/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt6795/plat_sip_svc.c
/rk3399_ARM-atf/plat/mediatek/mt6795/plat_topology.c
/rk3399_ARM-atf/plat/mediatek/mt6795/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt6795/power_tracer.c
/rk3399_ARM-atf/plat/mediatek/mt6795/scu.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
9115b86731-Aug-2016 davidcunado-arm <david.cunado@arm.com>

Merge pull request #690 from soby-mathew/sm/level_sel_xlat

Automatically select initial xlation lookup level

5695cfe715-Aug-2016 dp-arm <dimitris.papastamos@arm.com>

Add assembler helper to calculate PMF timestamp offset

Given the service name and timestamp id, this assembler macro
calculates the offset into a memory region where the per-cpu timestamp
value is l

Add assembler helper to calculate PMF timestamp offset

Given the service name and timestamp id, this assembler macro
calculates the offset into a memory region where the per-cpu timestamp
value is located.

Change-Id: I47f6dfa2a17be182675e2ca0489d6eed42433209

show more ...

afdda57115-Aug-2016 dp-arm <dimitris.papastamos@arm.com>

Move pmf headers to include/lib/pmf

More headers will be needed soon so better to move these to their own
directory to avoid cluttering include/lib.

Change-Id: I6a72dc5b602d6f51954cf60aadd1beb52a26

Move pmf headers to include/lib/pmf

More headers will be needed soon so better to move these to their own
directory to avoid cluttering include/lib.

Change-Id: I6a72dc5b602d6f51954cf60aadd1beb52a268670

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/bl32/sp_min/sp_min_private.h
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/emmc/emmc.c
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/bl32/sp_min/platform_sp_min.h
/rk3399_ARM-atf/include/drivers/emmc.h
pmf/pmf.h
pmf/pmf_helpers.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch32/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_err.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/sp_min-fvp.mk
/rk3399_ARM-atf/plat/arm/board/juno/juno_err.c
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min.mk
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch32/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch32/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram_cpus_on.S
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dcf_code.inc
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.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/pwm/pwm.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pwm/pwm.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/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/tools/fiptool/Makefile
e871955202-Aug-2016 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Automatically select initial xlation lookup level

Instead of hardcoding a level 1 table as the base translation level
table, let the code decide which level is the most appropriate given
the virtual

Automatically select initial xlation lookup level

Instead of hardcoding a level 1 table as the base translation level
table, let the code decide which level is the most appropriate given
the virtual address space size.

As the table granularity is 4 KB, this allows the code to select
level 0, 1 or 2 as base level for AArch64. This way, instead of
limiting the virtual address space width to 39-31 bits, widths of
48-25 bit can be used.

For AArch32, this change allows the code to select level 1 or 2
as the base translation level table and use virtual address space
width of 32-25 bits.

Also removed some unused definitions related to translation tables.

Fixes ARM-software/tf-issues#362

Change-Id: Ie3bb5d6d1a4730a26700b09827c79f37ca3cdb65

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/bl32/sp_min/sp_min_private.h
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/emmc/emmc.c
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/bl32/sp_min/platform_sp_min.h
/rk3399_ARM-atf/include/drivers/emmc.h
aarch32/arch.h
aarch64/arch.h
xlat_tables.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/lib/xlat_tables/aarch32/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/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch32/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_err.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/sp_min-fvp.mk
/rk3399_ARM-atf/plat/arm/board/juno/juno_err.c
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min.mk
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch32/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch32/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram_cpus_on.S
/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/pwm/pwm.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pwm/pwm.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/tools/fiptool/Makefile
727e523805-May-2016 Soby Mathew <soby.mathew@arm.com>

AArch32: Add support to PSCI lib

This patch adds AArch32 support to PSCI library, as follows :

* The `psci_helpers.S` is implemented for AArch32.

* AArch32 version of internal helper function `psc

AArch32: Add support to PSCI lib

This patch adds AArch32 support to PSCI library, as follows :

* The `psci_helpers.S` is implemented for AArch32.

* AArch32 version of internal helper function `psci_get_ns_ep_info()` is
defined.

* The PSCI Library is responsible for the Non Secure context initialization.
Hence a library interface `psci_prepare_next_non_secure_ctx()` is introduced
to enable EL3 runtime firmware to initialize the non secure context without
invoking context management library APIs.

Change-Id: I25595b0cc2dbfdf39dbf7c589b875cba33317b9d

show more ...

e33b78a605-May-2016 Soby Mathew <soby.mathew@arm.com>

AArch32: Add support in TF libraries

This patch adds AArch32 support to cpu ops, context management,
per-cpu data and spinlock libraries. The `entrypoint_info`
structure is modified to add support f

AArch32: Add support in TF libraries

This patch adds AArch32 support to cpu ops, context management,
per-cpu data and spinlock libraries. The `entrypoint_info`
structure is modified to add support for AArch32 register
arguments. The CPU operations for AEM generic cpu in AArch32
mode is also added.

Change-Id: I1e52e79f498661d8f31f1e7b3a29e222bc7a4483

show more ...

3e3616ab05-May-2016 Soby Mathew <soby.mathew@arm.com>

AArch32: Add SMCC context

This patch defines a SMCC context to save and restore
registers during a SMC call. It also adds appropriate helpers
to save and restore from this context for use by AArch32

AArch32: Add SMCC context

This patch defines a SMCC context to save and restore
registers during a SMC call. It also adds appropriate helpers
to save and restore from this context for use by AArch32
secure payload and BL stages.

Change-Id: I64c8d6fe1d6cac22e1f1f39ea1b54ee1b1b72248

show more ...

1ae0a49a05-May-2016 Soby Mathew <soby.mathew@arm.com>

AArch32: Add API to invoke runtime service handler

This patch adds an API in runtime service framework to
invoke the registered handler corresponding to the SMC function
identifier. This is helpful

AArch32: Add API to invoke runtime service handler

This patch adds an API in runtime service framework to
invoke the registered handler corresponding to the SMC function
identifier. This is helpful for AArch32 because the number of
arguments required by the handler is more than registers
available as per AArch32 program calling conventions and
requires the use of stack. Hence this new API will do the
necessary argument setup and invoke the appropriate
handler. Although this API is primarily intended for AArch32,
it can be used for AArch64 as well.

Change-Id: Iefa15947fe5a1df55b0859886e677446a0fd7241

show more ...

b2bca61d30-Jun-2016 Soby Mathew <soby.mathew@arm.com>

AArch32: Add translation table library support

This patch adds translation library supports for AArch32 platforms.
The library only supports long descriptor formats for AArch32.
The `enable_mmu_secu

AArch32: Add translation table library support

This patch adds translation library supports for AArch32 platforms.
The library only supports long descriptor formats for AArch32.
The `enable_mmu_secure()` enables the MMU for secure world with
`TTBR0` pointing to the populated translation tables.

Change-Id: I061345b1779391d098e35e7fe0c76e3ebf850e08

show more ...

031dbb1209-May-2016 Soby Mathew <soby.mathew@arm.com>

AArch32: Add essential Arch helpers

This patch adds the essential AArch32 architecture helpers
arch.h and arch_helpers.h and modifies `_types.h` to add AArch32
support.

A new build option `ARCH` is

AArch32: Add essential Arch helpers

This patch adds the essential AArch32 architecture helpers
arch.h and arch_helpers.h and modifies `_types.h` to add AArch32
support.

A new build option `ARCH` is defined in the top level makefile to
enable the component makefiles to choose the right files based on the
Architecture it is being build for. Depending on this flag, either
`AARCH32` or `AARCH64` flag is defined by the Makefile. The default
value of `ARCH` flag is `aarch64`. The AArch32 build support will be
added in a later patch.

Change-Id: I405e5fac02db828a55cd25989b572b64cb005241

show more ...

c45f627d20-Jul-2016 Soby Mathew <soby.mathew@arm.com>

Move SIZE_FROM_LOG2_WORDS macro to utils.h

This patch moves the macro SIZE_FROM_LOG2_WORDS() defined in
`arch.h` to `utils.h` as it is utility macro.

Change-Id: Ia8171a226978f053a1ee4037f80142c0a4d

Move SIZE_FROM_LOG2_WORDS macro to utils.h

This patch moves the macro SIZE_FROM_LOG2_WORDS() defined in
`arch.h` to `utils.h` as it is utility macro.

Change-Id: Ia8171a226978f053a1ee4037f80142c0a4d21430

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/trusted-board-boot.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/drivers/arm/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/arm/pl011/pl011_console.S
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/cadence/uart/cdns_console.S
/rk3399_ARM-atf/drivers/console/aarch64/console.S
/rk3399_ARM-atf/drivers/console/aarch64/skeleton_console.S
/rk3399_ARM-atf/drivers/console/console.S
/rk3399_ARM-atf/drivers/console/skeleton_console.S
/rk3399_ARM-atf/drivers/ti/uart/16550_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
aarch64/arch.h
utils.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/locks/exclusive/spinlock.S
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram_cpus_on.S
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/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/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/fiptool/fip_create.sh
/rk3399_ARM-atf/tools/fiptool/fiptool.c
/rk3399_ARM-atf/tools/fiptool/fiptool.h
/rk3399_ARM-atf/tools/fiptool/tbbr_config.c
/rk3399_ARM-atf/tools/fiptool/tbbr_config.h
7b6d330c12-Jul-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Ensure addresses in is_mem_free() don't overflow

This patch adds some runtime checks to prevent some potential
pointer overflow issues in the is_mem_free() function. The overflow
could happen in the

Ensure addresses in is_mem_free() don't overflow

This patch adds some runtime checks to prevent some potential
pointer overflow issues in the is_mem_free() function. The overflow
could happen in the case where the end addresses, computed as the
sum of a base address and a size, results in a value large enough
to wrap around. This, in turn, could lead to unpredictable behaviour.

If such an overflow is detected, the is_mem_free() function will now
declare the memory region as not free. The overflow is detected using
a new macro, called check_uptr_overflow().

This patch also modifies all other places in the 'bl_common.c' file
where an end address was computed as the sum of a base address and a
size and instead keeps the two values separate. This avoids the need
to handle pointer overflows everywhere. The code doesn't actually need
to compute any end address before the is_mem_free() function is called
other than to print information message to the serial output.

This patch also introduces 2 slight changes to the reserve_mem()
function:

- It fixes the end addresses passed to choose_mem_pos(). It was
incorrectly passing (base + size) instead of (base + size - 1).

- When the requested allocation size is 0, the function now exits
straight away and says so using a warning message.
Previously, it used to actually reserve some memory. A zero-byte
allocation was not considered as a special case so the function
was using the same top/bottom allocation mechanism as for any
other allocation. As a result, the smallest area of memory starting
from the requested base address within the free region was
reserved.

Change-Id: I0e695f961e24e56ffe000718014e0496dc6e1ec6

show more ...


/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/include/common/aarch64/asm_macros.S
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/asm_macros_common.S
utils.h
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.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/include/rockchip_sip_svc.h
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/common/plat_topology.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_sip_svc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/plat_pmu_macros.S
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3368/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/rockchip/rk3368/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3368/plat_sip_calls.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/plat_pmu_macros.S
/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/plat_sip_calls.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/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/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
cf0b149229-Apr-2016 Soby Mathew <soby.mathew@arm.com>

Introduce PSCI Library Interface

This patch introduces the PSCI Library interface. The major changes
introduced are as follows:

* Earlier BL31 was responsible for Architectural initialization durin

Introduce PSCI Library Interface

This patch introduces the PSCI Library interface. The major changes
introduced are as follows:

* Earlier BL31 was responsible for Architectural initialization during cold
boot via bl31_arch_setup() whereas PSCI was responsible for the same during
warm boot. This functionality is now consolidated by the PSCI library
and it does Architectural initialization via psci_arch_setup() during both
cold and warm boots.

* Earlier the warm boot entry point was always `psci_entrypoint()`. This was
not flexible enough as a library interface. Now PSCI expects the runtime
firmware to provide the entry point via `psci_setup()`. A new function
`bl31_warm_entrypoint` is introduced in BL31 and the previous
`psci_entrypoint()` is deprecated.

* The `smc_helpers.h` is reorganized to separate the SMC Calling Convention
defines from the Trusted Firmware SMC helpers. The former is now in a new
header file `smcc.h` and the SMC helpers are moved to Architecture specific
header.

* The CPU context is used by PSCI for context initialization and
restoration after power down (PSCI Context). It is also used by BL31 for SMC
handling and context management during Normal-Secure world switch (SMC
Context). The `psci_smc_handler()` interface is redefined to not use SMC
helper macros thus enabling to decouple the PSCI context from EL3 runtime
firmware SMC context. This enables PSCI to be integrated with other runtime
firmware using a different SMC context.

NOTE: With this patch the architectural setup done in `bl31_arch_setup()`
is done as part of `psci_setup()` and hence `bl31_platform_setup()` will be
invoked prior to architectural setup. It is highly unlikely that the platform
setup will depend on architectural setup and cause any failure. Please be
be aware of this change in sequence.

Change-Id: I7f497a08d33be234bbb822c28146250cb20dab73

show more ...

532ed61824-Mar-2016 Soby Mathew <soby.mathew@arm.com>

Introduce `el3_runtime` and `PSCI` libraries

This patch moves the PSCI services and BL31 frameworks like context
management and per-cpu data into new library components `PSCI` and
`el3_runtime` resp

Introduce `el3_runtime` and `PSCI` libraries

This patch moves the PSCI services and BL31 frameworks like context
management and per-cpu data into new library components `PSCI` and
`el3_runtime` respectively. This enables PSCI to be built independently from
BL31. A new `psci_lib.mk` makefile is introduced which adds the relevant
PSCI library sources and gets included by `bl31.mk`. Other changes which
are done as part of this patch are:

* The runtime services framework is now moved to the `common/` folder to
enable reuse.
* The `asm_macros.S` and `assert_macros.S` helpers are moved to architecture
specific folder.
* The `plat_psci_common.c` is moved from the `plat/common/aarch64/` folder
to `plat/common` folder. The original file location now has a stub which
just includes the file from new location to maintain platform compatibility.

Most of the changes wouldn't affect platform builds as they just involve
changes to the generic bl1.mk and bl31.mk makefiles.

NOTE: THE `plat_psci_common.c` FILE HAS MOVED LOCATION AND THE STUB FILE AT
THE ORIGINAL LOCATION IS NOW DEPRECATED. PLATFORMS SHOULD MODIFY THEIR
MAKEFILES TO INCLUDE THE FILE FROM THE NEW LOCATION.

Change-Id: I6bd87d5b59424995c6a65ef8076d4fda91ad5e86

show more ...

4c0d039016-Jun-2016 Soby Mathew <soby.mathew@arm.com>

Rework type usage in Trusted Firmware

This patch reworks type usage in generic code, drivers and ARM platform files
to make it more portable. The major changes done with respect to
type usage are as

Rework type usage in Trusted Firmware

This patch reworks type usage in generic code, drivers and ARM platform files
to make it more portable. The major changes done with respect to
type usage are as listed below:

* Use uintptr_t for storing address instead of uint64_t or unsigned long.
* Review usage of unsigned long as it can no longer be assumed to be 64 bit.
* Use u_register_t for register values whose width varies depending on
whether AArch64 or AArch32.
* Use generic C types where-ever possible.

In addition to the above changes, this patch also modifies format specifiers
in print invocations so that they are AArch64/AArch32 agnostic. Only files
related to upcoming feature development have been reworked.

Change-Id: I9f8c78347c5a52ba7027ff389791f1dad63ee5f8

show more ...


/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/context_mgmt.c
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/psci-pd-tree.md
/rk3399_ARM-atf/docs/rt-svc-writers-guide.md
/rk3399_ARM-atf/drivers/arm/ccn/ccn_private.h
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/include/bl31/cpu_data.h
/rk3399_ARM-atf/include/bl31/runtime_svc.h
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/context_mgmt.h
/rk3399_ARM-atf/include/drivers/arm/gic_v3.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
stdlib/machine/_stdint.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_normal.c
/rk3399_ARM-atf/lib/xlat_tables/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch64/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/drivers/pwrc/fvp_pwrc.c
/rk3399_ARM-atf/plat/arm/board/fvp/drivers/pwrc/fvp_pwrc.h
/rk3399_ARM-atf/plat/arm/board/juno/aarch64/juno_helpers.S
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_common.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/common/aarch64/css_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_up_stack.S
/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_private.h
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
aadb135015-Jul-2016 danh-arm <dan.handley@arm.com>

Merge pull request #662 from sandrine-bailleux-arm/sb/rodata-xn

Map read-only data as execute-never


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1_private.h
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/drivers/arm/gic/arm_gic.c
/rk3399_ARM-atf/include/common/asm_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
utils.h
xlat_tables.h
/rk3399_ARM-atf/include/plat/arm/board/common/v2m_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/common_def.h
/rk3399_ARM-atf/lib/xlat_tables/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.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/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_cci.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_io_storage.c
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/common/aarch64/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_up_stack.S
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/platform_common.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_mt_gic.c
/rk3399_ARM-atf/plat/rockchip/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_gicv2.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_gicv3.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
84629f2f01-Jul-2016 Naga Sureshkumar Relli <nagasure@xilinx.com>

bl31: Add error reporting registers

This patch adds cpumerrsr_el1 and l2merrsr_el1 to the register dump on
error for applicable CPUs.

These registers hold the ECC errors on L1 and L2 caches.

This

bl31: Add error reporting registers

This patch adds cpumerrsr_el1 and l2merrsr_el1 to the register dump on
error for applicable CPUs.

These registers hold the ECC errors on L1 and L2 caches.

This patch updates the A53, A57, A72, A73 (l2merrsr_el1 only) CPU libraries.

Signed-off-by: Naga Sureshkumar Relli <nagasure@xilinx.com>

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
cpus/aarch64/cortex_a53.h
cpus/aarch64/cortex_a57.h
cpus/aarch64/cortex_a72.h
cpus/aarch64/cortex_a73.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/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a73.S
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/juno/juno_pm.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/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
0146ae6416-Jun-2016 Sandrine Bailleux <sandrine.bailleux@arm.com>

Introduce round_up/down() macros

This patch introduces the round_up() and round_down() macros,
which round up (respectively down) a value to a given boundary.
The boundary must be a power of two.

C

Introduce round_up/down() macros

This patch introduces the round_up() and round_down() macros,
which round up (respectively down) a value to a given boundary.
The boundary must be a power of two.

Change-Id: I589dd1074aeb5ec730dd523b4ebf098d55a7e967

show more ...

1...<<51525354555657