History log of /rk3399_ARM-atf/plat/arm/ (Results 2226 – 2250 of 2547)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
058efeef07-Nov-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

GICv2: Fix populating PE target data

This patch brings in the following fixes:

- The per-PE target data initialized during power up needs to be
flushed so as to be visible to other PEs.

-

GICv2: Fix populating PE target data

This patch brings in the following fixes:

- The per-PE target data initialized during power up needs to be
flushed so as to be visible to other PEs.

- Setup per-PE target data for the primary PE as well. At present,
this was only setup for secondary PEs when they were powered on.

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

show more ...

9500d5a409-Nov-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1148 from antonio-nino-diaz-arm/an/spm

Introduce Secure Partition Manager


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/docs/spm-user-guide.rst
/rk3399_ARM-atf/include/common/aarch64/asm_macros.S
/rk3399_ARM-atf/include/common/param_header.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/board/common/v2m_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/secure_partition.h
/rk3399_ARM-atf/include/services/spm_svc.h
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
board/fvp/fvp_common.c
common/arm_common.c
common/arm_tzc400.c
/rk3399_ARM-atf/plat/common/plat_psci_common.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/services/spd/opteed/opteed_common.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_common.c
/rk3399_ARM-atf/services/spd/tspd/tspd_common.c
/rk3399_ARM-atf/services/std_svc/spm/aarch64/spm_helpers.S
/rk3399_ARM-atf/services/std_svc/spm/aarch64/spm_shim_exceptions.S
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_private.h
/rk3399_ARM-atf/services/std_svc/spm/spm_shim_private.h
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
e29efeb109-Nov-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

SPM: FVP: Introduce port of SPM

This initial port of the Secure Partitions Manager to FVP supports BL31
in both SRAM and Trusted DRAM.

A document with instructions to build the SPM has been added.

SPM: FVP: Introduce port of SPM

This initial port of the Secure Partitions Manager to FVP supports BL31
in both SRAM and Trusted DRAM.

A document with instructions to build the SPM has been added.

Change-Id: I4ea83ff0a659be77f2cd72eaf2302cdf8ba98b32
Co-authored-by: Douglas Raillard <douglas.raillard@arm.com>
Co-authored-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Co-authored-by: Achin Gupta <achin.gupta@arm.com>
Co-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/docs/spm-user-guide.rst
/rk3399_ARM-atf/include/common/aarch64/asm_macros.S
/rk3399_ARM-atf/include/common/param_header.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/board/common/v2m_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/secure_partition.h
/rk3399_ARM-atf/include/services/spm_svc.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/make_helpers/defaults.mk
board/fvp/fvp_common.c
common/arm_common.c
common/arm_tzc400.c
/rk3399_ARM-atf/plat/qemu/qemu_bl31_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_common.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_common.c
/rk3399_ARM-atf/services/spd/tspd/tspd_common.c
/rk3399_ARM-atf/services/std_svc/spm/aarch64/spm_helpers.S
/rk3399_ARM-atf/services/std_svc/spm/aarch64/spm_shim_exceptions.S
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_private.h
/rk3399_ARM-atf/services/std_svc/spm/spm_shim_private.h
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
92c5066c06-Nov-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1153 from robertovargas-arm/fix-macros

Avoid use of undefined macros

3de7d58e03-Nov-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1137 from soby-mathew/sm/arm_plat_en_gicv3_save

Enable GICv3 save for ARM platforms

d58f3cac20-Oct-2017 Roberto Vargas <roberto.vargas@arm.com>

Always define ARM_TSP_RAM_LOCATION_ID

ARM_TSP_RAM_LOCATION_ID was defined only in AARCH64, but the macro
was also used in AARCH32, and it meant that it was taking the value 0,
which happened to equa

Always define ARM_TSP_RAM_LOCATION_ID

ARM_TSP_RAM_LOCATION_ID was defined only in AARCH64, but the macro
was also used in AARCH32, and it meant that it was taking the value 0,
which happened to equal ARM_TRUSTED_SRAM_ID.

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

show more ...

9b1eae9613-Oct-2017 Qixiang Xu <qixiang.xu@arm.com>

plat/arm: enlarge the BL2 size on Arm platforms when TBB is enabled

For Trusted Board Boot, BL2 needs more space to support the ECDSA
and ECDSA+RSA algorithms.

Change-Id: Ie7eda9a1315ce836dbc6d18d6

plat/arm: enlarge the BL2 size on Arm platforms when TBB is enabled

For Trusted Board Boot, BL2 needs more space to support the ECDSA
and ECDSA+RSA algorithms.

Change-Id: Ie7eda9a1315ce836dbc6d18d6588f8d17891a92d
Signed-off-by: Qixiang Xu <qixiang.xu@arm.com>

show more ...

7ca267bd13-Oct-2017 Qixiang Xu <qixiang.xu@arm.com>

plat/arm: change the default option of ARM_TSP_RAM_LOCATION

On Arm standard platforms, it runs out of SRAM space when TBB is
enabled, so the TSP default location is changed to dram when TBB
is enabl

plat/arm: change the default option of ARM_TSP_RAM_LOCATION

On Arm standard platforms, it runs out of SRAM space when TBB is
enabled, so the TSP default location is changed to dram when TBB
is enabled.

Change-Id: I516687013ad436ef454d2055d4e6fce06e467044
Signed-off-by: Qixiang Xu <qixiang.xu@arm.com>

show more ...

f911e22921-Oct-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1131 from jeenu-arm/gic-migrate

Migrate upstream platforms to using interrupt properties

623c437721-Oct-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1130 from jeenu-arm/gic-patches

New GIC APIs and specifying interrupt propertes


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/docs/firmware-design.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/user-guide.rst
/rk3399_ARM-atf/docs/xlat-tables-lib-v2-design.rst
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common.c
/rk3399_ARM-atf/drivers/arm/gic/common/gic_common_private.h
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_private.h
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/common/interrupt_props.h
/rk3399_ARM-atf/include/drivers/arm/gic_common.h
/rk3399_ARM-atf/include/drivers/arm/gicv2.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch32/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_helpers.h
/rk3399_ARM-atf/include/lib/aarch32/smcc_macros.S
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/lib/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_private.h
/rk3399_ARM-atf/make_helpers/defaults.mk
common/arm_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_rotpk.S
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/tools/cert_create/src/cert.c
/rk3399_ARM-atf/tools/cert_create/src/ext.c
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
/rk3399_ARM-atf/tools/fiptool/fiptool.c
/rk3399_ARM-atf/tools/fiptool/fiptool.h
/rk3399_ARM-atf/tools/fiptool/fiptool_platform.h
/rk3399_ARM-atf/tools/fiptool/win_posix.c
/rk3399_ARM-atf/tools/fiptool/win_posix.h
b2c363b122-Sep-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

ARM platforms: Migrate to using interrupt properties

An earlier patch added provision for the platform to provide secure
interrupt properties. ARM platforms already has a list of interrupts
that fal

ARM platforms: Migrate to using interrupt properties

An earlier patch added provision for the platform to provide secure
interrupt properties. ARM platforms already has a list of interrupts
that fall into different secure groups.

This patch defines macros that enumerate interrupt properties in the
same fashion, and points the driver driver data to a list of interrupt
properties rather than list of secure interrupts on ARM platforms. The
deprecated interrupt list definitions are however retained to support
legacy builds.

Configuration applied to individual interrupts remain unchanged, so no
runtime behaviour change expected.

NOTE: Platforms that use the arm/common function
plat_arm_gic_driver_init() must replace their PLAT_ARM_G1S_IRQS and
PLAT_ARM_G0_IRQS macro definitions with PLAT_ARM_G1S_IRQ_PROPS and
PLAT_ARM_G0_IRQ_PROPS macros respectively, using the provided
INTR_PROP_DESC macro.

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

show more ...

dea417cd22-Sep-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

ARM platforms: supply per-PE target mask array

Call the GICv2 driver API to initialise per-PE target mask.

Change-Id: Idc7eb0d906a5379f4c05917af05c90613057ab97
Signed-off-by: Jeenu Viswambharan <je

ARM platforms: supply per-PE target mask array

Call the GICv2 driver API to initialise per-PE target mask.

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

show more ...


/rk3399_ARM-atf/docs/platform-interrupt-controller-API.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/xlat-tables-lib-v2-design.rst
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_private.h
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/include/drivers/arm/gicv2.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/lib/aarch32/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_private.h
common/arm_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/tools/cert_create/src/cert.c
/rk3399_ARM-atf/tools/cert_create/src/ext.c
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
/rk3399_ARM-atf/tools/fiptool/fiptool.c
/rk3399_ARM-atf/tools/fiptool/fiptool.h
/rk3399_ARM-atf/tools/fiptool/fiptool_platform.h
b48ae26316-Aug-2017 Roberto Vargas <roberto.vargas@arm.com>

reset2: Add css_system_reset2()

This function implements the platform dependant part of PSCI system
reset2 for CSS platforms using SCMI.

Change-Id: I724389decab484043cadf577aeed96b349c1466d
Signed-

reset2: Add css_system_reset2()

This function implements the platform dependant part of PSCI system
reset2 for CSS platforms using SCMI.

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

show more ...

ed3c0ef831-Jul-2017 Roberto Vargas <roberto.vargas@arm.com>

scp: Introduce css_scp_system_off() function

The common implementation of css_scp_sys_shutdown and
css_scp_warm_reset is refactored into a new function,
css_scp_system_off() that allows the desired

scp: Introduce css_scp_system_off() function

The common implementation of css_scp_sys_shutdown and
css_scp_warm_reset is refactored into a new function,
css_scp_system_off() that allows the desired power state to be
specified.

The css_scp_system_off can be used in the implementation of
SYSTEM_RESET2 for PSCI v1.1.

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

show more ...

e35a3fb511-Oct-2017 Soby Mathew <soby.mathew@arm.com>

ARM platforms: enable GICv3 state save/restore

Provides GICv3 save/restore feature to arm_system_pwr_domain_resume and
arm_system_pwr_domain_save functions.

Introduce FVP PSCI power level 3 (System

ARM platforms: enable GICv3 state save/restore

Provides GICv3 save/restore feature to arm_system_pwr_domain_resume and
arm_system_pwr_domain_save functions.

Introduce FVP PSCI power level 3 (System level) support. This is solely
done to provide example code on how to use the GICv3 save and restore
helpers.

Also make CSS GICv3 platforms power off the Redistributor on SYSTEM
SUSPEND as its state is saved and restored.

Change-Id: I0d852f3af8824edee1a17c085cf593ddd33a4e77
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Co-Authored-by: Douglas Raillard <douglas.raillard@arm.com>

show more ...

a22dffc605-Oct-2017 Soby Mathew <soby.mathew@arm.com>

ARM platforms: Add support for EL3 TZC memory region

Some recent enhancements to EL3 runtime firmware like support for
save and restoring GICv3 register context during system_suspend
necessitates ad

ARM platforms: Add support for EL3 TZC memory region

Some recent enhancements to EL3 runtime firmware like support for
save and restoring GICv3 register context during system_suspend
necessitates additional data memory for the firmware. This patch
introduces support for creating a TZC secured DDR carveout for use
by ARM reference platforms. A new linker section `el3_tzc_dram` is
created using platform supplied linker script and data marked with
the attribute `arm_el3_tzc_dram` will be placed in this section.
The FVP makefile now defines the `PLAT_EXTRA_LD_SCRIPT` variable to
allow inclusion of the platform linker script by the top level BL31
linker script.

Change-Id: I0e7f4a75a6ac51419c667875ff2677043df1585d
Signed-off-by: Soby Mathew <soby.mathew@arm.com>

show more ...

ebf1ca1013-Jul-2017 Soby Mathew <soby.mathew@arm.com>

GICv3: add functions for save and restore

During system suspend, the GICv3 Distributor and Redistributor context
can be lost due to power gating of the system power domain. This means
that the GICv3

GICv3: add functions for save and restore

During system suspend, the GICv3 Distributor and Redistributor context
can be lost due to power gating of the system power domain. This means
that the GICv3 context needs to be saved prior to system suspend and
restored on wakeup. Currently the consensus is that the Firmware should
be in charge of this. See tf-issues#464 for more details.

This patch introduces helper APIs in the GICv3 driver to save and
restore the Distributor and Redistributor contexts. The GICv3 ITS
context is not considered in this patch because the specification says
that the details of ITS power management is implementation-defined.
These APIs are expected to be appropriately invoked by the platform
layer during system suspend.

Fixes ARM-software/tf-issues#464

Change-Id: Iebb9c6770ab8c4d522546f161fa402d2fe02ec00
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>

show more ...

c64d134504-Oct-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1109 from robertovargas-arm/mem_protect

Mem protect

cb2cfae304-Oct-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1115 from jeenu-arm/tsp-mt

TSP: Support multi-threading CPUs on FVP

5e4ca66103-Oct-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

TSP: Support multi-threading CPUs on FVP

Commit 11ad8f208db42f7729b0ce2bd16c631c293e665c added supporting
multi-threaded CPUs on FVP platform, including modifications for
calculating CPU IDs. This p

TSP: Support multi-threading CPUs on FVP

Commit 11ad8f208db42f7729b0ce2bd16c631c293e665c added supporting
multi-threaded CPUs on FVP platform, including modifications for
calculating CPU IDs. This patch imports the strong definition of the
same CPU ID calculation on FVP platform for TSP.

Without this patch, TSP on FVP was using the default CPU ID calculation,
which would end up being wrong on CPUs with multi-threading.

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

show more ...

b8fa2ed502-Oct-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1107 from geesun/qx/add_ecdsa_support

Add support for TBBR using ECDSA keys in ARM platforms

b09ba05608-Aug-2017 Roberto Vargas <roberto.vargas@arm.com>

mem_protect: Add DRAM2 to the list of mem protected ranges

On ARM platforms, the maximum size of the address space is limited
to 32-bits as defined in arm_def.h. In order to access DRAM2, which
is d

mem_protect: Add DRAM2 to the list of mem protected ranges

On ARM platforms, the maximum size of the address space is limited
to 32-bits as defined in arm_def.h. In order to access DRAM2, which
is defined beyond the 32-bit address space, the maximum address space
is increased to 36-bits in AArch64. It is possible to increase the
virtual space for AArch32, but it is more difficult and not supported
for now.

NOTE - the actual maximum memory address space is platform dependent
and is checked at run-time by querying the PARange field in the
ID_AA64MMFR0_EL1 register.

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

show more ...

f145403c03-Aug-2017 Roberto Vargas <roberto.vargas@arm.com>

mem_protect: Add mem_protect support in Juno and FVP for DRAM1

mem_protect needs some kind of non-volatile memory because it has
to remember its state across reset and power down events.
The most su

mem_protect: Add mem_protect support in Juno and FVP for DRAM1

mem_protect needs some kind of non-volatile memory because it has
to remember its state across reset and power down events.
The most suitable electronic part for this feature is a NVRAM
which should be only accesible from the secure world. Juno and
FVP lack such hardware and for this reason the MEM_PROTECT
functionality is implemented with Flash EEPROM memory on both
boards, even though this memory is accesible from the non-secure
world. This is done only to show a full implementation of
these PSCI features, but an actual system shouldn't use a
non-secure NVRAM to implement it.

The EL3 runtime software will write the mem_protect flag and BL2
will read and clear the memory ranges if enabled. It is done in
BL2 because it reduces the time that TF needs access to the full
non-secure memory.

The memory layout of both boards is defined using macros which
take different values in Juno and FVP platforms. Generic platform
helpers are added that use the platform specific macros to generate
a mem_region_t that is valid for the platform.

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

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/tf_log.c
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.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/platform.h
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_mem_protect.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/utils/mem_region.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
board/common/board_common.mk
board/common/board_css_common.c
board/fvp/fvp_common.c
board/fvp/fvp_pm.c
board/fvp/sp_min/sp_min-fvp.mk
board/juno/include/platform_def.h
board/juno/sp_min/sp_min-juno.mk
common/arm_bl2_setup.c
common/arm_nor_psci_mem_protect.c
css/common/css_pm.c
/rk3399_ARM-atf/plat/common/plat_log_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hisi_pwrc.c
/rk3399_ARM-atf/plat/hisilicon/hikey/include/hisi_pwrc.h
/rk3399_ARM-atf/plat/hisilicon/hikey/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.h
/rk3399_ARM-atf/tools/cert_create/Makefile
9db9c65a24-Aug-2017 Qixiang Xu <qixiang.xu@arm.com>

Add support for TBBR using ECDSA keys in ARM platforms

- fixed compile error when KEY_ALG=ecdsa
- add new option ecdsa for TF_MBEDTLS_KEY_ALG
- add new option devel_ecdsa for ARM_ROTPK_L

Add support for TBBR using ECDSA keys in ARM platforms

- fixed compile error when KEY_ALG=ecdsa
- add new option ecdsa for TF_MBEDTLS_KEY_ALG
- add new option devel_ecdsa for ARM_ROTPK_LOCATION
- add ecdsa key at plat/arm/board/common/rotpk/
- reduce the mbedtls heap memory size to 13k

Change-Id: I3f7a6170af93fdbaaa7bf2fffb4680a9f6113c13
Signed-off-by: Qixiang Xu <qixiang.xu@arm.com>

show more ...

ddfd38e824-Aug-2017 Qixiang Xu <qixiang.xu@arm.com>

plat/arm : update BL size macros to give BL1 and BL2 more space for TBB

For Trusted Board Boot, BL1 RW section and BL2 need more space to
support the ECDSA algorithm. Specifically, PLAT_ARM_MAX_BL1_

plat/arm : update BL size macros to give BL1 and BL2 more space for TBB

For Trusted Board Boot, BL1 RW section and BL2 need more space to
support the ECDSA algorithm. Specifically, PLAT_ARM_MAX_BL1_RW_SIZE
is increased on ARM platforms.

And on the Juno platform:
- BL2 size, PLAT_ARM_MAX_BL2_SIZE is increased.
- SCP_BL2 is loaded into the space defined by BL31_BASE ->
BL31_RW_BASE. In order to maintain the same size space for
SCP_BL2,PLAT_ARM_MAX_BL31_SIZE is increased.

Change-Id: I379083f918b40ab1c765da4e71780d89f0058040
Co-Authored-By: David Cunado <david.cunado@arm.com>
Signed-off-by: Qixiang Xu <qixiang.xu@arm.com>

show more ...

1...<<81828384858687888990>>...102