History log of /rk3399_ARM-atf/lib/ (Results 2026 – 2050 of 2463)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
43d7145208-May-2018 danh-arm <dan.handley@arm.com>

Merge pull request #1354 from robertovargas-arm/mem_protect

ARM platforms: Demonstrate mem_protect from el3_runtime

1a7c1cfe08-Dec-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

RAS: Add fault injection support

The ARMv8.4 RAS extensions introduce architectural support for software
to inject faults into the system in order to test fault-handling
software. This patch introdu

RAS: Add fault injection support

The ARMv8.4 RAS extensions introduce architectural support for software
to inject faults into the system in order to test fault-handling
software. This patch introduces the build option FAULT_HANDLING_SUPPORT
to allow for lower ELs to use registers in the Standard Error Record to
inject fault. The build option RAS_EXTENSIONS must also be enabled along
with fault injection.

This feature is intended for testing purposes only, and is advisable to
keep disabled for production images.

Change-Id: I6f7a4454b15aec098f9505a10eb188c2f928f7ea
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

ca6d918512-Dec-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

RAS: Allow individual interrupt registration

EHF currently allows for registering interrupt handlers for a defined
priority ranges. This is primarily targeted at various EL3 dispatchers
to own range

RAS: Allow individual interrupt registration

EHF currently allows for registering interrupt handlers for a defined
priority ranges. This is primarily targeted at various EL3 dispatchers
to own ranges of secure interrupt priorities in order to delegate
execution to lower ELs.

The RAS support added by earlier patches necessitates registering
handlers based on interrupt number so that error handling agents shall
receive and handle specific Error Recovery or Fault Handling interrupts
at EL3.

This patch introduces a macro, RAS_INTERRUPTS() to declare an array of
interrupt numbers and handlers. Error handling agents can use this macro
to register handlers for individual RAS interrupts. The array is
expected to be sorted in the increasing order of interrupt numbers.

As part of RAS initialisation, the list of all RAS interrupts are sorted
based on their ID so that, given an interrupt, its handler can be looked
up with a simple binary search.

For an error handling agent that wants to handle a RAS interrupt,
platform must:

- Define PLAT_RAS_PRI to be the priority of all RAS exceptions.

- Enumerate interrupts to have the GIC driver program individual EL3
interrupts to the required priority range. This is required by EHF
even before this patch.

Documentation to follow.

Change-Id: I9471e4887ff541f8a7a63309e9cd8f771f76aeda
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

362599ec08-Dec-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

RAS: Add support for node registration

Previous patches added frameworks for handling RAS errors. This patch
introduces features that the platform can use to enumerate and iterate
RAS nodes:

- Th

RAS: Add support for node registration

Previous patches added frameworks for handling RAS errors. This patch
introduces features that the platform can use to enumerate and iterate
RAS nodes:

- The REGISTER_RAS_NODES() can be used to expose an array of
ras_node_info_t structures. Each ras_node_info_t describes a RAS
node, along with handlers for probing the node for error, and if
did record an error, another handler to handle it.

- The macro for_each_ras_node() can be used to iterate over the
registered RAS nodes, probe for, and handle any errors.

The common platform EA handler has been amended using error handling
primitives introduced by both this and previous patches.

Change-Id: I2e13f65a88357bc48cd97d608db6c541fad73853
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

30d81c3607-Dec-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

RAS: Add helpers to access Standard Error Records

The ARMv8 RAS Extensions introduced Standard Error Records which are a
set of standard registers through which:

- Platform can configure RAS node

RAS: Add helpers to access Standard Error Records

The ARMv8 RAS Extensions introduced Standard Error Records which are a
set of standard registers through which:

- Platform can configure RAS node policy; e.g., notification
mechanism;

- RAS nodes can record and expose error information for error handling
agents.

Standard Error Records can either be accessed via. memory-mapped
or System registers. This patch adds helper functions to access
registers and fields within an error record.

Change-Id: I6594ba799f4a1789d7b1e45b3e17fd40e7e0ba5c
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

14c6016a04-Apr-2018 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

AArch64: Introduce RAS handling

RAS extensions are mandatory for ARMv8.2 CPUs, but are also optional
extensions to base ARMv8.0 architecture.

This patch adds build system support to enable RAS feat

AArch64: Introduce RAS handling

RAS extensions are mandatory for ARMv8.2 CPUs, but are also optional
extensions to base ARMv8.0 architecture.

This patch adds build system support to enable RAS features in ARM
Trusted Firmware. A boolean build option RAS_EXTENSION is introduced for
this.

With RAS_EXTENSION, an Exception Synchronization Barrier (ESB) is
inserted at all EL3 vector entry and exit. ESBs will synchronize pending
external aborts before entering EL3, and therefore will contain and
attribute errors to lower EL execution. Any errors thus synchronized are
detected via. DISR_EL1 register.

When RAS_EXTENSION is set to 1, HANDLE_EL3_EA_FIRST must also be set to 1.

Change-Id: I38a19d84014d4d8af688bd81d61ba582c039383a
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

ef653d9329-Nov-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

AArch64: Refactor GP register restore to separate function

At present, the function that restores general purpose registers also
does ERET. Refactor the restore code to restore general purpose
regis

AArch64: Refactor GP register restore to separate function

At present, the function that restores general purpose registers also
does ERET. Refactor the restore code to restore general purpose
registers without ERET to complement the save function.

The macro save_x18_to_x29_sp_el0 was used only once, and is therefore
removed, and its contents expanded inline for readability.

No functional changes, but with this patch:

- The SMC return path will incur an branch-return and an additional
register load.

- The unknown SMC path restores registers x0 to x3.

Change-Id: I7a1a63e17f34f9cde810685d70a0ad13ca3b7c50
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/tsp/tsp_interrupt.c
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-common.dtsi
/rk3399_ARM-atf/fdts/fvp-foundation-motherboard.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard-aarch32.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard.dtsi
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/smccc_v1.h
/rk3399_ARM-atf/include/lib/smccc_v2.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_types.h
el3_runtime/aarch64/context.S
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_plat_common.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_plat_common.h
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/mce.c
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_sip_svc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/spd/opteed/opteed_pm.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_pm.c
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/spd/tspd/tspd_pm.c
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
0ef858bd03-May-2018 danh-arm <dan.handley@arm.com>

Merge pull request #1370 from antonio-nino-diaz-arm/an/fix-parange

xlat: Have all values of PARange for 8.x architectures


/rk3399_ARM-atf/.checkpatch.conf
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/tsp/tsp_interrupt.c
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-common.dtsi
/rk3399_ARM-atf/fdts/fvp-foundation-motherboard.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard-aarch32.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard.dtsi
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/smccc_v1.h
/rk3399_ARM-atf/include/lib/smccc_v2.h
/rk3399_ARM-atf/include/lib/stdlib/machine/_types.h
xlat_tables/aarch64/xlat_tables.c
xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_plat_common.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_plat_common.h
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/mce.c
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_sip_svc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/spd/opteed/opteed_pm.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_pm.c
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/spd/tspd/tspd_pm.c
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
/rk3399_ARM-atf/tools/cert_create/Makefile
d3c4487c02-May-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

xlat: Have all values of PARange for 8.x architectures

In AArch64, the field ID_AA64MMFR0_EL1.PARange has a different set of
allowed values depending on the architecture version.

Previously, we onl

xlat: Have all values of PARange for 8.x architectures

In AArch64, the field ID_AA64MMFR0_EL1.PARange has a different set of
allowed values depending on the architecture version.

Previously, we only compiled the Trusted Firmware with the values that
were allowed by the architecture. However, given that this field is
read-only, it is easier to compile the code with all values regardless
of the target architecture.

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

show more ...

638b034c05-Jan-2018 Roberto Vargas <roberto.vargas@arm.com>

ARM platforms: Demonstrate mem_protect from el3_runtime

Previously mem_protect used to be only supported from BL2. This is not
helpful in the case when ARM TF-A BL2 is not used. This patch demonstra

ARM platforms: Demonstrate mem_protect from el3_runtime

Previously mem_protect used to be only supported from BL2. This is not
helpful in the case when ARM TF-A BL2 is not used. This patch demonstrates
mem_protect from el3_runtime firmware on ARM Platforms specifically
when RESET_TO_BL31 or RESET_TO_SP_MIN flag is set as BL2 may be absent
in these cases. The Non secure DRAM is dynamically mapped into EL3 mmap
tables temporarily and then the protected regions are then cleared. This
avoids the need to map the non secure DRAM permanently to BL31/sp_min.

The stack size is also increased, because DYNAMIC_XLAT_TABLES require
a bigger stack.

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

show more ...

01c0a38e26-Apr-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

xlat: Set AP[1] to 1 when it is RES1

According to the ARMv8 ARM issue C.a:

AP[1] is valid only for stage 1 of a translation regime that can
support two VA ranges. It is RES 1 when stage 1 t

xlat: Set AP[1] to 1 when it is RES1

According to the ARMv8 ARM issue C.a:

AP[1] is valid only for stage 1 of a translation regime that can
support two VA ranges. It is RES 1 when stage 1 translations can
support only one VA range.

This means that, even though this bit is ignored, it should be set to 1
in the EL3 and EL2 translation regimes.

For translation regimes consisting on EL0 and a higher regime this bit
selects between control at EL0 or at the higher Exception level. The
regimes that support two VA ranges are EL1&0 and EL2&0 (the later one
is only available since ARMv8.1).

This fix has to be applied to both versions of the translation tables
library.

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

show more ...

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

Merge pull request #1357 from antonio-nino-diaz-arm/an/fix-misra

Fix some MISRA defects in SPM code


/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/bl1/tbbr/tbbr_img_desc.c
/rk3399_ARM-atf/bl2/bl2_image_load.c
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl32/tsp/tsp_private.h
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.c
/rk3399_ARM-atf/include/bl2/bl2.h
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/common/tbbr/tbbr_img_def.h
/rk3399_ARM-atf/include/drivers/auth/auth_mod.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/auth/img_parser_mod.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/plat/arm/board/fvp/aarch32/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_private.h
/rk3399_ARM-atf/plat/arm/common/arm_bl1_fwu.c
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/arm/css/common/sp_min/css_sp_min.mk
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu.c
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu.h
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu_doorbell.c
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu_doorbell.h
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi.h
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi_common.c
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi_private.h
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_bom_bootloader.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_pm_scmi.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_pm_scpi.c
/rk3399_ARM-atf/plat/arm/css/drivers/scpi/css_scpi.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_ddr.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_private.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_def.h
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
b3323cd617-Apr-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Fix some MISRA defects in SPM code

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


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/acknowledgements.rst
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/docs/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/plat/ls1043a.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/tzc/tzc_dmc500.c
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/drivers/arm/tzc_dmc500.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/common_def.h
xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/aarch32/fvp_helpers.S
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_tzmp1_def.h
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc_dmc500.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/aarch64/ls1043_helpers.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ls_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ns_access.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/plat_macros.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/platform_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/soc_tzasc.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_err.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_psci.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_security.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_stack_protector.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_topology.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls_gic.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/platform.mk
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/ls1043_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/tsp-ls1043.mk
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_console.S
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_helpers.S
/rk3399_ARM-atf/plat/layerscape/common/include/fsl_csu.h
/rk3399_ARM-atf/plat/layerscape/common/include/ls_16550.h
/rk3399_ARM-atf/plat/layerscape/common/include/plat_ls.h
/rk3399_ARM-atf/plat/layerscape/common/include/soc.h
/rk3399_ARM-atf/plat/layerscape/common/include/tzc380.h
/rk3399_ARM-atf/plat/layerscape/common/ls_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.mk
/rk3399_ARM-atf/plat/layerscape/common/ls_image_load.c
/rk3399_ARM-atf/plat/layerscape/common/ls_io_storage.c
/rk3399_ARM-atf/plat/layerscape/common/ls_timer.c
/rk3399_ARM-atf/plat/layerscape/common/ls_topology.c
/rk3399_ARM-atf/plat/layerscape/common/ls_tzc380.c
/rk3399_ARM-atf/plat/layerscape/common/ns_access.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp.mk
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/platform_tsp.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
fe634fa628-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

Check presence of fix for errata 835769 in Cortex-A53

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

Check presence of fix for errata 835769 in Cortex-A53

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

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

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

show more ...

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

Check presence of fix for errata 843419 in Cortex-A53

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

Check presence of fix for errata 843419 in Cortex-A53

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

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

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/acknowledgements.rst
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/docs/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/plat/ls1043a.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/arm/tzc/tzc_dmc500.c
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/arm/tzc_dmc500.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/common_def.h
cpus/aarch64/cortex_a53.S
cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_tzmp1_def.h
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc_dmc500.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/aarch64/ls1043_helpers.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ls_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ns_access.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/plat_macros.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/platform_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/soc_tzasc.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_err.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_psci.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_security.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_stack_protector.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_topology.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls_gic.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/platform.mk
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/ls1043_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/tsp-ls1043.mk
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_console.S
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_helpers.S
/rk3399_ARM-atf/plat/layerscape/common/include/fsl_csu.h
/rk3399_ARM-atf/plat/layerscape/common/include/ls_16550.h
/rk3399_ARM-atf/plat/layerscape/common/include/plat_ls.h
/rk3399_ARM-atf/plat/layerscape/common/include/soc.h
/rk3399_ARM-atf/plat/layerscape/common/include/tzc380.h
/rk3399_ARM-atf/plat/layerscape/common/ls_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.mk
/rk3399_ARM-atf/plat/layerscape/common/ls_image_load.c
/rk3399_ARM-atf/plat/layerscape/common/ls_io_storage.c
/rk3399_ARM-atf/plat/layerscape/common/ls_timer.c
/rk3399_ARM-atf/plat/layerscape/common/ls_topology.c
/rk3399_ARM-atf/plat/layerscape/common/ls_tzc380.c
/rk3399_ARM-atf/plat/layerscape/common/ns_access.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp.mk
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/platform_tsp.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
0ed3223203-Apr-2018 Varun Wadekar <vwadekar@nvidia.com>

lib: xlat_tables_v2: reduce time required to add a mmap region

The last entry in the mapping table is not necessarily the same as the
end of the table. This patch loops through the table to find the

lib: xlat_tables_v2: reduce time required to add a mmap region

The last entry in the mapping table is not necessarily the same as the
end of the table. This patch loops through the table to find the last
entry marker, on every new mmap addition. The memove operation then
has to only move the memory between current entry and the last entry.
For platforms that arrange their MMIO map properly, this opearation
turns out to be a NOP.

The previous implementation added significant overhead per mmap
addition as the memmove operation always moved the difference between
the current mmap entry and the end of the table.

Tested on Tegra platforms and this new approach improves the memory
mapping time by ~75%, thus significantly reducing boot time on some
platforms.

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

show more ...

6ab136c229-Mar-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1313 from jonathanwright-ARM/jw/MISRA-switch-statements

Fix switch statements to comply with MISRA rules


/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/drivers/arm/cci/cci.c
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/synopsys/emmc/dw_mmc.c
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/drivers/ufs/ufs.c
/rk3399_ARM-atf/include/drivers/arm/gic_common.h
/rk3399_ARM-atf/include/lib/pmf/pmf.h
pmf/pmf_smc.c
psci/psci_main.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/common/custom/oem_svc.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.c
/rk3399_ARM-atf/plat/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/qemu_stack_protector.c
/rk3399_ARM-atf/plat/rockchip/common/rockchip_sip_svc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rpi3/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_common.c
/rk3399_ARM-atf/plat/rpi3/rpi3_private.h
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_common.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
e74af2af29-Mar-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1335 from JoelHutton/jh/cleanup_void_pointers

Clean usage of void pointers to access symbols

2271cb0520-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

psci: initialize array fully to comply with MISRA

Initializes each element of the last_cpu_in_non_cpu_pd array in PSCI
stat implementation to -1, the reset value. This satisfies MISRA rule
9.3.

Pre

psci: initialize array fully to comply with MISRA

Initializes each element of the last_cpu_in_non_cpu_pd array in PSCI
stat implementation to -1, the reset value. This satisfies MISRA rule
9.3.

Previously, only the first element of the array was initialized to -1.

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

show more ...

9f85f9e321-Mar-2018 Joel Hutton <Joel.Hutton@Arm.com>

Clean usage of void pointers to access symbols

Void pointers have been used to access linker symbols, by declaring an
extern pointer, then taking the address of it. This limits symbols
values to ali

Clean usage of void pointers to access symbols

Void pointers have been used to access linker symbols, by declaring an
extern pointer, then taking the address of it. This limits symbols
values to aligned pointer values. To remove this restriction an
IMPORT_SYM macro has been introduced, which declares it as a char
pointer and casts it to the required type.

Change-Id: I89877fc3b13ed311817bb8ba79d4872b89bfd3b0
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>

show more ...

3eacacc013-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

lib: fix switch statements to comply with MISRA rules

Ensure (where possible) that switch statements in lib comply with MISRA
rules 16.1 - 16.7.

Change-Id: I52bc896fb7094d2b7569285686ee89f39f1ddd84

lib: fix switch statements to comply with MISRA rules

Ensure (where possible) that switch statements in lib comply with MISRA
rules 16.1 - 16.7.

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

show more ...

fbdadd0122-Mar-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1311 from jonathanwright-ARM/jw/MISRA-EOF-usage

stdlib: remove comparison with EOF macro to comply with MISRA

085e80ec21-Mar-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Rename 'smcc' to 'smccc'

When the source code says 'SMCC' it is talking about the SMC Calling
Convention. The correct acronym is SMCCC. This affects a few definitions
and file names.

Some files hav

Rename 'smcc' to 'smccc'

When the source code says 'SMCC' it is talking about the SMC Calling
Convention. The correct acronym is SMCCC. This affects a few definitions
and file names.

Some files have been renamed (smcc.h, smcc_helpers.h and smcc_macros.S)
but the old files have been kept for compatibility, they include the
new ones with an ERROR_DEPRECATED guard.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch32/bl1_context_mgmt.c
/rk3399_ARM-atf/bl1/aarch32/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch32/bl1_exceptions.S
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/contributing.rst
/rk3399_ARM-atf/docs/arm-sip-service.rst
/rk3399_ARM-atf/docs/auth-framework.rst
/rk3399_ARM-atf/docs/change-log.rst
/rk3399_ARM-atf/docs/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/firmware-update.rst
/rk3399_ARM-atf/docs/interrupt-framework-design.rst
/rk3399_ARM-atf/docs/plat/hikey.rst
/rk3399_ARM-atf/docs/plat/hikey960.rst
/rk3399_ARM-atf/docs/plat/nvidia-tegra.rst
/rk3399_ARM-atf/docs/plat/poplar.rst
/rk3399_ARM-atf/docs/plat/qemu.rst
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/plat/xilinx-zynqmp.rst
/rk3399_ARM-atf/docs/platform-interrupt-controller-API.rst
/rk3399_ARM-atf/docs/platform-migration-guide.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/psci-lib-integration-guide.rst
/rk3399_ARM-atf/docs/psci-pd-tree.rst
/rk3399_ARM-atf/docs/reset-design.rst
/rk3399_ARM-atf/docs/rt-svc-writers-guide.rst
/rk3399_ARM-atf/docs/sdei.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/spd/optee-dispatcher.rst
/rk3399_ARM-atf/docs/spd/tlk-dispatcher.rst
/rk3399_ARM-atf/docs/spd/trusty-dispatcher.rst
/rk3399_ARM-atf/docs/trusted-board-boot.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/docs/xlat-tables-lib-v2-design.rst
/rk3399_ARM-atf/include/common/runtime_svc.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_helpers.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_macros.S
/rk3399_ARM-atf/include/lib/aarch32/smccc_helpers.h
/rk3399_ARM-atf/include/lib/aarch32/smccc_macros.S
/rk3399_ARM-atf/include/lib/aarch64/smcc_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/smccc_helpers.h
/rk3399_ARM-atf/include/lib/smcc.h
/rk3399_ARM-atf/include/lib/smccc.h
el3_runtime/aarch32/context_mgmt.c
el3_runtime/aarch64/context_mgmt.c
pmf/pmf_smc.c
psci/psci_main.c
/rk3399_ARM-atf/license.rst
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/common/execution_state_switch.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dp/cdn_dp.c
/rk3399_ARM-atf/readme.rst
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
5ea2827706-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

stdlib: remove comparison with EOF macro to comply with MISRA

Ensures compliance with MISRA C-2012 Rule 22.7

Change-Id: Ifbe0926a24ba0dca18174e1aa87313a63bba50fb
Signed-off-by: Jonathan Wright <jon

stdlib: remove comparison with EOF macro to comply with MISRA

Ensures compliance with MISRA C-2012 Rule 22.7

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

show more ...

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

Fixup `SMCCC_ARCH_FEATURES` semantics

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

Fixup `SMCCC_ARCH_FEATURES` semantics

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

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

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

show more ...

1...<<81828384858687888990>>...99