]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agofdts: add device tree sources for morello platform
Manoj Kumar [Fri, 31 Jul 2020 11:32:36 +0000 (12:32 +0100)]
fdts: add device tree sources for morello platform

Change-Id: Ib5945c37983505f327a195bdb8b91ed1b7b90921
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
5 years agolib/cpus: add support for Morello Rainier CPUs
Manoj Kumar [Thu, 9 Jul 2020 08:56:02 +0000 (09:56 +0100)]
lib/cpus: add support for Morello Rainier CPUs

This patch adds CPU support for the Rainier CPU which is
derived from Neoverse N1 r4p0 CPU and implements the
Morello capability architecture.

Change-Id: Ic6b796481da5a66504ecb0648879446edf4c69fb
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
5 years agoMerge changes from topic "stm32_drivers_update" into integration
Manish Pandey [Fri, 25 Sep 2020 08:30:53 +0000 (08:30 +0000)]
Merge changes from topic "stm32_drivers_update" into integration

* changes:
  clk: stm32mp1: fix rcc mckprot status
  drivers: st: add missing includes in ETZPC header
  mmc: st: clear some flags before sending a command
  mmc: st: correct retries management
  nand: raw_nand: fix timeout issue in nand_wait_ready
  mtd: spi_nor: change message level on macronix detection
  gpio: stm32_gpio: check GPIO node status after checking DT
  crypto: stm32_hash: fix issue when restarting computation

5 years agoMerge changes from topic "tc0_architecture_change" into integration
Olivier Deprez [Fri, 25 Sep 2020 07:08:36 +0000 (07:08 +0000)]
Merge changes from topic "tc0_architecture_change" into integration

* changes:
  plat: tc0: enable TZC
  fdts: tc0: update MHUv2 interrupt number

5 years agoMerge "plat/arm/css/sgi: Map flash used for mem_protect" into integration
Manish Pandey [Thu, 24 Sep 2020 21:53:38 +0000 (21:53 +0000)]
Merge "plat/arm/css/sgi: Map flash used for mem_protect" into integration

5 years agoMerge "plat/arm: Introduce and use libc_asm.mk makefile" into integration
Olivier Deprez [Thu, 24 Sep 2020 14:39:24 +0000 (14:39 +0000)]
Merge "plat/arm: Introduce and use libc_asm.mk makefile" into integration

5 years agoplat/arm/css/sgi: Map flash used for mem_protect
Sami Mujawar [Thu, 30 Apr 2020 14:50:34 +0000 (15:50 +0100)]
plat/arm/css/sgi: Map flash used for mem_protect

The SGI platform defines the macro PLAT_ARM_MEM_PROT_ADDR which
indicates that the platform has mitigation for cold reboot attacks.

However, the flash memory used for the mem_protect region was not
mapped. This results in a crash when an OS calls PSCI MEM_PROTECT.

To fix this map the flash region used for mem_protect.

Change-Id: Ia494f924ecfe2ce835c045689ba8f942bf0941f4
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
5 years agoMerge "Select the Log Level for the Event Log Dump on Measured Boot at build time...
Alexei Fedorov [Thu, 24 Sep 2020 10:11:21 +0000 (10:11 +0000)]
Merge "Select the Log Level for the Event Log Dump on Measured Boot at build time." into integration

5 years agoplat: tc0: enable TZC
Usama Arif [Tue, 18 Aug 2020 11:30:37 +0000 (12:30 +0100)]
plat: tc0: enable TZC

Change-Id: Ic2bb8482f0b602f6b7850d4fa553448bc4931edc
Signed-off-by: Usama Arif <usama.arif@arm.com>
5 years agoclk: stm32mp1: fix rcc mckprot status
Etienne Carriere [Wed, 5 Feb 2020 09:03:27 +0000 (10:03 +0100)]
clk: stm32mp1: fix rcc mckprot status

MCKPROT hardening in RCC mandates that both bits RCC[TZEN] and
RCC[MCKPROT] are enabled. This change fixes stm32mp1_rcc_is_mckprot()
to check both bits, not RCC[MCKPROT] only.

This change also updates stm32mp1_rcc_is_secure() for consistency.

Change-Id: If1f07babdcb5677906ddbf974d9dc17255d4e174
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agodrivers: st: add missing includes in ETZPC header
Yann Gautier [Mon, 7 Sep 2020 11:46:04 +0000 (13:46 +0200)]
drivers: st: add missing includes in ETZPC header

Depending on compiler, the issue about bool or uint*_t not defined can
appear.
Correct this by adding stdbool.h and stdint.h includes in etzpc.h.

Change-Id: If1419dc511efbe682459fa4a776481fa52a38aa3
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agommc: st: clear some flags before sending a command
Yann Gautier [Fri, 12 Jun 2020 12:14:26 +0000 (14:14 +0200)]
mmc: st: clear some flags before sending a command

The ICR static flags are cleared before sending a command.
The SDMMC_DCTRLR register is set to 0 if no data is expected on a given
command or on the next command in case of CMD55.

Change-Id: I5ae172a484218f53160e98b3684967c6960475a6
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agommc: st: correct retries management
Yann Gautier [Fri, 12 Jun 2020 10:17:17 +0000 (12:17 +0200)]
mmc: st: correct retries management

The retries number should be 3.
A warning message is added in mmc_block_read(), and the code is refactored.

Change-Id: I577c7dd91c451c7580b1660042cb5fe26ee3fa12
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agonand: raw_nand: fix timeout issue in nand_wait_ready
Lionel Debieve [Wed, 26 Aug 2020 14:17:02 +0000 (16:17 +0200)]
nand: raw_nand: fix timeout issue in nand_wait_ready

nand_wait_ready is called with a millisecond delay
but the timeout used a micro second. Fixing the conversion
in the timeout call.
The prototype of the function is also changed to use an unsigned int
parameter.

Change-Id: Ia3281be7980477dfbfdb842308d35ecd8b926fb8
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agomtd: spi_nor: change message level on macronix detection
Lionel Debieve [Mon, 27 Apr 2020 07:50:48 +0000 (09:50 +0200)]
mtd: spi_nor: change message level on macronix detection

Change the detection message from WARN to INFO when macronix
NOR is detected.

Change-Id: I488696f1fb75b823e85decfcd6cd32e7b36a6c2e
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agogpio: stm32_gpio: check GPIO node status after checking DT
Yann Gautier [Fri, 4 Sep 2020 11:25:27 +0000 (13:25 +0200)]
gpio: stm32_gpio: check GPIO node status after checking DT

The call to fdt_get_status(node) has to be done after the DT is found
to be valid.

Fixes: 1fc2130c5 stm32mp1: update device tree and gpio functions
Change-Id: I70f803aae3dde128a9e740f54c8837b64cb1a244
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agocrypto: stm32_hash: fix issue when restarting computation
Lionel Debieve [Fri, 31 Jan 2020 15:17:37 +0000 (16:17 +0100)]
crypto: stm32_hash: fix issue when restarting computation

While restarting a new hash computation, STR register
is not cleared. It needs to be written before each
computation.

Change-Id: If65902dd21f9c139ec5da3ca87721232f73710db
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agoMerge "libc: Import strtok_r from FreeBSD project" into integration
Lauren Wehrmeister [Wed, 23 Sep 2020 14:16:39 +0000 (14:16 +0000)]
Merge "libc: Import strtok_r from FreeBSD project" into integration

5 years agofdts: tc0: update MHUv2 interrupt number
Usama Arif [Tue, 18 Aug 2020 11:56:44 +0000 (12:56 +0100)]
fdts: tc0: update MHUv2 interrupt number

This is as part of the architecture change in TC0.

Change-Id: I470241f67938e7998941d26f0e8bc05073234152
Signed-off-by: Usama Arif <usama.arif@arm.com>
5 years agoSelect the Log Level for the Event Log Dump on Measured Boot at build time.
Javier Almansa Sobrino [Fri, 18 Sep 2020 15:47:07 +0000 (16:47 +0100)]
Select the Log Level for the Event Log Dump on Measured Boot at build time.

Builds in Debug mode with Measured Boot enabled might run out of trusted
SRAM. This patch allows to change the Log Level at which the Measured Boot
driver will dump the event log, so the latter can be accessed even on
Release builds if necessary, saving space on RAM.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I133689e313776cb3f231b774c26cbca4760fa120

5 years agoMerge "plat: marvell: ap807: implement workaround for errata-id 3033912" into integration
Manish Pandey [Tue, 22 Sep 2020 10:55:51 +0000 (10:55 +0000)]
Merge "plat: marvell: ap807: implement workaround for errata-id 3033912" into integration

5 years agoMerge "SPMC: adjust the number of EC context to max number of PEs" into integration
Manish Pandey [Tue, 22 Sep 2020 09:50:31 +0000 (09:50 +0000)]
Merge "SPMC: adjust the number of EC context to max number of PEs" into integration

5 years agoMerge "n1sdp: add support for remote chip pcie." into integration
Manish Pandey [Mon, 21 Sep 2020 12:10:07 +0000 (12:10 +0000)]
Merge "n1sdp: add support for remote chip pcie." into integration

5 years agoMerge "build_macros.mk: include assert and define loop macros" into integration
Olivier Deprez [Mon, 21 Sep 2020 08:28:50 +0000 (08:28 +0000)]
Merge "build_macros.mk: include assert and define loop macros" into integration

5 years agoMerge "defaults.mk: default KEY_SIZE to 2048 in case of RSA algorithm" into integration
Olivier Deprez [Mon, 21 Sep 2020 08:28:28 +0000 (08:28 +0000)]
Merge "defaults.mk: default KEY_SIZE to 2048 in case of RSA algorithm" into integration

5 years agolibc: Import strtok_r from FreeBSD project
Madhukar Pappireddy [Wed, 16 Sep 2020 23:58:49 +0000 (18:58 -0500)]
libc: Import strtok_r from FreeBSD project

From commit: 21571b1d140ae7bb44e94c0afba2ec61456b275b
Made small changes to fit into TF-A project

Change-Id: I991f653a7ace04f9c84bcda78ad8d7114ea18e93
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge changes from topic "ehf_common" into integration
Manish Pandey [Fri, 18 Sep 2020 14:20:02 +0000 (14:20 +0000)]
Merge changes from topic "ehf_common" into integration

* changes:
  plat: tegra: Use generic ehf defines
  ehf: use common priority level enumuration

5 years agoMerge "spmd: remove assert for SPMC PC value" into integration
Mark Dykes [Thu, 17 Sep 2020 19:48:27 +0000 (19:48 +0000)]
Merge "spmd: remove assert for SPMC PC value" into integration

5 years agoMerge "doc: Recommend using C rather than assembly language" into integration
Madhukar Pappireddy [Wed, 16 Sep 2020 18:00:21 +0000 (18:00 +0000)]
Merge "doc: Recommend using C rather than assembly language" into integration

5 years agon1sdp: add support for remote chip pcie.
Sayanta Pattanayak [Fri, 31 Jul 2020 07:46:13 +0000 (13:16 +0530)]
n1sdp: add support for remote chip pcie.

Remote chip  ITS, SMMU, PCIe nodes are added for enabling remote
chip PCIe hierarchy.

Change-Id: I5b3ca733715defa38e413588ccd13d0688cba271
Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
5 years agoMerge "SPE: Fix feature detection" into integration
Madhukar Pappireddy [Tue, 15 Sep 2020 21:21:24 +0000 (21:21 +0000)]
Merge "SPE: Fix feature detection" into integration

5 years agoMerge changes from topic "cot-parser" into integration
Madhukar Pappireddy [Tue, 15 Sep 2020 16:53:56 +0000 (16:53 +0000)]
Merge changes from topic "cot-parser" into integration

* changes:
  plat/arm: fvp: Increase BL2 maximum size
  lib: fconf: Implement a parser to populate CoT

5 years agoMerge "doc: Correct CPACR.FPEN usage" into integration
Mark Dykes [Tue, 15 Sep 2020 16:44:09 +0000 (16:44 +0000)]
Merge "doc: Correct CPACR.FPEN usage" into integration

5 years agoSPMC: adjust the number of EC context to max number of PEs
Olivier Deprez [Tue, 15 Sep 2020 15:23:47 +0000 (17:23 +0200)]
SPMC: adjust the number of EC context to max number of PEs

According to [1] and in context of FF-A v1.0 a secure partition must
have either one EC (migratable UP) or a number of ECs equal to the
number of PEs (pinned MP). Adjust the SPMC manifest such that the
number of ECs is equal to the number of PEs.

[1] https://trustedfirmware-a.readthedocs.io/en/latest/components/
secure-partition-manager.html#platform-topology

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

5 years agoplat/arm: fvp: Increase BL2 maximum size
Manish V Badarkhe [Fri, 4 Sep 2020 14:01:30 +0000 (15:01 +0100)]
plat/arm: fvp: Increase BL2 maximum size

Increased BL2 maximum size when CoT descriptors are placed
in device tree.

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

5 years agolib: fconf: Implement a parser to populate CoT
Manish V Badarkhe [Thu, 23 Jul 2020 09:43:57 +0000 (10:43 +0100)]
lib: fconf: Implement a parser to populate CoT

Implemented a parser which populates the properties of
the CoT descriptors as per the binding document [1].
'COT_DESC_IN_DTB' build option is disabled by default and can
be enabled in future for all Arm platforms by making necessary
changes in the memory map.
Currently, this parser is tested only for FVP platform.

[1]:
https://trustedfirmware-a.readthedocs.io/en/latest/components/cot-binding.html

Change-Id: I2f911206087a1a2942aa728de151d2ac269d27cc
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoMerge "doc: add description of "owner" field in SP layout file." into integration
Madhukar Pappireddy [Tue, 15 Sep 2020 14:33:27 +0000 (14:33 +0000)]
Merge "doc: add description of "owner" field in SP layout file." into integration

5 years agoMerge changes from topic "sami/834_fiptool_pack_issue_win_v1" into integration
Manish Pandey [Tue, 15 Sep 2020 14:05:34 +0000 (14:05 +0000)]
Merge changes from topic "sami/834_fiptool_pack_issue_win_v1" into integration

* changes:
  Update makefile to build fiptool for Windows
  Fix fiptool packaging issue on windows

5 years agodoc: add description of "owner" field in SP layout file.
Manish Pandey [Wed, 12 Aug 2020 16:06:25 +0000 (17:06 +0100)]
doc: add description of "owner" field in SP layout file.

Change-Id: Iedaa83ed546eb2476849a8d53f6e05b847a48b23
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
5 years agoMerge "fdts: corstone700: add NXP isp1763 node to device tree" into integration
Manish Pandey [Tue, 15 Sep 2020 06:32:12 +0000 (06:32 +0000)]
Merge "fdts: corstone700: add NXP isp1763 node to device tree" into integration

5 years agoMerge "rockchip: don't crash if we get an FDT we can't parse" into integration
Mark Dykes [Mon, 14 Sep 2020 21:49:38 +0000 (21:49 +0000)]
Merge "rockchip: don't crash if we get an FDT we can't parse" into integration

5 years agoSPE: Fix feature detection
Andre Przywara [Fri, 11 Sep 2020 08:18:09 +0000 (09:18 +0100)]
SPE: Fix feature detection

Currently the feature test for the SPE extension requires the feature
bits in the ID_AA64DFR0 register to read exactly 0b0001.
However the architecture guarantees that any values greater than 0
indicate the presence of a feature, which is what we are after in
our spe_supported() function.

Change the comparison to include all values greater than 0.

This fixes SPE support in non-secure world on implementations which
include the Scalable Vector Extension (SVE), for instance on Zeus cores.

Change-Id: If6cbd1b72d6abb8a303e2c0a7839d508f071cdbe
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agobuild_macros.mk: include assert and define loop macros
Leonardo Sandoval [Thu, 10 Sep 2020 17:18:27 +0000 (12:18 -0500)]
build_macros.mk: include assert and define loop macros

Loop macros make it easier for developers to include new variables to
assert or define and also help code code readability on makefiles.

Change-Id: I0d21d6e67b3eca8976c4d856ac8ccc02c8bb5ffa
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@linaro.org>
5 years agoUpdate makefile to build fiptool for Windows
Sami Mujawar [Thu, 30 Apr 2020 11:41:57 +0000 (12:41 +0100)]
Update makefile to build fiptool for Windows

Although support for building fiptool on a Windows host was present,
the binary was not built when the top level makefile was invoked.

This patch makes the necessary changes to the to support building of
fiptool on a Windows host PC from the main makefile.

Change-Id: I0c01ba237fa3010a027a1b324201131210cf4d7c
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
5 years agoFix fiptool packaging issue on windows
Sami Mujawar [Thu, 30 Apr 2020 11:40:22 +0000 (12:40 +0100)]
Fix fiptool packaging issue on windows

Windows does not have a standard getopt implementation. To address
this an equivalent implementation has been provided in win_posix.c
However, the implementation has an issue with option processing as
described below.

Long option names may be abbreviated if the abbreviation is unique
or an exact match for some defined option.
Since some options can be substring of other options e.g. "scp-fw"
option is a substring of "scp-fwu-cfg", we need to identify if an
option is abbreviated and also check for uniqueness. Otherwise if
a user passes --scp-fw as an option, the "scp-fwu-cfg" option may
get selected, resulting in an incorrectly packaged FIP.

This issue has been be fixed by:
  - First searching for an exact match.
  - If exact match was not found search for a abbreviated match.
By doing this an incorrect option selection can be avoided.

Change-Id: I22f4e7a683f3df857f5b6f0783bf9b03a64a0bcc
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
5 years agodoc: Correct CPACR.FPEN usage
Peng Fan [Fri, 21 Aug 2020 02:47:17 +0000 (10:47 +0800)]
doc: Correct CPACR.FPEN usage

To avoid trapping from EL0/1, FPEN bits need to be set 0x3, not
clearing.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Change-Id: Ic34e9aeb876872883c5f040618ed6d50f21dacd0

5 years agoMerge "libc: Import strlcat from FreeBSD project" into integration
Mark Dykes [Fri, 11 Sep 2020 18:44:19 +0000 (18:44 +0000)]
Merge "libc: Import strlcat from FreeBSD project" into integration

5 years agoMerge "libc: Add support for vsnprintf()" into integration
Mark Dykes [Fri, 11 Sep 2020 18:42:23 +0000 (18:42 +0000)]
Merge "libc: Add support for vsnprintf()" into integration

5 years agolibc: Add support for vsnprintf()
Madhukar Pappireddy [Wed, 9 Sep 2020 00:00:00 +0000 (19:00 -0500)]
libc: Add support for vsnprintf()

It uses the existing implementation of snprintf() function

Change-Id: Ie59418564c2e415222e819cf322c34e9a4d1f336
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge "Workaround for Neoverse N1 erratum 1868343" into integration
Madhukar Pappireddy [Fri, 11 Sep 2020 14:56:35 +0000 (14:56 +0000)]
Merge "Workaround for Neoverse N1 erratum 1868343" into integration

5 years agoMerge "tc0: increase SCP_BL2 size to 128 kB" into integration
Manish Pandey [Fri, 11 Sep 2020 14:01:50 +0000 (14:01 +0000)]
Merge "tc0: increase SCP_BL2 size to 128 kB" into integration

5 years agoMerge "SPM: Get rid of uint32_t array representation of UUID" into integration
Manish Pandey [Fri, 11 Sep 2020 10:47:48 +0000 (10:47 +0000)]
Merge "SPM: Get rid of uint32_t array representation of UUID" into integration

5 years agoMerge "tools: Set the tool's default binary name" into integration
Mark Dykes [Thu, 10 Sep 2020 19:00:20 +0000 (19:00 +0000)]
Merge "tools: Set the tool's default binary name" into integration

5 years agoWorkaround for Neoverse N1 erratum 1868343
johpow01 [Wed, 5 Aug 2020 17:27:12 +0000 (12:27 -0500)]
Workaround for Neoverse N1 erratum 1868343

Neoverse N1 erratum 1868343 is a Cat B erratum, present in older
revisions of the Neoverse N1 processor core.  The workaround is to
set a bit in the CPUACTLR_EL1 system register, which delays instruction
fetch after branch misprediction. This workaround will have a small
impact on performance.

SDEN can be found here:
https://documentation-service.arm.com/static/5f2c130260a93e65927bc92f

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I37da2b3b2da697701b883bff9a1eff2772352844

5 years agodefaults.mk: default KEY_SIZE to 2048 in case of RSA algorithm
Leonardo Sandoval [Thu, 18 Jun 2020 22:32:55 +0000 (17:32 -0500)]
defaults.mk: default KEY_SIZE to 2048 in case of RSA algorithm

According to the documentation [1], KEY_SIZE defaults to 2048 when RSA
algorithm is chosen, so set this value on the make's defaults file.

[1] https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/build-options.html

Change-Id: I030f98363198a752bc0dd03528f748de527d48d8
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@linaro.org>
5 years agoMerge "plat/arm: rdn1edge: Correct mismatched parenthesis in makefile" into integration
Manish Pandey [Thu, 10 Sep 2020 14:40:16 +0000 (14:40 +0000)]
Merge "plat/arm: rdn1edge: Correct mismatched parenthesis in makefile" into integration

5 years agoMerge "Addition of standard APIs in qtiseclib interface" into integration
Madhukar Pappireddy [Thu, 10 Sep 2020 14:28:35 +0000 (14:28 +0000)]
Merge "Addition of standard APIs in qtiseclib interface" into integration

5 years agotc0: increase SCP_BL2 size to 128 kB
Usama Arif [Mon, 7 Sep 2020 17:11:22 +0000 (18:11 +0100)]
tc0: increase SCP_BL2 size to 128 kB

The size of debug binaries of SCP has increased beyond the current
limit of 80kB set in platform. Hence, increase it to 128kB.

Change-Id: I5dbcf87f8fb35672b39abdb942c0691fb339444a
Signed-off-by: Usama Arif <usama.arif@arm.com>
5 years agoplat: tegra: Use generic ehf defines
Sandeep Tripathy [Wed, 26 Aug 2020 14:24:41 +0000 (19:54 +0530)]
plat: tegra: Use generic ehf defines

Use common ehf file for generic frameworks like SDEI, RAS and
extend plat specific defines using 'PLAT_EHF_DESC'.

Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
Change-Id: I8a8161c6030f8d226a8bdf0301e7fe6139f019a4

5 years agoplat/arm: rdn1edge: Correct mismatched parenthesis in makefile
Anders Dellien [Thu, 10 Sep 2020 08:49:42 +0000 (09:49 +0100)]
plat/arm: rdn1edge: Correct mismatched parenthesis in makefile

This fixes build errors for rdn1edge

Change-Id: I63f7ebff68679e1e859f8786d4def4960c0f2ddf
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
5 years agoSPM: Get rid of uint32_t array representation of UUID
Ruari Phipps [Mon, 10 Aug 2020 14:53:45 +0000 (15:53 +0100)]
SPM: Get rid of uint32_t array representation of UUID

UUID's in the device tree files were stored in little endian. So
to keep all entries in these files RFC 4122 compliant, store them in
big endian then convert it to little endian when they are read so they
can be used in the UUID data structure.

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

5 years agolibc: Import strlcat from FreeBSD project
Madhukar Pappireddy [Fri, 4 Sep 2020 19:04:23 +0000 (14:04 -0500)]
libc: Import strlcat from FreeBSD project

From commit: 21571b1d140ae7bb44e94c0afba2ec61456b275b
Made small changes to fit into TF-A project

Change-Id: I07fd7fe1037857f6b299c35367c104fb51fa5cfa
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge "libc: memset: improve performance by avoiding single byte writes" into integration
Mark Dykes [Wed, 9 Sep 2020 18:36:08 +0000 (18:36 +0000)]
Merge "libc: memset: improve performance by avoiding single byte writes" into integration

5 years agoMerge "mediatek: Add jedec info" into integration
Madhukar Pappireddy [Wed, 9 Sep 2020 17:03:28 +0000 (17:03 +0000)]
Merge "mediatek: Add jedec info" into integration

5 years agoMerge "plat/arm: Add dependencies to configuration files" into integration
Manish Pandey [Wed, 9 Sep 2020 09:52:33 +0000 (09:52 +0000)]
Merge "plat/arm: Add dependencies to configuration files" into integration

5 years agoMerge "plat: Fix build issue for qemu and rpi3 platforms" into integration
Olivier Deprez [Wed, 9 Sep 2020 09:44:13 +0000 (09:44 +0000)]
Merge "plat: Fix build issue for qemu and rpi3 platforms" into integration

5 years agoMerge "Fix: fixing coverity issue for SPM Core." into integration
Olivier Deprez [Wed, 9 Sep 2020 09:04:37 +0000 (09:04 +0000)]
Merge "Fix: fixing coverity issue for SPM Core." into integration

5 years agoAddition of standard APIs in qtiseclib interface
Saurabh Gorecha [Mon, 7 Sep 2020 09:22:20 +0000 (14:52 +0530)]
Addition of standard APIs in qtiseclib interface

Follwing APIs wrappers are exposed to qtiseclib
* strcmp
* memset
* memmove

Change-Id: I79d50f358239cfda607d5f1a53314aa3b8f430cb
Signed-off-by: Saurabh Gorecha <sgorecha@codeaurora.org>
5 years agoMerge "Enabling DPU in dts file for TC0" into integration
Madhukar Pappireddy [Tue, 8 Sep 2020 14:22:45 +0000 (14:22 +0000)]
Merge "Enabling DPU in dts file for TC0" into integration

5 years agoEnabling DPU in dts file for TC0
Avinash Mehta [Wed, 22 Jul 2020 15:40:07 +0000 (16:40 +0100)]
Enabling DPU in dts file for TC0

This change replaces hdlcd with DPU in dts file for TC0

Change-Id: If25dfd3ddffc07279ab487f65e1bb82b27a26604
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
5 years agoMerge "doc: Improve contribution guidelines" into integration
joanna.farley [Mon, 7 Sep 2020 16:49:21 +0000 (16:49 +0000)]
Merge "doc: Improve contribution guidelines" into integration

5 years agoFix: fixing coverity issue for SPM Core.
Max Shvetsov [Tue, 25 Aug 2020 10:50:18 +0000 (11:50 +0100)]
Fix: fixing coverity issue for SPM Core.

spmd_get_context_by_mpidr was using potentially negative value as an
array index. plat_core_pos_by_mpidr could return -1 on failure which is
utilized by some platforms.

Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: I7f8827e77f18da389c9cafdc1fc841aba9f03120

5 years agofdts: corstone700: add NXP isp1763 node to device tree
Rui Miguel Silva [Wed, 15 Jul 2020 09:08:55 +0000 (10:08 +0100)]
fdts: corstone700: add NXP isp1763 node to device tree

Add USB IP node as the MPS3 board has the NXP isp1763 host controller.

Change-Id: I47c57e4c8345d244c46895b52fcaecc1c6f1b504
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: lakshmi Kailasanathan <lakshmi.Kailasanathan@arm.com>
5 years agoplat: Fix build issue for qemu and rpi3 platforms
Manish V Badarkhe [Thu, 3 Sep 2020 15:54:47 +0000 (16:54 +0100)]
plat: Fix build issue for qemu and rpi3 platforms

Coverity build periodically throws below errors(non-consistently)
for 'QEMU' and 'RPI3' platforms.

/bin/sh: 1: cannot create build/qemu/debug/rot_key.pem: Directory
nonexistent
plat/qemu/qemu/platform.mk:86: recipe for target 'build/qemu/debug/
rot_key.pem' failed
make: *** [build/qemu/debug/rot_key.pem] Error 2

/bin/sh: 1: cannot create /work/workspace/workspace/tf-coverity/build
/rpi3/debug/rot_key.pem: Directory nonexistent
plat/rpi/rpi3/platform.mk:214: recipe for target '/work/workspace/
workspace/tf-coverity/build/rpi3/debug/rot_key.pem' failed
make: *** [/work/workspace/workspace/tf-coverity/build/rpi3/debug/
rot_key.pem] Error 2

Issue seems to be occurred when 'ROT key' is generated before creating
the platform build folder(for e.g.build/qemu/debug).

Changes are made to fix this issue by adding orderly dependancy of
the platform folder for the 'ROT key' creation which ensures that
platform folder is created before generating 'ROT key'.

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

5 years agotools: Set the tool's default binary name
Manish V Badarkhe [Sat, 5 Sep 2020 03:40:41 +0000 (04:40 +0100)]
tools: Set the tool's default binary name

This patch: fafd3ec9c assumes that tools must build from
the main makefile folder.
This assumption leads to the error when somebody wants to
build a tool from the tool's folder.
Hence changes are done to provide the default binary name
in the tool's makefile.

Change-Id: Iae570a7f8d322151376b6feb19e739300eecc3fc
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agolibc: memset: improve performance by avoiding single byte writes
Andre Przywara [Thu, 3 Sep 2020 10:04:39 +0000 (11:04 +0100)]
libc: memset: improve performance by avoiding single byte writes

Currently our memset() implementation is safe, but slow. The main reason
for that seems to be the single byte writes that it issues, which can
show horrible performance, depending on the implementation of the
load/store subsystem.

Improve the algorithm by trying to issue 64-bit writes. As this only
works with aligned pointers, have a head and a tail section which
covers unaligned pointers, and leave the bulk of the work to the middle
section that does use 64-bit writes.

Put through some unit tests, which exercise all combinations of nasty
input parameters (pointers with various alignments, various odd and even
sizes, corner cases of content to write (-1, 256)).

Change-Id: I28ddd3d388cc4989030f1a70447581985368d5bb
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoMerge "lib: cpu: Check SCU presence in DSU before accessing DSU registers" into integ...
Manish Pandey [Thu, 3 Sep 2020 21:16:17 +0000 (21:16 +0000)]
Merge "lib: cpu: Check SCU presence in DSU before accessing DSU registers" into integration

5 years agoMerge "psci: utility api to invoke stop for other cores" into integration
Manish Pandey [Thu, 3 Sep 2020 16:56:49 +0000 (16:56 +0000)]
Merge "psci: utility api to invoke stop for other cores" into integration

5 years agoMerge "Add Chris Kay as code owner for CMake Build Definitions." into integration
Madhukar Pappireddy [Thu, 3 Sep 2020 16:44:38 +0000 (16:44 +0000)]
Merge "Add Chris Kay as code owner for CMake Build Definitions." into integration

5 years agoAdd Chris Kay as code owner for CMake Build Definitions.
Javier Almansa Sobrino [Thu, 3 Sep 2020 09:29:24 +0000 (10:29 +0100)]
Add Chris Kay as code owner for CMake Build Definitions.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I69365d4aed1160af41e291f6e4b1dd31cbd12e02

5 years agopsci: utility api to invoke stop for other cores
Sandeep Tripathy [Mon, 17 Aug 2020 14:52:13 +0000 (20:22 +0530)]
psci: utility api to invoke stop for other cores

The API can be used to invoke a 'stop_func' callback for all
other cores from any initiating core. Optionally it can also
wait for other cores to power down. There may be various use
of such API by platform. Ex: Platform may use this to power
down all other cores from a crashed core.

Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
Change-Id: I4f9dc8a38d419f299c021535d5f1bcc6883106f9

5 years agoMerge "spd: trusty: allow clients to retrieve service UUID" into integration
Madhukar Pappireddy [Wed, 2 Sep 2020 18:53:56 +0000 (18:53 +0000)]
Merge "spd: trusty: allow clients to retrieve service UUID" into integration

5 years agoMerge "maintainers: step down as code owner of UniPhier platform" into integration
Madhukar Pappireddy [Wed, 2 Sep 2020 18:53:24 +0000 (18:53 +0000)]
Merge "maintainers: step down as code owner of UniPhier platform" into integration

5 years agoplat/arm: Introduce and use libc_asm.mk makefile
Alexei Fedorov [Tue, 1 Sep 2020 14:38:32 +0000 (15:38 +0100)]
plat/arm: Introduce and use libc_asm.mk makefile

Trace analysis of FVP_Base_AEMv8A 0.0/6063 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.99% of CPU execution time is spent in memset() function
written in C using single byte write operations,
see lib\libc\memset.c.
This patch introduces new libc_asm.mk makefile which
replaces C memset() implementation with assembler
version giving the following results:
- for Aarch32 in auth_signature() call memset() CPU time
reduced to 20.56%.
The number of CPU instructions (Inst) executed during
TF-A boot stage before start of BL33 in RELEASE builds
for different versions is presented in the tables below,
where:
- C TF-A: existing TF-A C code;
- C musl: "lightweight code" C "implementation of the
  standard library for Linux-based systems"
https://git.musl-libc.org/cgit/musl/tree/src/string/memset.c
- Asm Opt: assemler version from "Arm Optimized Routines"
  project
https://github.com/ARM-software/optimized-routines/blob/
master/string/arm/memset.S
- Asm Linux: assembler version from Linux kernel
https://github.com/torvalds/linux/blob/master/arch/arm/lib/memset.S
- Asm TF-A: assembler version from this patch

Aarch32:
+-----------+------+------+--------------+----------+
| Variant   | Set  | Size |    Inst   |  Ratio   |
+-----------+------+------+--------------+----------+
| C TF-A    | T32  | 16   | 2122110003   | 1.000000 |
| C musl    | T32  | 156  | 1643917668   | 0.774662 |
| Asm Opt   | T32  | 84   | 1604810003   | 0.756233 |
| Asm Linux | A32  | 168  | 1566255018   | 0.738065 |
| Asm TF-A  | A32  | 160  | 1525865101   | 0.719032 |
+-----------+------+------+--------------+----------+

AArch64:
+-----------+------+------------+----------+
| Variant   | Size |    Inst    |  Ratio   |
+-----------+------+------------+----------+
| C TF-A    | 28   | 2732497518 | 1.000000 |
| C musl    | 212  | 1802999999 | 0.659836 |
| Asm TF-A  | 140  | 1680260003 | 0.614917 |
+-----------+------+------------+----------+

This patch modifies 'plat\arm\common\arm_common.mk'
by overriding libc.mk makefile with libc_asm.mk and
does not effect other platforms.

Change-Id: Ie89dd0b74ba1079420733a0d76b7366ad0157c2e
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "arm_fpga: Add support to populate the CPU nodes in the DTB" into integration
André Przywara [Wed, 2 Sep 2020 16:06:27 +0000 (16:06 +0000)]
Merge "arm_fpga: Add support to populate the CPU nodes in the DTB" into integration

5 years agolib: cpu: Check SCU presence in DSU before accessing DSU registers
Pramod Kumar [Wed, 5 Feb 2020 05:57:57 +0000 (11:27 +0530)]
lib: cpu: Check SCU presence in DSU before accessing DSU registers

The DSU contains system control registers in the SCU and L3 logic to
control the functionality of the cluster. If "DIRECT CONNECT" L3
memory system variant is used, there won't be any L3 cache,
snoop filter, and SCU logic present hence no system control register
will be present. Hence check SCU presence before accessing DSU register
for DSU_936184 errata.

Signed-off-by: Pramod Kumar <pramod.kumar@broadcom.com>
Change-Id: I1ffa8afb0447ae3bd1032c9dd678d68021fe5a63

5 years agoMerge "Tegra: common: fixup the bl31 code size to be copied at reset" into integration
Madhukar Pappireddy [Wed, 2 Sep 2020 15:50:12 +0000 (15:50 +0000)]
Merge "Tegra: common: fixup the bl31 code size to be copied at reset" into integration

5 years agoarm_fpga: Add support to populate the CPU nodes in the DTB
Javier Almansa Sobrino [Thu, 4 Jun 2020 18:01:48 +0000 (19:01 +0100)]
arm_fpga: Add support to populate the CPU nodes in the DTB

At the moment BL31 dynamically discovers the CPU topology of an FPGA
system at runtime, but does not export it to the non-secure world.
Any BL33 user would typically looks at the devicetree to learn about
existing CPUs.

This patch exports a minimum /cpus node in a devicetree to satisfy
the binding. This means that no cpumaps or caches are described.
This could be added later if needed.

An existing /cpus node in the DT will make the code bail out with a
message.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I589a2b3412411a3660134bdcef3a65e8200e1d7e

5 years agoplat/arm: Add dependencies to configuration files
Anders Dellien [Sun, 23 Aug 2020 18:32:48 +0000 (19:32 +0100)]
plat/arm: Add dependencies to configuration files

This patch adds dependencies to the generated configuration
files that are included in the FIP. This fixes occasional
build errors that occur when the FIP happens to be built first.

Change-Id: I5a2bf724ba3aee13954403b141f2f19b4fd51d1b
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
5 years agoMerge "Move static vars into functions in bl1" into integration
Manish Pandey [Wed, 2 Sep 2020 13:50:49 +0000 (13:50 +0000)]
Merge "Move static vars into functions in bl1" into integration

5 years agoMerge "plat/arm: Get the base address of nv-counters from device tree" into integration
Alexei Fedorov [Wed, 2 Sep 2020 12:14:51 +0000 (12:14 +0000)]
Merge "plat/arm: Get the base address of nv-counters from device tree" into integration

5 years agoMerge "dtsi: Update the nv-counter node in the device tree" into integration
Alexei Fedorov [Wed, 2 Sep 2020 12:14:43 +0000 (12:14 +0000)]
Merge "dtsi: Update the nv-counter node in the device tree" into integration

5 years agoMerge changes from topic "tegra-downstream-08282020" into integration
Madhukar Pappireddy [Tue, 1 Sep 2020 23:01:06 +0000 (23:01 +0000)]
Merge changes from topic "tegra-downstream-08282020" into integration

* changes:
  Tegra: common: disable GICC after domain off
  cpus: denver: skip DCO enable/disable for recent SKUs

5 years agoMerge "Remove Jack Bond-Preston as CMake Build Definitions code owner" into integration
Madhukar Pappireddy [Tue, 1 Sep 2020 22:33:13 +0000 (22:33 +0000)]
Merge "Remove Jack Bond-Preston as CMake Build Definitions code owner" into integration

5 years agospmd: remove assert for SPMC PC value
Varun Wadekar [Tue, 1 Sep 2020 21:16:44 +0000 (14:16 -0700)]
spmd: remove assert for SPMC PC value

This patch removes the assert that expects the SPMC PC
value to be same as BL32_BASE. This assumption is not
true for all platforms e.g. Tegra, and so will be removed
from the SPMD.

Platforms can always add this check to the platform files,
if required.

Change-Id: Ic40620b43d160feb4f72f4af18e6d01861d4bf37
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoMerge "Add support to export a /cpus node to the device tree." into integration
Mark Dykes [Tue, 1 Sep 2020 18:21:46 +0000 (18:21 +0000)]
Merge "Add support to export a /cpus node to the device tree." into integration

5 years agoAdd support to export a /cpus node to the device tree.
Javier Almansa Sobrino [Tue, 25 Aug 2020 15:16:29 +0000 (16:16 +0100)]
Add support to export a /cpus node to the device tree.

This patch creates and populates the /cpus node in a device tree
based on the existing topology. It uses the minimum required nodes
and properties to satisfy the binding as specified in
https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpus.txt

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I03bf4e9a6427da0a3b8ed013f93d7bc43b5c4df0

5 years agoMerge "sp_min: Avoid platform security reconfiguration" into integration
Mark Dykes [Tue, 1 Sep 2020 16:27:14 +0000 (16:27 +0000)]
Merge "sp_min: Avoid platform security reconfiguration" into integration

5 years agoMerge "doc: Update the cot-binding for nv-counter node" into integration
Mark Dykes [Tue, 1 Sep 2020 16:26:22 +0000 (16:26 +0000)]
Merge "doc: Update the cot-binding for nv-counter node" into integration

5 years agomediatek: Add jedec info
Hsin-Yi Wang [Thu, 27 Aug 2020 05:48:48 +0000 (13:48 +0800)]
mediatek: Add jedec info

Add jedec info for mt8173, mt8183, and mt8192.

[1] http://www.softnology.biz/pdf/JEP106AV.pdf

Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Change-Id: Iab36fd580131f0b09b27223fba0e9d1e187d9196