]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agodoc: Improve contribution guidelines
Sandrine Bailleux [Fri, 14 Aug 2020 13:58:50 +0000 (15:58 +0200)]
doc: Improve contribution guidelines

- Add some guidance about the type of information a patch author should
  provide to facilitate the review (and for future reference).

- Make a number of implicit expectations explicit:
  - Every patch must compile.
  - All CI tests must pass.

- Mention that the patch author is expected to add reviewers and explain
  how to choose them.

- Explain the patch submission rules in terms of Gerrit labels.

Also do some cosmetic changes, like adding empty lines, shuffling some
paragraphs around.

Change-Id: I6dac486684310b5a35aac7353e10fe5474a81ec5
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoMerge changes from topic "tegra194-spmd" into integration
Madhukar Pappireddy [Tue, 25 Aug 2020 15:09:26 +0000 (15:09 +0000)]
Merge changes from topic "tegra194-spmd" into integration

* changes:
  Tegra194: introduce support for `SPD=spmd`
  Tegra: introduce backend support to compile libfdt
  Tegra: disable signed comparison
  plat: common: include "bl_common.h" from plat_spmd_manifest.c

5 years agoMerge changes from topic "tegra-downstream-07092020" into integration
Varun Wadekar [Tue, 25 Aug 2020 03:27:26 +0000 (03:27 +0000)]
Merge changes from topic "tegra-downstream-07092020" into integration

* changes:
  Tegra194: remove AON_WDT IRQ mapping
  Tegra: smmu: add smmu_verify function
  Tegra: TZDRAM setup from soc specific early_boot handlers
  Tegra: remove "platform_get_core_pos" function
  Tegra: print GICC registers conditionally
  lib: cpus: sanity check pointers before use
  Tegra: spe: do not flush console in console_putc
  Tegra: verify platform compatibility

5 years agoTegra194: introduce support for `SPD=spmd`
Varun Wadekar [Mon, 20 Jul 2020 04:30:54 +0000 (21:30 -0700)]
Tegra194: introduce support for `SPD=spmd`

This patch introduces the following changes to enable
compilation for `SPD=spmd` command line option.

* compile plat_spmd_manifest.c
* compile libfdt source files

Verified with the `SPD=spmd` command line option for
Tegra194 platforms.

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

5 years agoTegra: introduce backend support to compile libfdt
Varun Wadekar [Mon, 20 Jul 2020 04:17:57 +0000 (21:17 -0700)]
Tegra: introduce backend support to compile libfdt

This patch includes the following files from libc to
compile libfdt:

* memchr.c
* memcmp.c
* strrchr.c

The BUILD_PLAT macro is evaluated earlier to allow libfdt
installation to the right directory.

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

5 years agoTegra: disable signed comparison
Varun Wadekar [Mon, 24 Aug 2020 23:57:03 +0000 (16:57 -0700)]
Tegra: disable signed comparison

libfdt does not support the -Wsign-compare compiler option
and the right patch will eventually be pushed upstream.

This patch disables the -Wsign-compare compiler option
to allow libfdt compilation for Tegra platforms until
the actual issue is fixed.

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

5 years agoplat: common: include "bl_common.h" from plat_spmd_manifest.c
Varun Wadekar [Mon, 20 Jul 2020 04:28:10 +0000 (21:28 -0700)]
plat: common: include "bl_common.h" from plat_spmd_manifest.c

This patch includes the bl_common.h from plat_spmd_manifest.c to
fix the following compilation errors

<snip>
plat/common/plat_spmd_manifest.c: In function 'plat_spm_core_manifest_load':
plat/common/plat_spmd_manifest.c:130:18: error: implicit declaration of function 'page_align' [-Werror=implicit-function-declaration]
  130 |  pm_base_align = page_align(pm_base, UP);
      |                  ^~~~~~~~~~
plat/common/plat_spmd_manifest.c:130:38: error: 'UP' undeclared (first use in this function); did you mean 'UL'?
  130 |  pm_base_align = page_align(pm_base, UP);
      |                                      ^~
      |                                      UL
plat/common/plat_spmd_manifest.c:130:38: note: each undeclared identifier is reported only once for each function it appears in
plat/common/plat_spmd_manifest.c:146:38: error: 'DOWN' undeclared (first use in this function)
  146 |  pm_base_align = page_align(pm_base, DOWN);
      |                                      ^~~~
cc1: all warnings being treated as errors
<snip>

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

5 years agoTegra194: remove AON_WDT IRQ mapping
Varun Wadekar [Mon, 17 Feb 2020 23:29:57 +0000 (15:29 -0800)]
Tegra194: remove AON_WDT IRQ mapping

This patch removes the unused interrupt mapping for AON_WDT
for all Tegra194 platforms.

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

5 years agoTegra: smmu: add smmu_verify function
Varun Wadekar [Thu, 26 Sep 2019 15:26:41 +0000 (08:26 -0700)]
Tegra: smmu: add smmu_verify function

The SMMU configuration can get corrupted or updated by
external clients during boot without our knowledge.

This patch introduces a "verify" function for the SMMU
driver, to check that the boot configuration settings are
intact.  Usually, this function should be called at the
end of the boot cycle.

This function only calls panic() on silicon platforms.

Change-Id: I2ab45a7f228781e71c73ba1f4ffc49353effe146
Signed-off-by: George Bauernschmidt <georgeb@nvidia.com>
5 years agoTegra: TZDRAM setup from soc specific early_boot handlers
Varun Wadekar [Thu, 22 Aug 2019 18:52:36 +0000 (11:52 -0700)]
Tegra: TZDRAM setup from soc specific early_boot handlers

TZDRAM setup is not required for all Tegra SoCs. The previous bootloader
can enable the TZDRAM fence due to architectural improvements in the
newer chips.

This patch moves the TZDRAM setup to early_boot handlers for SoCs to
handle this scenario.

Change-Id: I6481b4f848a4dadc20cb83852cd8e19a242b3a34
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: remove "platform_get_core_pos" function
Varun Wadekar [Wed, 16 Oct 2019 17:43:33 +0000 (10:43 -0700)]
Tegra: remove "platform_get_core_pos" function

This patch removes the deprecated 'plat_core_pos_by_mpidr' function
from the Tegra platform port.

Change-Id: I32e06cb7269e4fbfaf9ad6c26d0722201f982f9e
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: print GICC registers conditionally
Varun Wadekar [Fri, 4 Oct 2019 18:40:56 +0000 (11:40 -0700)]
Tegra: print GICC registers conditionally

The GICC interface exists only on the interrupt controllers following
the GICv2 specification.

This patch prints the GICC register contents from the platform's macro,
plat_crash_print_regs' only when TEGRA_GICC_BASE is defined. This
allows platforms using future versions of the GIC specification to
still use this macro.

Change-Id: Ia5762d0a1ae28c832664d69362a7776e46a22ad1
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agolib: cpus: sanity check pointers before use
Varun Wadekar [Tue, 1 Oct 2019 16:34:10 +0000 (09:34 -0700)]
lib: cpus: sanity check pointers before use

The cpu_ops structure contains a lot of function pointers. It
is a good idea to verify that the function pointer is not NULL
before executing it.

This patch sanity checks each pointer before use to prevent any
unforeseen crashes. These checks have been enabled for debug
builds only.

Change-Id: Ib208331c20e60f0c7c582a20eb3d8cc40fb99d21
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: spe: do not flush console in console_putc
Varun Wadekar [Fri, 13 Sep 2019 23:31:09 +0000 (16:31 -0700)]
Tegra: spe: do not flush console in console_putc

SPE no longer requires the flush bit to be set to start transmitting
characters over the physical uart. Therefore, the flush bit is no
longer required when calling console_core_putc. However, flushing the
console still requires the flush bit.

This patch removes the flush bit from the mailbox messages in
console_core_putc to improve ACK latency.

Original change by: Mustafa Bilgen <mbilgen@nvidia.com>

Change-Id: I5b7d1f3ea69ea2ce308566dbaae222b04e4c373d
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: verify platform compatibility
kalyanic [Fri, 13 Sep 2019 21:49:39 +0000 (14:49 -0700)]
Tegra: verify platform compatibility

This patch verifies that the binary image is compatible with
chip ID of the platform.

Change-Id: I28db221b4442aa8827a092faadf32f110d7c5cb4
Signed-off-by: kalyanic <kalyanic@nvidia.com>
5 years agoMerge "tools: Get the tool's binary name from the main makefile" into integration
Madhukar Pappireddy [Mon, 24 Aug 2020 17:04:33 +0000 (17:04 +0000)]
Merge "tools: Get the tool's binary name from the main makefile" into integration

5 years agoMerge "SPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance" into integration
Manish Pandey [Mon, 24 Aug 2020 11:45:14 +0000 (11:45 +0000)]
Merge "SPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance" into integration

5 years agotools: Get the tool's binary name from the main makefile
Manish V Badarkhe [Thu, 13 Aug 2020 04:56:33 +0000 (05:56 +0100)]
tools: Get the tool's binary name from the main makefile

Currently, the tool's makefile override the tool's binary name
which is already been defined in the main makefile.
Hence fix is provided so that the tool's makefile get the tool's
binary name from the main makefile instead of overriding it.

Change-Id: I8af2bd391a96bba2dbcddef711338a94ebf5f038
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoMerge "Revert "libc/memset: Implement function in assembler"" into integration
Mark Dykes [Fri, 21 Aug 2020 19:44:05 +0000 (19:44 +0000)]
Merge "Revert "libc/memset: Implement function in assembler"" into integration

5 years agoRevert "libc/memset: Implement function in assembler"
Mark Dykes [Wed, 19 Aug 2020 19:11:33 +0000 (19:11 +0000)]
Revert "libc/memset: Implement function in assembler"

This reverts commit e7d344de01ad11b856233634717aafe9312697e4.
 This reverts the patch https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/5313 due to a timing issue with the merge.  The merge occurred at the same time as the additional comments and thusly were were not seen until the merge was done.  This reverts the change and additional patches from Alexei will follow to address the concerns expressed in the orignal patch.

Change-Id: Iae5f6403c93ac13ceeda29463883fcd4c437f2b7

5 years agoSPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance
Ruari Phipps [Tue, 28 Jul 2020 09:33:35 +0000 (10:33 +0100)]
SPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I4e9fbfcfda4ed4b87d5ece1c609c57c73d617d4c

5 years agoMerge changes from topic "spm-secondary-cores" into integration
Olivier Deprez [Fri, 21 Aug 2020 14:18:57 +0000 (14:18 +0000)]
Merge changes from topic "spm-secondary-cores" into integration

* changes:
  SPMC: embed secondary core ep info into to SPMC context
  SPMC: manifest changes to support multicore boot
  SPMD: secondary cores PM on and off SPD hooks relayed to SPMC
  SPMD: handle SPMC message to register secondary core entry point
  SPMD: introduce SPMC to SPMD messages
  SPMD: register the SPD PM hooks
  SPMD: add generic SPD PM handlers
  SPMD: enhance SPMC internal boot states
  SPMD: entry point info get helper

5 years agoMerge "doc: Minor formatting improvement in the coding guidelines document" into...
Sandrine Bailleux [Fri, 21 Aug 2020 12:14:51 +0000 (12:14 +0000)]
Merge "doc: Minor formatting improvement in the coding guidelines document" into integration

5 years agoSPMC: embed secondary core ep info into to SPMC context
Olivier Deprez [Fri, 19 Jun 2020 13:33:41 +0000 (15:33 +0200)]
SPMC: embed secondary core ep info into to SPMC context

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: Icdb15b8664fb3467ffd55b44d1f0660457192586

5 years agoSPMC: manifest changes to support multicore boot
Olivier Deprez [Fri, 12 Jun 2020 16:10:28 +0000 (18:10 +0200)]
SPMC: manifest changes to support multicore boot

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: Icf90c2ccce75257908ba3d4703926041d64b1dd3

5 years agoSPMD: secondary cores PM on and off SPD hooks relayed to SPMC
Olivier Deprez [Mon, 23 Mar 2020 08:53:06 +0000 (09:53 +0100)]
SPMD: secondary cores PM on and off SPD hooks relayed to SPMC

Define SPMD PM hooks for warm boot and off events. svc_on_finish handler
enters the SPMC at the entry point defined by the secondary EP register
service. The svc_off handler notifies the SPMC that a physical core is
being turned off through a notification message.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I2609a75a0c6ffb9f6313fc09553be2b29a41de59

5 years agoSPMD: handle SPMC message to register secondary core entry point
Olivier Deprez [Thu, 16 Apr 2020 15:54:27 +0000 (17:54 +0200)]
SPMD: handle SPMC message to register secondary core entry point

Upon booting, the SPMC running on the primary core shall register the
secondary core entry points to which a given secondary core being woken
up shall jump to into the SPMC . The current implementation assumes the
SPMC calls a registering service implemented in the SPMD for each core
identified by its MPIDR. This can typically happen in a simple loop
implemented in the early SPMC initialization routines by passing each
core identifier associated with an entry point address and context
information.
This service is implemented on top of a more generic SPMC<=>SPMD
interface using direct request/response message passing as defined by
the FF-A specification.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: I1f70163b6b5cee0880bd2004e1fec41e3780ba35

5 years agoSPMD: introduce SPMC to SPMD messages
Olivier Deprez [Thu, 16 Apr 2020 14:59:21 +0000 (16:59 +0200)]
SPMD: introduce SPMC to SPMD messages

FF-A interface to handle SPMC to SPMD direct messages requests.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: Ia707a308c55561a31dcfa86e554ea1c9e23f862a

5 years agoSPMD: register the SPD PM hooks
Olivier Deprez [Mon, 28 Oct 2019 09:15:52 +0000 (09:15 +0000)]
SPMD: register the SPD PM hooks

Change-Id: If88d64c0e3d60accd2638a55f9f3299ec700a8c8
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
5 years agoSPMD: add generic SPD PM handlers
Olivier Deprez [Mon, 28 Oct 2019 09:07:50 +0000 (09:07 +0000)]
SPMD: add generic SPD PM handlers

This patch defines and registers the SPMD PM handler hooks.
This is intended to relay boot and PM events to the SPMC.

Change-Id: If5a758d22b8d2152cbbb83a0cad563b5e1c6bd49
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
5 years agoSPMD: enhance SPMC internal boot states
Olivier Deprez [Mon, 28 Oct 2019 09:03:13 +0000 (09:03 +0000)]
SPMD: enhance SPMC internal boot states

This patch adds SPMC states used by the SPMD to track SPMC boot phases
specifically on secondary cores.

Change-Id: If97af7352dda7f04a8e46a56892a2aeddcfab91b
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
5 years agoSPMD: entry point info get helper
Olivier Deprez [Mon, 28 Oct 2019 08:52:45 +0000 (08:52 +0000)]
SPMD: entry point info get helper

This patch provides a helper to get the entry_point_info
structure used by the boot CPU as it is used to initialise
the SPMC context on secondary CPUs.

Change-Id: I99087dc7a86a7258e545d24a2ff06aa25170f00c
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
5 years agoMerge "plat: imx8m: Fix the race condition during cpu hotplug" into integration
Manish Pandey [Thu, 20 Aug 2020 15:07:13 +0000 (15:07 +0000)]
Merge "plat: imx8m: Fix the race condition during cpu hotplug" into integration

5 years agoMerge changes from topic "at_errata_fix" into integration
Olivier Deprez [Thu, 20 Aug 2020 14:40:06 +0000 (14:40 +0000)]
Merge changes from topic "at_errata_fix" into integration

* changes:
  doc: Update description for AT speculative workaround
  lib/cpus: Report AT speculative erratum workaround
  Add wrapper for AT instruction

5 years agoplat: imx8m: Fix the race condition during cpu hotplug
Jacky Bai [Tue, 7 Jan 2020 03:05:22 +0000 (11:05 +0800)]
plat: imx8m: Fix the race condition during cpu hotplug

CPU hotplug & cpuidle have some race condition when doing CPU hotplug
stress test. different CPU cores have the chance to access the same
GPC register(A53_AD), so lock is necessary to do exlusive access.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I1296592e05fa78429c3f0fac066951521db755e3

5 years agoMerge "SPM: Add third cactus partition to manifests" into integration
Manish Pandey [Thu, 20 Aug 2020 09:57:07 +0000 (09:57 +0000)]
Merge "SPM: Add third cactus partition to manifests" into integration

5 years agodoc: Minor formatting improvement in the coding guidelines document
Sandrine Bailleux [Thu, 20 Aug 2020 08:41:36 +0000 (10:41 +0200)]
doc: Minor formatting improvement in the coding guidelines document

Change-Id: I5362780db422772fd547dc8e68e459109edccdd0
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoMerge changes from topic "aw_drivevbus" into integration
André Przywara [Wed, 19 Aug 2020 22:29:58 +0000 (22:29 +0000)]
Merge changes from topic "aw_drivevbus" into integration

* changes:
  plat/allwinner: Only enable DRIVEVBUS if really needed
  plat/allwinner: Use common gicv2.mk

5 years agoMerge "libc/memset: Implement function in assembler" into integration
Mark Dykes [Wed, 19 Aug 2020 18:53:55 +0000 (18:53 +0000)]
Merge "libc/memset: Implement function in assembler" into integration

5 years agolibc/memset: Implement function in assembler
Alexei Fedorov [Sun, 16 Aug 2020 15:01:13 +0000 (16:01 +0100)]
libc/memset: Implement function in assembler

Trace analysis of FVP_Base_AEMv8A model running in
Aarch32 mode with the build options listed below:
TRUSTED_BOARD_BOOT=1 GENERATE_COT=1
ARM_ROTPK_LOCATION=devel_ecdsa KEY_ALG=ecdsa
ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_ecdsa.pem
shows that when auth_signature() gets called
71.84% of CPU execution time is spent in memset() function
written in C using single byte write operations,
see lib\libc\memset.c.
This patch replaces C memset() implementation with assembler
version giving the following results:
- for Aarch32 in auth_signature() call memset() CPU time
reduced to 24.84%.
- Number of CPU instructions executed during TF-A
boot stage before start of BL33 in RELEASE builds:
----------------------------------------------
|  Arch   |     C      |  assembler |    %   |
----------------------------------------------
| Aarch32 | 2073275460 | 1487400003 | -28.25 |
| Aarch64 | 2056807158 | 1244898303 | -39.47 |
----------------------------------------------
The patch also replaces memset.c with aarch64/memset.S
in plat\nvidia\tegra\platform.mk.

Change-Id: Ifbf085a2f577a25491e2d28446ee95a4ac891597
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "SPM: Change condition on saving/restoring EL2 registers" into integration
Manish Pandey [Wed, 19 Aug 2020 15:34:50 +0000 (15:34 +0000)]
Merge "SPM: Change condition on saving/restoring EL2 registers" into integration

5 years agoSPM: Add third cactus partition to manifests
Ruari Phipps [Fri, 17 Jul 2020 15:43:50 +0000 (16:43 +0100)]
SPM: Add third cactus partition to manifests

Add information about the third partition so it can be loaded into SPM
when running the tests

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I5544e88df391ef294ddf6b5750d468d3e74892b1

5 years agoSPM: Change condition on saving/restoring EL2 registers
Ruari Phipps [Tue, 28 Jul 2020 10:26:29 +0000 (11:26 +0100)]
SPM: Change condition on saving/restoring EL2 registers

Make this more scalable by explicitly checking internal and hardware
states at run_time

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I1c6ed1c1badb3538a93bff3ac5b5189b59cccfa1

5 years agoMerge "plat: qti: Fix build failure" into integration
Manish Pandey [Wed, 19 Aug 2020 11:44:55 +0000 (11:44 +0000)]
Merge "plat: qti: Fix build failure" into integration

5 years agoMerge changes Ic701675c,Ie55e25c8 into integration
Manish Pandey [Wed, 19 Aug 2020 11:27:58 +0000 (11:27 +0000)]
Merge changes Ic701675c,Ie55e25c8 into integration

* changes:
  plat: imx8m: Correct the imr mask reg offset
  plat: imx8m: Keep A53 PLAT on in wait mode(ret)

5 years agoplat: imx8m: Correct the imr mask reg offset
Jacky Bai [Wed, 22 Jul 2020 08:00:50 +0000 (16:00 +0800)]
plat: imx8m: Correct the imr mask reg offset

The number of gpc imr mask reg & the offset is different
on some SOC, so correct it & replace the magic number with
macro define.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Ic701675cdd92e043dcd7f06722f2e871068aec74

5 years agoplat: imx8m: Keep A53 PLAT on in wait mode(ret)
Jacky Bai [Mon, 9 Dec 2019 01:53:28 +0000 (09:53 +0800)]
plat: imx8m: Keep A53 PLAT on in wait mode(ret)

Keep A53 PLAT(SCU) power domain on in wait mode(ret).
RBC count only need to be set in PLAT OFF mode, so
change it accordingly.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Ie55e25c8210d298506fc4dca7a9653583db45e0c

5 years agoMerge "qemu/qemu_sbsa: enable SPM support" into integration
Manish Pandey [Wed, 19 Aug 2020 09:38:19 +0000 (09:38 +0000)]
Merge "qemu/qemu_sbsa: enable SPM support" into integration

5 years agoMerge changes from topic "tegra-downstream-07092020" into integration
Manish Pandey [Wed, 19 Aug 2020 09:37:38 +0000 (09:37 +0000)]
Merge changes from topic "tegra-downstream-07092020" into integration

* changes:
  Tegra: platform: add function to check t194 chip
  Tegra: common: make plat_psci_ops routines static

5 years agoTegra: platform: add function to check t194 chip
David Pu [Tue, 6 Aug 2019 00:00:31 +0000 (17:00 -0700)]
Tegra: platform: add function to check t194 chip

This patch adds tegra_chipid_is_t194() function to check if it is a
Tegra 194 chip.

Change-Id: I6da6d3a2c9676b748931e42fde1b174cbcb4fd40
Signed-off-by: David Pu <dpu@nvidia.com>
5 years agoTegra: common: make plat_psci_ops routines static
David Pu [Thu, 8 Aug 2019 21:20:03 +0000 (14:20 -0700)]
Tegra: common: make plat_psci_ops routines static

This patch makes Tegra platform psci ops routines to static. These
routines are called by PSCI framework and no external linkage is
necessary. This patch also fixes MISRA C-2012 Rule 8.6 violations.

Change-Id: Idd2381809f76dc0fd578c1c92c0f8eea124f2e88
Signed-off-by: David Pu <dpu@nvidia.com>
5 years agoqemu/qemu_sbsa: enable SPM support
Masahisa Kojima [Thu, 11 Jun 2020 12:46:44 +0000 (21:46 +0900)]
qemu/qemu_sbsa: enable SPM support

Enable the spm_mm framework for the qemu_sbsa platform.
Memory layout required for spm_mm is created in secure SRAM.

Co-developed-by: Fu Wei <fu.wei@linaro.org>
Signed-off-by: Fu Wei <fu.wei@linaro.org>
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Change-Id: I104a623e8bc1e44d035b95f014a13b3f8b33a62a

5 years agoMerge "runtime_exceptions: Update AT speculative workaround" into integration
Alexei Fedorov [Tue, 18 Aug 2020 16:53:25 +0000 (16:53 +0000)]
Merge "runtime_exceptions: Update AT speculative workaround" into integration

5 years agoMerge "el3_runtime: Rearrange context offset of EL1 sys registers" into integration
Alexei Fedorov [Tue, 18 Aug 2020 16:53:04 +0000 (16:53 +0000)]
Merge "el3_runtime: Rearrange context offset of EL1 sys registers" into integration

5 years agoMerge "el3_runtime: Update context save and restore routines for EL1 and EL2" into...
Alexei Fedorov [Tue, 18 Aug 2020 16:50:23 +0000 (16:50 +0000)]
Merge "el3_runtime: Update context save and restore routines for EL1 and EL2" into integration

5 years agoMerge changes from topic "soc-id" into integration
Manish Pandey [Tue, 18 Aug 2020 11:02:15 +0000 (11:02 +0000)]
Merge changes from topic "soc-id" into integration

* changes:
  plat/arm: juno: Implement methods to retrieve soc-id information
  plat/arm: fvp: Implement methods to retrieve soc-id information
  plat/arm: remove common code for soc-id feature

5 years agodoc: Update description for AT speculative workaround
Manish V Badarkhe [Fri, 31 Jul 2020 07:38:49 +0000 (08:38 +0100)]
doc: Update description for AT speculative workaround

Documented the CPU specific build macros created for AT
speculative workaround.

Updated the description of 'ERRATA_SPECULATIVE_AT' errata
workaround option.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Ie46a80d4e8183c1d5c8b153f08742a04d41a2af2

5 years agoruntime_exceptions: Update AT speculative workaround
Manish V Badarkhe [Thu, 23 Jul 2020 11:43:25 +0000 (12:43 +0100)]
runtime_exceptions: Update AT speculative workaround

As per latest mailing communication [1], we decided to
update AT speculative workaround implementation in order to
disable page table walk for lower ELs(EL1 or EL0) immediately
after context switching to EL3 from lower ELs.

Previous implementation of AT speculative workaround is available
here: 45aecff00

AT speculative workaround is updated as below:
1. Avoid saving and restoring of SCTLR and TCR registers for EL1
   in context save and restore routine respectively.
2. On EL3 entry, save SCTLR and TCR registers for EL1.
3. On EL3 entry, update EL1 system registers to disable stage 1
   page table walk for lower ELs (EL1 and EL0) and enable EL1
   MMU.
4. On EL3 exit, restore SCTLR and TCR registers for EL1 which
   are saved in step 2.

[1]:
https://lists.trustedfirmware.org/pipermail/tf-a/2020-July/000586.html

Change-Id: Iee8de16f81dc970a8f492726f2ddd57e7bd9ffb5
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoel3_runtime: Rearrange context offset of EL1 sys registers
Manish V Badarkhe [Tue, 28 Jul 2020 06:22:30 +0000 (07:22 +0100)]
el3_runtime: Rearrange context offset of EL1 sys registers

SCTLR and TCR registers of EL1 plays role in enabling/disabling of
page table walk for lower ELs (EL0 and EL1).
Hence re-arranged EL1 context offsets to have SCTLR and TCR registers
values one after another in the stack so that these registers values
can be saved and restored using stp and ldp instruction respectively.

Change-Id: Iaa28fd9eba82a60932b6b6d85ec8857a9acd5f8b
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agolib/cpus: Report AT speculative erratum workaround
Manish V Badarkhe [Mon, 3 Aug 2020 17:43:14 +0000 (18:43 +0100)]
lib/cpus: Report AT speculative erratum workaround

Reported the status (applies, missing) of AT speculative workaround
which is applicable for below CPUs.

 +---------+--------------+
 | Errata  |      CPU     |
 +=========+==============+
 | 1165522 |  Cortex-A76  |
 +---------+--------------+
 | 1319367 |  Cortex-A72  |
 +---------+--------------+
 | 1319537 |  Cortex-A57  |
 +---------+--------------+
 | 1530923 |  Cortex-A55  |
 +---------+--------------+
 | 1530924 |  Cortex-A53  |
 +---------+--------------+

Also, changes are done to enable common macro 'ERRATA_SPECULATIVE_AT'
if AT speculative errata workaround is enabled for any of the above
CPUs using 'ERRATA_*' CPU specific build macro.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I3e6a5316a2564071f3920c3ce9ae9a29adbe435b

5 years agoAdd wrapper for AT instruction
Manish V Badarkhe [Tue, 14 Jul 2020 13:43:12 +0000 (14:43 +0100)]
Add wrapper for AT instruction

In case of AT speculative workaround applied, page table walk
is disabled for lower ELs (EL1 and EL0) in EL3.
Hence added a wrapper function which temporarily enables page
table walk to execute AT instruction for lower ELs and then
disables page table walk.

Execute AT instructions directly for lower ELs (EL1 and EL0)
assuming page table walk is enabled always when AT speculative
workaround is not applied.

Change-Id: I4ad4c0bcbb761448af257e9f72ae979473c0dde8
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoel3_runtime: Update context save and restore routines for EL1 and EL2
Manish V Badarkhe [Tue, 28 Jul 2020 06:12:56 +0000 (07:12 +0100)]
el3_runtime: Update context save and restore routines for EL1 and EL2

As per latest mailing communication [1], we decided
not to update SCTLR and TCR registers in EL1 and EL2 context
restore routine when AT speculative workaround is enabled
hence reverted the changes done as part of this commit: 45aecff00.

[1]:
https://lists.trustedfirmware.org/pipermail/tf-a/2020-July/000586.html

Change-Id: I8c5f31d81fcd53770a610e302a5005d98772b71f
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat/arm: juno: Implement methods to retrieve soc-id information
Manish V Badarkhe [Tue, 4 Aug 2020 16:13:14 +0000 (17:13 +0100)]
plat/arm: juno: Implement methods to retrieve soc-id information

Implemented platform functions to retrieve the soc-id information
for juno platform

Change-Id: Ie677120710b45e202a2d63a954459ece8a64b353
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat/arm: fvp: Implement methods to retrieve soc-id information
Manish V Badarkhe [Tue, 4 Aug 2020 16:09:10 +0000 (17:09 +0100)]
plat/arm: fvp: Implement methods to retrieve soc-id information

Implemented platform functions to retrieve the soc-id information
for FVP platform.

Change-Id: Id3df02ab290a210310e8d34ec9d706a59d817517
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat/arm: remove common code for soc-id feature
Manish V Badarkhe [Tue, 4 Aug 2020 15:55:58 +0000 (16:55 +0100)]
plat/arm: remove common code for soc-id feature

Removed common code for soc-id feature which is applicable
for all arm platforms.

In subsequent patches, added a platform based functions
for FVP and Juno to retrieve the soc-id information.

Change-Id: Idb632a935758a6caff2ca03a6eab8f663da8a93a
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat: qti: Fix build failure
Manish V Badarkhe [Mon, 17 Aug 2020 05:44:20 +0000 (06:44 +0100)]
plat: qti: Fix build failure

Fixed build failure due to the commit:905f93c77 by removing
the inclusion of non-existent 'stdinit.h' file.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I8e3ca69c016b7a2354c58c4d384a492631c36286

5 years agoMerge "plat/arm: Use common build flag for using generic sp804 driver" into integration
Mark Dykes [Mon, 17 Aug 2020 21:08:44 +0000 (21:08 +0000)]
Merge "plat/arm: Use common build flag for using generic sp804 driver" into integration

5 years agoplat/arm: Use common build flag for using generic sp804 driver
Madhukar Pappireddy [Wed, 12 Aug 2020 18:18:19 +0000 (13:18 -0500)]
plat/arm: Use common build flag for using generic sp804 driver

SP804 TIMER is not platform specific, and current code base adds
multiple defines to use this driver. Like FVP_USE_SP804_TIMER and
FVP_VE_USE_SP804_TIMER.

This patch removes platform specific build flag and adds generic
flag `USE_SP804_TIMER` to be set to 1 by platform if needed.

Change-Id: I5ab792c189885fd1b98ddd187f3a38ebdd0baba2
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoplat/allwinner: Only enable DRIVEVBUS if really needed
Andre Przywara [Sun, 2 Aug 2020 23:25:21 +0000 (00:25 +0100)]
plat/allwinner: Only enable DRIVEVBUS if really needed

The DRIVEVBUS power rail of the AXP803 PMIC is mostly used to supply
the USB bus power on micro USB sockets, when used in host mode. As this
is a dynamic operation, and mostly we want micro USB sockets to act in
client mode initially, BL31 should not actually enable this power line.
However, on some boards DRIVEVBUS is used to supply power to normal
USB-A sockets. Failing to activate this line there results in
non-functional USB in U-Boot on those boards.

For that reason we were enabling DRIVEVBUS so far, as it did not seem to
cause any harm to the other boards. However it turns out that on the
Pinephone (and other systems with a battery), actually enabling DRIVEVBUS
unconditionally causes serious problems (reboot loop).

To accommodate both use cases, without reverting to a build time option,
check the default OTG configuration in the devicetree. For boards with
USB-A sockets this is set to "host", on boards with micro-B sockets to
"otg". Depending on this setting, we either enable DRIVEVBUS or leave it
alone.

This fixes TF-A on the Pinephone and potentially other battery powered
devices.

Change-Id: Iec0e07f218b2b4393bf4e05c3386261f8ed19e9f
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoplat/allwinner: Use common gicv2.mk
Andre Przywara [Sun, 2 Aug 2020 23:25:03 +0000 (00:25 +0100)]
plat/allwinner: Use common gicv2.mk

Compiling BL31 for the Allwinner platform now produces a message about
the deprecation of gic_common.c.
Follow the advice and use include gicv2.mk instead.

Collect all includes at the beginning of the file on the way.

Change-Id: Iee46e21a630bfa831d28059f09aa7b049eb554bb
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoMerge "doc: Refactor the contribution guidelines" into integration
Sandrine Bailleux [Mon, 17 Aug 2020 08:29:11 +0000 (08:29 +0000)]
Merge "doc: Refactor the contribution guidelines" into integration

5 years agoMerge "stm32mp1: use newly introduced GICv2 makefile" into integration
Madhukar Pappireddy [Sun, 16 Aug 2020 23:05:12 +0000 (23:05 +0000)]
Merge "stm32mp1: use newly introduced GICv2 makefile" into integration

5 years agoMerge "lib: cpus: denver: add some MIDR values" into integration
Varun Wadekar [Fri, 14 Aug 2020 20:32:44 +0000 (20:32 +0000)]
Merge "lib: cpus: denver: add some MIDR values" into integration

5 years agoMerge changes from topic "sb/contribution-guidelines" into integration
Mark Dykes [Fri, 14 Aug 2020 19:59:57 +0000 (19:59 +0000)]
Merge changes from topic "sb/contribution-guidelines" into integration

* changes:
  doc: Mention the TF-A Tech Forum as a way to contact developers
  doc: Emphasize that security issues must not be reported as normal bugs

5 years agoMerge "doc: Stop advising the creation of Phabricator issues" into integration
Mark Dykes [Fri, 14 Aug 2020 19:48:39 +0000 (19:48 +0000)]
Merge "doc: Stop advising the creation of Phabricator issues" into integration

5 years agoMerge changes from topic "tegra-downstream-07092020" into integration
Mark Dykes [Fri, 14 Aug 2020 19:12:35 +0000 (19:12 +0000)]
Merge changes from topic "tegra-downstream-07092020" into integration

* changes:
  Tegra: memctrl: remove unused TZRAM setup function
  Tegra: reorganize drivers and lib folders

5 years agostm32mp1: use newly introduced GICv2 makefile
Yann Gautier [Fri, 7 Aug 2020 07:48:30 +0000 (09:48 +0200)]
stm32mp1: use newly introduced GICv2 makefile

Include the GICv2 makefile in STM32MP1 SP_min makefile, and use
${GICV2_SOURCES} instead of taking drivers/arm/gic files directly.

Change-Id: Ibcaed5b0bd17f6d8cf200e208c11cc10cd6d2ee5
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agoMerge changes from topic "sp_dual_signing" into integration
Manish Pandey [Fri, 14 Aug 2020 15:58:04 +0000 (15:58 +0000)]
Merge changes from topic "sp_dual_signing" into integration

* changes:
  SPM: Add owner field to cactus secure partitions
  SPM: Alter sp_gen.mk entry depending on owner of partition
  plat/arm: enable support for Plat owned SPs

5 years agoSPM: Add owner field to cactus secure partitions
Ruari Phipps [Tue, 11 Aug 2020 14:28:03 +0000 (15:28 +0100)]
SPM: Add owner field to cactus secure partitions

For supporting dualroot CoT for Secure Partitions a new optional field
"owner" is introduced which will be used to sign the SP with
corresponding signing domain. To demonstrate its usage, this patch adds
owners to cactus Secure Partitions.

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I7b760580355fc92edf5402cecc38c38125dc1cae

5 years agoSPM: Alter sp_gen.mk entry depending on owner of partition
Ruari Phipps [Fri, 24 Jul 2020 15:20:57 +0000 (16:20 +0100)]
SPM: Alter sp_gen.mk entry depending on owner of partition

With recently introduced dualroot CoT for SPs where they are owned
either by SiP or by Platform. SiP owned SPs index starts at SP_PKG1_ID
while Plat owned SPs index starts at SP_PKG5_ID.

This patch modifies SP makefile generator script to take CoT as an
argument and if it is "dualroot" then generates SP_PKG in order
mentioned above, otherwise generates it sequentially.

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: Iffad1131787be650a9462f6f8cc09b603cddb3b8

5 years agoplat/arm: enable support for Plat owned SPs
Manish Pandey [Fri, 31 Jul 2020 15:15:16 +0000 (16:15 +0100)]
plat/arm: enable support for Plat owned SPs

For Arm platforms SPs are loaded by parsing tb_fw_config.dts and
adding them to SP structure sequentially, which in-turn is appended to
loadable image list.

With recently introduced dualroot CoT for SPs where they are owned
either by SiP or by Platform. SiP owned SPs index starts at SP_PKG1_ID
and Plat owned SPs index starts at SP_PKG5_ID. As the start index of SP
depends on the owner, there should be a mechanism to parse owner of a SP
and put it at the correct index in SP structure.

This patch adds support for parsing a new optional field "owner" and
based on it put SP details(UUID & Load-address) at the correct index in
SP structure.

Change-Id: Ibd255b60d5c45023cc7fdb10971bef6626cb560b
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
5 years agodoc: Refactor the contribution guidelines
Sandrine Bailleux [Wed, 12 Aug 2020 09:29:46 +0000 (11:29 +0200)]
doc: Refactor the contribution guidelines

Ensuring that each file changed by a patch has the correct copyright and
license information does not only apply to documentation files but to
all files within the source tree.

Move the guidance for copyright and license headers out of the paragraph
about updating the documentation to avoid any confusion.

Also do some cosmetic changes (adding empty lines, fitting in longer
lines in the 80-column limit, ...) to improve the readability of the RST
file.

Change-Id: I241a2089ca9db70f5a9f26b7070b947674b43265
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agodoc: Mention the TF-A Tech Forum as a way to contact developers
Sandrine Bailleux [Wed, 12 Aug 2020 11:41:41 +0000 (13:41 +0200)]
doc: Mention the TF-A Tech Forum as a way to contact developers

Change-Id: Ib4ad853ebb6e28adcf9ed14714d43799f9370343
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agodoc: Emphasize that security issues must not be reported as normal bugs
Sandrine Bailleux [Wed, 12 Aug 2020 08:52:32 +0000 (10:52 +0200)]
doc: Emphasize that security issues must not be reported as normal bugs

Change-Id: I43e452c9993a8608b20ec029562982f5dcf8e6b2
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agodoc: Stop advising the creation of Phabricator issues
Sandrine Bailleux [Mon, 3 Aug 2020 08:27:19 +0000 (10:27 +0200)]
doc: Stop advising the creation of Phabricator issues

We have noticed that Phabricator (the ticketing system on tf.org [1])
has far less visibility within the community than the mailing list [2].
For this reason, let's drop usage of Phabricator for anything else than
bug reports. For the rest, advise contributors to start a discussion on
the mailing list, where they are more likely to get feedback.

[1] https://developer.trustedfirmware.org/project/board/1/
[2] https://lists.trustedfirmware.org/mailman/listinfo/tf-a

Change-Id: I7d2d3d305ad0a0f8aacc2a2f25eb5ff429853a3f
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoMerge changes from topic "sp_dual_signing" into integration
Sandrine Bailleux [Fri, 14 Aug 2020 11:44:58 +0000 (11:44 +0000)]
Merge changes from topic "sp_dual_signing" into integration

* changes:
  dualroot: add chain of trust for Platform owned SPs
  cert_create: add Platform owned secure partitions support

5 years agoMerge "Use true instead of 1 in while" into integration
Sandrine Bailleux [Fri, 14 Aug 2020 11:43:05 +0000 (11:43 +0000)]
Merge "Use true instead of 1 in while" into integration

5 years agoMerge changes from topic "bl1-misra" into integration
Sandrine Bailleux [Fri, 14 Aug 2020 11:38:25 +0000 (11:38 +0000)]
Merge changes from topic "bl1-misra" into integration

* changes:
  Specify signed-ness of constants
  Prevent colliding identifiers

5 years agoUse true instead of 1 in while
Jimmy Brisson [Thu, 6 Aug 2020 15:50:15 +0000 (10:50 -0500)]
Use true instead of 1 in while

This resolves MISRA defects such as:

    plat/common/plat_bl1_common.c:63:[MISRA C-2012 Rule 14.4 (required)]
    The condition expression "1" does not have an essentially boolean type.

Change-Id: I679411980ad661191fbc834a44a5eca5494fd0e2
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
5 years agoSpecify signed-ness of constants
Jimmy Brisson [Wed, 5 Aug 2020 20:33:40 +0000 (15:33 -0500)]
Specify signed-ness of constants

We relyed on the default signed-ness of constants, which is usually
signed. This can create MISRA violations, such as:

     bl1/bl1_main.c:257:[MISRA C-2012 10.8 (required)] Cast of composite
     expression off essential type signed to essential type unsigned

These constants were only used as unsigned, so this patch makes them
explicitly unsigned.

Change-Id: I5f1310c881e936077035fbb1d5ffb449b45de3ad
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
5 years agoPrevent colliding identifiers
Jimmy Brisson [Wed, 5 Aug 2020 19:05:53 +0000 (14:05 -0500)]
Prevent colliding identifiers

There was a collision between the name of the typedef in the CASSERT and
something else, so we make the name of the typedef unique to the
invocation of DEFFINE_SVC_UUID2 by appending the name that's passed into
the macro. This eliminates the following MISRA violation:

    bl1/bl1_main.c:233:[MISRA C-2012 Rule 5.6 (required)] Identifier
    "invalid_svc_uuid" is already used to represent a typedef.

This also resolves MISRA rule 5.9.

These renamings are as follows:
  * tzram -> secram. This matches the function call name as it has
  sec_mem in it's  name
  * fw_config_base -> config_base. This file does not mess with
  hw_conig, so there's little chance of confusion

Change-Id: I8734ba0956140c8e29b89d0596d10d61a6ef351e
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
5 years agoMerge "lib: cpus: denver: mark exception vectors as private" into integration
Mark Dykes [Thu, 13 Aug 2020 21:09:09 +0000 (21:09 +0000)]
Merge "lib: cpus: denver: mark exception vectors as private" into integration

5 years agoMerge "qti: Add RNG driver" into integration
joanna.farley [Thu, 13 Aug 2020 17:35:43 +0000 (17:35 +0000)]
Merge "qti: Add RNG driver" into integration

5 years agoqti: Add RNG driver
Saurabh Gorecha [Wed, 8 Jul 2020 20:50:08 +0000 (02:20 +0530)]
qti: Add RNG driver

This patch adds RNG driver and use it to generate random number for stack
protection.

Change-Id: I73d79e68d08b5aa902dc7fad48e17a03f996178d
Signed-off-by: Saurabh Gorecha <sgorecha@codeaurora.org>
5 years agoMerge "TF-A AMU: remove AMU enable info print" into integration
Madhukar Pappireddy [Thu, 13 Aug 2020 16:51:46 +0000 (16:51 +0000)]
Merge "TF-A AMU: remove AMU enable info print" into integration

5 years agoTF-A AMU: remove AMU enable info print
Olivier Deprez [Thu, 13 Aug 2020 10:55:54 +0000 (12:55 +0200)]
TF-A AMU: remove AMU enable info print

Following f3ccf036ecb1ae1628 the INFO print in amu_enable is causing
a lot of print outs on UART1 in DEBUG mode especially on PSCI test
cases because CPU_ON or SUSPEND operations call:
cm_prepare_el3_exit => enable_extensions_nonsecure => amu_enable.
PSCI SUSPEND is also very frequent in linux boot cases causing test
timeout failures.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I63581f8fa489d44b3b1d10af3b7f6fdf3af44720

5 years agodualroot: add chain of trust for Platform owned SPs
Manish Pandey [Fri, 31 Jul 2020 15:25:17 +0000 (16:25 +0100)]
dualroot: add chain of trust for Platform owned SPs

For dualroot CoT there are two sets of SP certificates, one owned by
Silicon Provider(SiP) and other owned by Platform. Each certificate can
have a maximum of 4 SPs.

This patch reduces the number of SiP owned SPs from 8 to 4 and adds
the remaining 4 to Plat owned SP.
Plat owned SP certificate is signed using Platform RoT key and
protected against anti-rollback using the Non-trusted Non-volatile
counter.

Change-Id: Idc3ddd87d6d85a5506a7435f45a6ec17c4c50425
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
5 years agocert_create: add Platform owned secure partitions support
Manish Pandey [Fri, 24 Jul 2020 15:43:54 +0000 (16:43 +0100)]
cert_create: add Platform owned secure partitions support

Add support to generate a certificate named "plat-sp-cert" for Secure
Partitions(SP) owned by Platform.
Earlier a single certificate file "sip-sp-cert" was generated which
contained hash of all 8 SPs, with this change SPs are divided into
two categories viz "SiP owned" and "Plat owned" containing 4 SPs each.

Platform RoT key pair is used for signing.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I5bd493cfce4cf3fc14b87c8ed1045f633d0c92b6

5 years agoMerge "TF-A AMU extension: fix detection of group 1 counters." into integration
Mark Dykes [Tue, 11 Aug 2020 15:30:13 +0000 (15:30 +0000)]
Merge "TF-A AMU extension: fix detection of group 1 counters." into integration

5 years agoMerge "plat/arm: Reduce size of BL31 binary" into integration
Manish Pandey [Tue, 11 Aug 2020 10:24:26 +0000 (10:24 +0000)]
Merge "plat/arm: Reduce size of BL31 binary" into integration