]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agocoverity: fix MISRA violations
Zelalem [Wed, 12 Feb 2020 16:37:03 +0000 (10:37 -0600)]
coverity: fix MISRA violations

Fixes for the following MISRA violations:
- Missing explicit parentheses on sub-expression
- An identifier or macro name beginning with an
  underscore, shall not be declared
- Type mismatch in BL1 SMC handlers and tspd_main.c

Change-Id: I7a92abf260da95acb0846b27c2997b59b059efc4
Signed-off-by: Zelalem <zelalem.aweke@arm.com>
5 years agoMerge "Fixes ROTPK hash generation for ECDSA encryption" into integration
joanna.farley [Wed, 12 Feb 2020 08:46:46 +0000 (08:46 +0000)]
Merge "Fixes ROTPK hash generation for ECDSA encryption" into integration

5 years agoMerge changes from topic "lm/fconf" into integration
Sandrine Bailleux [Tue, 11 Feb 2020 16:15:45 +0000 (16:15 +0000)]
Merge changes from topic "lm/fconf" into integration

* changes:
  arm-io: Panic in case of io setup failure
  MISRA fix: Use boolean essential type
  fconf: Add documentation
  fconf: Move platform io policies into fconf
  fconf: Add mbedtls shared heap as property
  fconf: Add TBBR disable_authentication property
  fconf: Add dynamic config DTBs info as property
  fconf: Populate properties from dtb during bl2 setup
  fconf: Load config dtb from bl1
  fconf: initial commit

5 years agoFixes ROTPK hash generation for ECDSA encryption
Max Shvetsov [Tue, 11 Feb 2020 12:41:08 +0000 (12:41 +0000)]
Fixes ROTPK hash generation for ECDSA encryption

Forced hash generation used to always generate hash via RSA encryption.
This patch changes encryption based on ARM_ROTPK_LOCATION.
Also removes setting KEY_ALG based on ARM_ROTPL_LOCATION - there is no
relation between these two.

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

5 years agoMerge changes from topic "spmd" into integration
Olivier Deprez [Tue, 11 Feb 2020 08:34:47 +0000 (08:34 +0000)]
Merge changes from topic "spmd" into integration

* changes:
  SPMD: enable SPM dispatcher support
  SPMD: hook SPMD into standard services framework
  SPMD: add SPM dispatcher based upon SPCI Beta 0 spec
  SPMD: add support to run BL32 in TDRAM and BL31 in secure DRAM on Arm FVP
  SPMD: add support for an example SPM core manifest
  SPMD: add SPCI Beta 0 specification header file

5 years agoMerge "coverity: Fix MISRA null pointer violations" into integration
Mark Dykes [Mon, 10 Feb 2020 17:20:53 +0000 (17:20 +0000)]
Merge "coverity: Fix MISRA null pointer violations" into integration

5 years agoMerge "Make PAC demangling more generic" into integration
Mark Dykes [Mon, 10 Feb 2020 17:17:10 +0000 (17:17 +0000)]
Merge "Make PAC demangling more generic" into integration

5 years agoMerge "SPM: modify sptool to generate individual SP blobs" into integration
Olivier Deprez [Mon, 10 Feb 2020 17:14:49 +0000 (17:14 +0000)]
Merge "SPM: modify sptool to generate individual SP blobs" into integration

5 years agoMerge "fvp: Slightly Bump the stack size for bl1 and bl2" into integration
Manish Pandey [Mon, 10 Feb 2020 16:56:11 +0000 (16:56 +0000)]
Merge "fvp: Slightly Bump the stack size for bl1 and bl2" into integration

5 years agoMerge changes from topic "amlogic/axg" into integration
Manish Pandey [Mon, 10 Feb 2020 14:31:27 +0000 (14:31 +0000)]
Merge changes from topic "amlogic/axg" into integration

* changes:
  amlogic: axg: Add a build flag when using ATOS as BL32
  amlogic: axg: Add support for the A113D (AXG) platform

5 years agoSPMD: enable SPM dispatcher support
Achin Gupta [Fri, 11 Oct 2019 14:50:43 +0000 (15:50 +0100)]
SPMD: enable SPM dispatcher support

This patch adds support to the build system to include support for the SPM
dispatcher when the SPD configuration option is spmd.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: Ic1ae50ecd7403fcbcf1d318abdbd6ebdc642f732

5 years agoSPMD: hook SPMD into standard services framework
Achin Gupta [Fri, 11 Oct 2019 14:49:00 +0000 (15:49 +0100)]
SPMD: hook SPMD into standard services framework

This patch adds support to initialise the SPM dispatcher as a standard
secure service. It also registers a handler for SPCI SMCs exported by
the SPM dispatcher.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I2183adf826d08ff3fee9aee75f021021162b6477

5 years agoSPMD: add SPM dispatcher based upon SPCI Beta 0 spec
Achin Gupta [Fri, 11 Oct 2019 14:41:16 +0000 (15:41 +0100)]
SPMD: add SPM dispatcher based upon SPCI Beta 0 spec

This patch adds a rudimentary SPM dispatcher component in EL3.
It does the following:

- Consumes the TOS_FW_CONFIG to determine properties of the SPM core
  component
- Initialises the SPM core component which resides in the BL32 image
- Implements a handler for SPCI calls from either security state. Some
  basic validation is done for each call but in most cases it is simply
  forwarded as-is to the "other" security state.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I7d116814557f7255f4f4ebb797d1619d4fbab590

5 years agoSPMD: add support to run BL32 in TDRAM and BL31 in secure DRAM on Arm FVP
Achin Gupta [Fri, 11 Oct 2019 14:15:19 +0000 (15:15 +0100)]
SPMD: add support to run BL32 in TDRAM and BL31 in secure DRAM on Arm FVP

This patch reserves and maps the Trusted DRAM for SPM core execution.
It also configures the TrustZone address space controller to run BL31
in secure DRAM.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I7e1bb3bbc61a0fec6a9cb595964ff553620c21dc

5 years agoSPMD: add support for an example SPM core manifest
Achin Gupta [Fri, 11 Oct 2019 13:54:48 +0000 (14:54 +0100)]
SPMD: add support for an example SPM core manifest

This patch repurposes the TOS FW configuration file as the manifest for
the SPM core component which will reside at the secure EL adjacent to
EL3. The SPM dispatcher component will use the manifest to determine how
the core component must be initialised. Routines and data structure to
parse the manifest have also been added.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: Id94f8ece43b4e05609f0a1d364708a912f6203cb

5 years agoMerge changes from topics "rddaniel", "rdn1edge_dual" into integration
Manish Pandey [Mon, 10 Feb 2020 13:32:43 +0000 (13:32 +0000)]
Merge changes from topics "rddaniel", "rdn1edge_dual" into integration

* changes:
  plat/arm: add board support for rd-daniel platform
  plat/arm/sgi: move GIC related constants to board files
  platform/arm/sgi: add multi-chip mode parameter in HW_CONFIG dts
  board/rdn1edge: add support for dual-chip configuration
  drivers/arm/scmi: allow use of multiple SCMI channels
  drivers/mhu: derive doorbell base address
  plat/arm/sgi: include AFF3 affinity in core position calculation
  plat/arm/sgi: add macros for remote chip device region
  plat/arm/sgi: add chip_id and multi_chip_mode to platform variant info
  plat/arm/sgi: move bl31_platform_setup to board file

5 years agoSPM: modify sptool to generate individual SP blobs
Manish Pandey [Tue, 7 Jan 2020 17:05:28 +0000 (17:05 +0000)]
SPM: modify sptool to generate individual SP blobs

Currently sptool generates a single blob containing all the Secure
Partitions, with latest SPM implementation, it is desirable to have
individual blobs for each Secure Partition. It allows to leverage
packaging and parsing of SP on existing FIP framework. It also allows
SP packages coming from different sources.

This patch modifies sptool so that it takes number of SP payload pairs
as input and generates number of SP blobs instead of a single blob.

Each SP blob can optionally have its own header containing offsets and
sizes of different payloads along with a SP magic number and version.
It is also associated in FIP with a UUID, provided by SP owner.

Usage example:
sptool -i sp1.bin:sp1.dtb -o sp1.pkg -i sp2.bin:sp2.dtb -o sp2.pkg ...

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

5 years agoMerge "intel: Include address range check for SiP Mailbox" into integration
Sandrine Bailleux [Mon, 10 Feb 2020 08:23:53 +0000 (08:23 +0000)]
Merge "intel: Include address range check for SiP Mailbox" into integration

5 years agoMake PAC demangling more generic
Alexei Fedorov [Thu, 6 Feb 2020 17:11:03 +0000 (17:11 +0000)]
Make PAC demangling more generic

At the moment, address demangling is only used by the backtrace
functionality. However, at some point, other parts of the TF-A
codebase may want to use it.
The 'demangle_address' function is replaced with a single XPACI
instruction which is also added in 'do_crash_reporting()'.

Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I4424dcd54d5bf0a5f9b2a0a84c4e565eec7329ec

5 years agoMerge "qemu: define ARMV7_SUPPORTS_VFP" into integration
Sandrine Bailleux [Fri, 7 Feb 2020 15:08:46 +0000 (15:08 +0000)]
Merge "qemu: define ARMV7_SUPPORTS_VFP" into integration

5 years agoMerge changes from topic "rdn1edge_dual" into integration
Sandrine Bailleux [Fri, 7 Feb 2020 14:13:30 +0000 (14:13 +0000)]
Merge changes from topic "rdn1edge_dual" into integration

* changes:
  board/rde1edge: fix incorrect topology tree description
  plat/arm/sgi: introduce number of chips macro

5 years agoplat/arm: add board support for rd-daniel platform
Aditya Angadi [Sun, 21 Jul 2019 16:43:45 +0000 (22:13 +0530)]
plat/arm: add board support for rd-daniel platform

Add the initial board support for RD-Daniel Config-M platform.

Change-Id: I36df16c745bfe4bc817e275ad4722e5de57733cd
Signed-off-by: Jagadeesh Ujja <jagadeesh.ujja@arm.com>
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
5 years agoboard/rde1edge: fix incorrect topology tree description
Vijayenthiran Subramaniam [Wed, 29 Jan 2020 16:30:59 +0000 (22:00 +0530)]
board/rde1edge: fix incorrect topology tree description

RD-E1-Edge platform consists of two clusters with eight CPUs each and
two processing elements (PE) per CPU. Commit a9fbf13e049e (plat/arm/sgi:
move topology information to board folder) defined the RD-E1-Edge
topology tree to have two clusters with eight CPUs each but PE per CPU
entries were not added. This patch fixes the topology tree accordingly.

Change-Id: I7f97f0013be60e5d51c214fce3962e246bae8a0b
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: move GIC related constants to board files
Vijayenthiran Subramaniam [Mon, 3 Feb 2020 06:44:01 +0000 (12:14 +0530)]
plat/arm/sgi: move GIC related constants to board files

In preparation for adding support for Reference Design platforms
which have different base addresses for GIC Distributor or
Redistributor, move GIC related base addresses to individual platform
definition files.

Change-Id: Iecf52b4392a30b86905e1cd047c0ff87d59d0191
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: introduce number of chips macro
Vijayenthiran Subramaniam [Thu, 26 Dec 2019 12:15:58 +0000 (17:45 +0530)]
plat/arm/sgi: introduce number of chips macro

Introduce macro 'CSS_SGI_CHIP_COUNT' to allow Arm CSS platforms with
multi-chip support to define number of chiplets on the platform. By
default, this flag is set to 1 and does not affect the existing single
chip platforms.

For multi-chip platforms, override the default value of
CSS_SGI_CHIP_COUNT with the number of chiplets supported on the
platform. As an example, the command below sets the number of chiplets
to two on the RD-N1-Edge multi-chip platform:

export CROSS_COMPILE=<path-to-cross-compiler>
make PLAT=rdn1edge CSS_SGI_CHIP_COUNT=2 ARCH=aarch64 all

Change-Id: If364dc36bd34b30cc356f74b3e97633933e6c8ee
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplatform/arm/sgi: add multi-chip mode parameter in HW_CONFIG dts
Vijayenthiran Subramaniam [Wed, 30 Oct 2019 07:22:25 +0000 (12:52 +0530)]
platform/arm/sgi: add multi-chip mode parameter in HW_CONFIG dts

Include multi-chip-mode parameter in HW_CONFIG dts to let next stage of
boot firmware know about the multi-chip operation mode.

Change-Id: Ic7535c2280fd57180ad14aa0ae277cf0c4d1337b
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoboard/rdn1edge: add support for dual-chip configuration
Vijayenthiran Subramaniam [Mon, 28 Oct 2019 09:19:48 +0000 (14:49 +0530)]
board/rdn1edge: add support for dual-chip configuration

RD-N1-Edge based platforms can operate in dual-chip configuration
wherein two rdn1edge SoCs are connected through a high speed coherent
CCIX link.

This patch adds a function to check if the RD-N1-Edge platform is
operating in multi-chip mode by reading the SID register's NODE_ID
value. If operating in multi-chip mode, initialize GIC-600 multi-chip
operation by overriding the default GICR frames with array of GICR
frames and setting the chip 0 as routing table owner.

The address space of the second RD-N1-Edge chip (chip 1) starts from the
address 4TB. So increase the physical and virtual address space size to
43 bits to accommodate the multi-chip configuration. If the multi-chip
mode configuration is detected, dynamically add mmap entry for the
peripherals memory region of the second RD-N1-Edge SoC. This is required
to let the BL31 platform setup stage to configure the devices in the
second chip.

PLATFORM_CORE_COUNT macro is set to be multiple of CSS_SGI_CHIP_COUNT
and topology changes are added to represent the dual-chip configuration.

In order the build the dual-chip platform, CSS_SGI_CHIP_COUNT macro
should be set to 2:
export CROSS_COMPILE=<path-to-cross-compiler>
make PLAT=rdn1edge CSS_SGI_CHIP_COUNT=2 ARCH=aarch64 all

Change-Id: I576cdaf71f0b0e41b9a9181fa4feb7091f8c7bb4
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agodrivers/arm/scmi: allow use of multiple SCMI channels
Aditya Angadi [Tue, 31 Dec 2019 08:53:53 +0000 (14:23 +0530)]
drivers/arm/scmi: allow use of multiple SCMI channels

On systems that have multiple platform components that can interpret the
SCMI messages, there is a need to support multiple SCMI channels (one
each to those platform components). Extend the existing SCMI interface
that currently supports only a single SCMI channel to support multiple
SCMI channels.

Change-Id: Ice4062475b903aef3b5e5bc37df364c9778a62c5
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
5 years agodrivers/mhu: derive doorbell base address
Aditya Angadi [Tue, 31 Dec 2019 04:44:32 +0000 (10:14 +0530)]
drivers/mhu: derive doorbell base address

In order to allow the MHUv2 driver to be usable with multiple MHUv2
controllers, use the base address of the controller from the platform
information instead of the MHUV2_BASE_ADDR macro.

Change-Id: I4dbab87b929fb0568935e6c8b339ce67937f8cd1
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
5 years agoplat/arm/sgi: include AFF3 affinity in core position calculation
Vijayenthiran Subramaniam [Tue, 29 Oct 2019 10:26:41 +0000 (15:56 +0530)]
plat/arm/sgi: include AFF3 affinity in core position calculation

AFF3 bits of MPIDR corresponds to Chip-Id in Arm multi-chip platforms.
For calculating linear core position of CPU cores from slave chips, AFF3
bits has to be used. Update `plat_arm_calc_core_pos` assembly function
to include AFF3 bits in calculation.

Change-Id: I4af2bd82ab8e31e18bc61de22705a73893954260
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: add macros for remote chip device region
Vijayenthiran Subramaniam [Mon, 28 Oct 2019 09:19:48 +0000 (14:49 +0530)]
plat/arm/sgi: add macros for remote chip device region

Some of the Reference Design platforms like RD-N1-Edge can operate in
multi-chip configuration wherein two or more SoCs are connected through
a high speed coherent CCIX link. For the RD platforms, the remote chip
address space is at the offset of 4TB per chip. In order for the primary
chip to access the device memory region on the remote chip, the required
memory region entries need to be added as mmap entry. This patch adds
macros related to the remote chip device memory region.

Change-Id: I833810b96f1a0e7c3c289ac32597b6ba03344c80
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: add chip_id and multi_chip_mode to platform variant info
Vijayenthiran Subramaniam [Tue, 22 Oct 2019 10:16:14 +0000 (15:46 +0530)]
plat/arm/sgi: add chip_id and multi_chip_mode to platform variant info

Multi-chip platforms have two or more identical chips connected using a
high speed coherent link. In order to identify such platforms,
add chip_id and multi_chip_mode information in the platform variant
info structure. The values of these two new elements is populated
during boot.

Change-Id: Ie6e89cb33b3f0f408814f6239cd06647053e23ed
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: move bl31_platform_setup to board file
Vijayenthiran Subramaniam [Mon, 23 Sep 2019 14:02:32 +0000 (19:32 +0530)]
plat/arm/sgi: move bl31_platform_setup to board file

For SGI-575 and RD platforms, move bl31_platform_setup handler to
individual board files to allow the platforms to perform board specific
bl31 setup.

Change-Id: Ia44bccc0a7f40a155b33909bcb438a0909b20d42
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoarm-io: Panic in case of io setup failure
Louis Mayencourt [Wed, 29 Jan 2020 14:43:06 +0000 (14:43 +0000)]
arm-io: Panic in case of io setup failure

Currently, an IO setup failure will be ignored on arm platform release
build. Change this to panic instead.

Change-Id: I027a045bce2422b0a0fc4ff9e9d4c6e7bf5d2f98
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoMISRA fix: Use boolean essential type
Louis Mayencourt [Wed, 29 Jan 2020 11:42:31 +0000 (11:42 +0000)]
MISRA fix: Use boolean essential type

Change the return type of "arm_io_is_toc_valid()" and
"plat_arm_bl1_fwu_needed()" to bool, to match function behavior.

Change-Id: I503fba211219a241cb263149ef36ca14e3362a1c
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add documentation
Louis Mayencourt [Fri, 8 Nov 2019 15:09:15 +0000 (15:09 +0000)]
fconf: Add documentation

Change-Id: I606f9491fb6deebc6845c5b9d7db88fc5c895bd9
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Move platform io policies into fconf
Louis Mayencourt [Thu, 24 Oct 2019 14:18:46 +0000 (15:18 +0100)]
fconf: Move platform io policies into fconf

Use the firmware configuration framework to store the io_policies
information inside the configuration device tree instead of the static
structure in the code base.

The io_policies required by BL1 can't be inside the dtb, as this one is
loaded by BL1, and only available at BL2.

This change currently only applies to FVP platform.

Change-Id: Ic9c1ac3931a4a136aa36f7f58f66d3764c1bfca1
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add mbedtls shared heap as property
Louis Mayencourt [Tue, 1 Oct 2019 09:45:14 +0000 (10:45 +0100)]
fconf: Add mbedtls shared heap as property

Use the firmware configuration framework in arm dynamic configuration
to retrieve mbedtls heap information between bl1 and bl2.

For this, a new fconf getter is added to expose the device tree base
address and size.

Change-Id: Ifa5ac9366ae100e2cdd1f4c8e85fc591b170f4b6
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add TBBR disable_authentication property
Louis Mayencourt [Mon, 30 Sep 2019 09:57:24 +0000 (10:57 +0100)]
fconf: Add TBBR disable_authentication property

Use fconf to retrieve the `disable_authentication` property.
Move this access from arm dynamic configuration to bl common.

Change-Id: Ibf184a5c6245d04839222f5457cf5e651f252b86
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add dynamic config DTBs info as property
Louis Mayencourt [Tue, 17 Dec 2019 13:17:25 +0000 (13:17 +0000)]
fconf: Add dynamic config DTBs info as property

This patch introduces a better separation between the trusted-boot
related properties, and the dynamic configuration DTBs loading
information.

The dynamic configuration DTBs properties are moved to a new node:
`dtb-registry`. All the sub-nodes present will be provided to the
dynamic config framework to be loaded. The node currently only contains
the already defined configuration DTBs, but can be extended for future
features if necessary.
The dynamic config framework is modified to use the abstraction provided
by the fconf framework, instead of directly accessing the DTBs.

The trusted-boot properties are kept under the "arm,tb_fw" compatible
string, but in a separate `tb_fw-config` node.
The `tb_fw-config` property of the `dtb-registry` node simply points
to the load address of `fw_config`, as the `tb_fw-config` is currently
part of the same DTB.

Change-Id: Iceb6c4c2cb92b692b6e28dbdc9fb060f1c46de82
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Populate properties from dtb during bl2 setup
Louis Mayencourt [Thu, 17 Oct 2019 14:14:25 +0000 (15:14 +0100)]
fconf: Populate properties from dtb during bl2 setup

Use the dtb provided by bl1 as configuration file for fconf.

Change-Id: I3f466ad9b7047e1a361d94e71ac6d693e31496d9
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Load config dtb from bl1
Louis Mayencourt [Thu, 17 Oct 2019 13:46:51 +0000 (14:46 +0100)]
fconf: Load config dtb from bl1

Move the loading of the dtb from arm_dym_cfg to fconf. The new loading
function is not associated to arm platform anymore, and can be moved
to bl_main if wanted.

Change-Id: I847d07eaba36d31d9d3ed9eba8e58666ea1ba563
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: initial commit
Louis Mayencourt [Thu, 8 Aug 2019 11:03:26 +0000 (12:03 +0100)]
fconf: initial commit

Introduce the Firmware CONfiguration Framework (fconf).

The fconf is an abstraction layer for platform specific data, allowing
a "property" to be queried and a value retrieved without the requesting
entity knowing what backing store is being used to hold the data.

The default backing store used is C structure. If another backing store
has to be used, the platform integrator needs to provide a "populate()"
function to fill the corresponding C structure.
The "populate()" function must be registered to the fconf framework with
the "FCONF_REGISTER_POPULATOR()". This ensures that the function would
be called inside the "fconf_populate()" function.

A two level macro is used as getter:
- the first macro takes 3 parameters and converts it to a function
  call: FCONF_GET_PROPERTY(a,b,c) -> a__b_getter(c).
- the second level defines a__b_getter(c) to the matching C structure,
  variable, array, function, etc..

Ex: Get a Chain of trust property:
    1) FCONF_GET_PROPERY(tbbr, cot, BL2_id) -> tbbr__cot_getter(BL2_id)
    2) tbbr__cot_getter(BL2_id) -> cot_desc_ptr[BL2_id]

Change-Id: Id394001353ed295bc680c3f543af0cf8da549469
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoqemu: define ARMV7_SUPPORTS_VFP
Jerome Forissier [Fri, 7 Feb 2020 10:13:46 +0000 (11:13 +0100)]
qemu: define ARMV7_SUPPORTS_VFP

Commit 8f73663b5963 ("plat/arm: Support for Cortex A5 in FVP Versatile
Express platform") has conditioned the enabling of the Advanced SIMD
and floating point features to platforms that have:

 (ARM_ARCH_MAJOR > 7) || defined(ARMV7_SUPPORTS_VFP)

QEMU does support VFP so it should set ARMV7_SUPPORTS_VFP.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Change-Id: I3bab7c2ed04766d0628c14094557b2751f60a428

5 years agoMerge changes from topic "sip-svc" into integration
Sandrine Bailleux [Fri, 7 Feb 2020 08:03:37 +0000 (08:03 +0000)]
Merge changes from topic "sip-svc" into integration

* changes:
  intel: Introduce SMC support for mailbox command
  intel: Extend SiP service to support mailbox's RSU

5 years agoMerge "Adds option to read ROTPK from registers for FVP" into integration
Sandrine Bailleux [Fri, 7 Feb 2020 07:46:53 +0000 (07:46 +0000)]
Merge "Adds option to read ROTPK from registers for FVP" into integration

5 years agointel: Include address range check for SiP Mailbox
Abdul Halim, Muhammad Hadi Asyrafi [Thu, 6 Feb 2020 11:18:41 +0000 (19:18 +0800)]
intel: Include address range check for SiP Mailbox

This patch modify current address range checker in SiP driver to also
accept input size.
Also, include said checker for SiP mailbox send command to ensure
referenced argument is within expected address.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: Ie0c3cac4c3d1a6ea0194602d9aa3541f5d9a3367

5 years agoMerge "xilinx: versal: Pass result count to pm_get_callbackdata()" into integration
Mark Dykes [Thu, 6 Feb 2020 20:44:38 +0000 (20:44 +0000)]
Merge "xilinx: versal: Pass result count to pm_get_callbackdata()" into integration

5 years agoMerge "plat: xilinx: zynqmp: Use ARRAY_SIZE wherever possible" into integration
Mark Dykes [Thu, 6 Feb 2020 20:43:58 +0000 (20:43 +0000)]
Merge "plat: xilinx: zynqmp: Use ARRAY_SIZE wherever possible" into integration

5 years agoAdds option to read ROTPK from registers for FVP
Max Shvetsov [Fri, 6 Dec 2019 11:50:12 +0000 (11:50 +0000)]
Adds option to read ROTPK from registers for FVP

Enables usage of ARM_ROTPK_LOCATION=regs for FVP board.
Removes hard-coded developer keys. Instead, setting
ARM_ROTPK_LOCATION=devel_* takes keys from default directory.
In case of ROT_KEY specified - generates a new hash and replaces the
original.

Note: Juno board was tested by original feature author and was not tested
for this patch since we don't have access to the private key. Juno
implementation was moved to board-specific file without changing
functionality. It is not known whether byte-swapping is still needed
for this platform.

Change-Id: I0fdbaca0415cdcd78f3a388551c2e478c01ed986
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
5 years agofvp: Slightly Bump the stack size for bl1 and bl2
Louis Mayencourt [Fri, 17 Jan 2020 16:10:45 +0000 (16:10 +0000)]
fvp: Slightly Bump the stack size for bl1 and bl2

Stack usage reaches 90% with some configuration. Bump slightly the stack
size to prevent a stack-overflow.

Change-Id: I44ce8b12906586a42f152b7677785fcdc5e78ae1
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoMerge "doc: Split and expand coding style documentation" into integration
György Szing [Thu, 6 Feb 2020 16:31:23 +0000 (16:31 +0000)]
Merge "doc: Split and expand coding style documentation" into integration

5 years agodoc: Split and expand coding style documentation
Paul Beesley [Thu, 16 May 2019 12:33:18 +0000 (13:33 +0100)]
doc: Split and expand coding style documentation

This patch expands the coding style documentation, splitting it
into two documents: the core style rules and extended guidelines.
Note that it does not redefine or change the coding style (aside
from section 4.6.2) - generally, it is only documenting the
existing style in more detail.

The aim is for the coding style to be more readable and, in turn,
for it to be followed by more people. We can use this as a more
concrete reference when discussing the accepted style with external
contributors.

Change-Id: I87405ace9a879d7f81e6b0b91b93ca69535e50ff
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Signed-off-by: Petre-Ionut Tudor <petre-ionut.tudor@arm.com>
5 years agoMerge "doc: Remove backquotes from external hyperlinks" into integration
György Szing [Thu, 6 Feb 2020 12:10:52 +0000 (12:10 +0000)]
Merge "doc: Remove backquotes from external hyperlinks" into integration

5 years agoamlogic: axg: Add a build flag when using ATOS as BL32
Carlo Caione [Mon, 27 Jan 2020 15:03:28 +0000 (16:03 +0100)]
amlogic: axg: Add a build flag when using ATOS as BL32

BL2 is unconditionally setting 0 (OPTEE_AARCH64) in arg0 even when the
BL32 image is 32bit (OPTEE_AARCH32). This is causing the boot to hang
when ATOS (32bit Amlogic BL32 binary-only TEE OS) is used.

Since we are not aware of any Amlogic platform shipping a 64bit version
of ATOS we can hardcode OPTEE_AARCH32 / MODE_RW_32 when using ATOS.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Change-Id: Iaea47cf6dc48bf8a646056761f02fb81b41c78a3

5 years agoamlogic: axg: Add support for the A113D (AXG) platform
Carlo Caione [Fri, 24 Jan 2020 15:20:15 +0000 (16:20 +0100)]
amlogic: axg: Add support for the A113D (AXG) platform

Introduce the preliminary support for the Amlogic A113D (AXG) SoC.

This port is a minimal implementation of BL31 capable of booting
mainline U-Boot, Linux and chainloading BL32 (ATOS).

Tested on a A113D board.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Change-Id: Ic4548fa2f7c48d61b485b2a6517ec36c53c20809

5 years agoMerge "Tegra194: mce: declare nvg_roc_clean_cache_trbits()" into integration
Mark Dykes [Wed, 5 Feb 2020 20:53:29 +0000 (20:53 +0000)]
Merge "Tegra194: mce: declare nvg_roc_clean_cache_trbits()" into integration

5 years agocoverity: Fix MISRA null pointer violations
Zelalem [Wed, 5 Feb 2020 20:12:39 +0000 (14:12 -0600)]
coverity: Fix MISRA null pointer violations

Fix code that violates the MISRA rule:
MISRA C-2012 Rule 11.9: Literal "0" shall not be used as
null pointer constant.

The fix explicitly checks whether a pointer is NULL.

Change-Id: Ibc318dc0f464982be9a34783f24ccd1d44800551
Signed-off-by: Zelalem <zelalem.aweke@arm.com>
5 years agoTegra194: mce: declare nvg_roc_clean_cache_trbits()
Varun Wadekar [Wed, 5 Feb 2020 19:00:33 +0000 (11:00 -0800)]
Tegra194: mce: declare nvg_roc_clean_cache_trbits()

This patch adds the nvg_roc_clean_cache_trbits() function prototype
to mce_private.h to fix compilation failures seen with the Tegra194
builds.

Change-Id: I313556f6799792fc0141afb5822cc157db80bc47
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoSPMD: add SPCI Beta 0 specification header file
Achin Gupta [Fri, 11 Oct 2019 13:32:02 +0000 (14:32 +0100)]
SPMD: add SPCI Beta 0 specification header file

This patch adds a header file with defines based on the SPCI Beta 0 spec.
It will be used by the SPM dispatcher component which will be introduced
in subsequent patches.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: Ia8a196cd85ebc14731f24801698d0a49a97b6063

5 years agoMerge changes from topic "tegra-downstream-01242020" into integration
Manish Pandey [Wed, 5 Feb 2020 10:11:44 +0000 (10:11 +0000)]
Merge changes from topic "tegra-downstream-01242020" into integration

* changes:
  Tegra186: memctrl: lock stream id security config
  Tegra194: remove support for simulated system suspend
  Tegra194: mce: fix multiple MISRA issues
  Tegra: bpmp: fix multiple MISRA issues
  Tegra194: se: fix multiple MISRA issues
  Tegra: compile PMC driver for Tegra132/Tegra210 platforms
  Tegra: memctrl_v2: remove weakly defined TZDRAM setup handler
  Tegra: remove weakly defined per-platform SiP handler
  Tegra: remove weakly defined PSCI platform handlers
  Tegra: remove weakly defined platform setup handlers
  Tegra: per-SoC DRAM base values

5 years agointel: Introduce SMC support for mailbox command
Hadi Asyrafi [Tue, 17 Dec 2019 11:30:41 +0000 (19:30 +0800)]
intel: Introduce SMC support for mailbox command

This update allows normal world to send mailbox commands through SMC

Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I587bea06422da90e5907d586495cd9e3bde900f6

5 years agointel: Extend SiP service to support mailbox's RSU
Hadi Asyrafi [Tue, 17 Dec 2019 11:22:17 +0000 (19:22 +0800)]
intel: Extend SiP service to support mailbox's RSU

Introduce support for RSU that can be initiated through SMC calls.

Added features as below:
- RSU status
- RSU update
- RSU HPS notify
- RSU get sub-partition

Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I78d5a07688e43da99f03d77dfd45ffb4a78f2e4c

5 years agoMerge "Coverity: remove unnecessary header file includes" into integration
Mark Dykes [Tue, 4 Feb 2020 17:15:57 +0000 (17:15 +0000)]
Merge "Coverity: remove unnecessary header file includes" into integration

5 years agoMerge changes from topic "mp/separate_nobits" into integration
Sandrine Bailleux [Tue, 4 Feb 2020 16:37:09 +0000 (16:37 +0000)]
Merge changes from topic "mp/separate_nobits" into integration

* changes:
  plat/arm: Add support for SEPARATE_NOBITS_REGION
  Changes necessary to support SEPARATE_NOBITS_REGION feature

5 years agoCoverity: remove unnecessary header file includes
Zelalem [Mon, 3 Feb 2020 20:56:42 +0000 (14:56 -0600)]
Coverity: remove unnecessary header file includes

This patch removes unnecessary header file includes
discovered by Coverity HFA option.

Change-Id: I2827c37c1c24866c87db0e206e681900545925d4
Signed-off-by: Zelalem <zelalem.aweke@arm.com>
5 years agoMerge "coverity: debugfs devfip remove comparisons to LONG_MAX" into integration
Soby Mathew [Tue, 4 Feb 2020 15:03:59 +0000 (15:03 +0000)]
Merge "coverity: debugfs devfip remove comparisons to LONG_MAX" into integration

5 years agoMerge "intel: agilex: Enable uboot BL31 loading" into integration
Manish Pandey [Tue, 4 Feb 2020 13:42:36 +0000 (13:42 +0000)]
Merge "intel: agilex: Enable uboot BL31 loading" into integration

5 years agocoverity: debugfs devfip remove comparisons to LONG_MAX
Olivier Deprez [Mon, 6 Jan 2020 14:45:22 +0000 (15:45 +0100)]
coverity: debugfs devfip remove comparisons to LONG_MAX

CID 353228:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)

The checks on size and offset_address in get_entry always resolve to
false provided those fields are long long int and cannot be greater
than LONG_MAX.

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

5 years agoMerge "BL2: Print ID of images we fail loading" into integration
Sandrine Bailleux [Tue, 4 Feb 2020 08:27:06 +0000 (08:27 +0000)]
Merge "BL2: Print ID of images we fail loading" into integration

5 years agoBL2: Print ID of images we fail loading
Sandrine Bailleux [Mon, 3 Feb 2020 14:58:16 +0000 (15:58 +0100)]
BL2: Print ID of images we fail loading

When Trusted Boot is enabled, images are loaded and authenticated
following up the root of trust. This means that between the initial
console message saying that an image is being loaded, and the final one
where it says that it failed to load it, BL2 may print several messages
about other images on the chain of trust being loaded, thus it is not
always clear which image we failed loading at the end of the day.

Change-Id: I3b189ec9d12c2a6203d16c8dbbb4fc117639c3c1
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agodoc: Remove backquotes from external hyperlinks
Imre Kis [Mon, 3 Feb 2020 13:48:21 +0000 (14:48 +0100)]
doc: Remove backquotes from external hyperlinks

Since Sphinx 2.3.0 backquotes are replaced to \textasciigrave{} during
building latexpdf. Using this element in a \sphinxhref{} breaks the
build. In order to avoid this error backquotes must not be used in
external hyperlinks.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Ie3cf454427e3d5a7b7f9829b42be45aebda7f0dd

5 years agoMerge "FDT wrappers: add functions for read/write bytes" into integration
Manish Pandey [Mon, 3 Feb 2020 13:45:47 +0000 (13:45 +0000)]
Merge "FDT wrappers: add functions for read/write bytes" into integration

5 years agoFDT wrappers: add functions for read/write bytes
Alexei Fedorov [Wed, 29 Jan 2020 16:21:28 +0000 (16:21 +0000)]
FDT wrappers: add functions for read/write bytes

This patch adds 'fdtw_read_bytes' and 'fdtw_write_inplace_bytes'
functions for read/write array of bytes from/to a given property.
It also adds 'fdt_setprop_inplace_namelen_partial' to jmptbl.i
files for builds with USE_ROMLIB=1 option.

Change-Id: Ied7b5c8b38a0e21d508aa7bcf5893e656028b14d
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "doc: qemu: fix and update documentation" into integration
Sandrine Bailleux [Mon, 3 Feb 2020 09:20:29 +0000 (09:20 +0000)]
Merge "doc: qemu: fix and update documentation" into integration

5 years agodoc: qemu: fix and update documentation
Masahiro Yamada [Thu, 26 Dec 2019 04:26:49 +0000 (13:26 +0900)]
doc: qemu: fix and update documentation

The current URL for QEMU_EFI.fd is not found. Update the link to
point to the new one.

If you run the shell command as instructed, you will see this error:
  qemu-system-aarch64: keep_bootcon: Could not open 'keep_bootcon': No such file or directory

The part "console=ttyAMA0,38400 keep_bootcon root=/dev/vda2" is the
kernel parameter, so it must be quoted.

As of writing, QEMU v4.2.0 is the latest, but it does not work for
TF-A (It has been fixed in the mainline.) QEMU v4.1.0 works fine.

With those issues addressed, I succeeded in booting the latest kernel.

Tested with QEMU v4.1.0 and Linux 5.5 (defconfig with no modification).
Update the tested versions.

Change-Id: Ic85db0e688d67b1803ff890047d37de3f3db2daa
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoTegra186: memctrl: lock stream id security config
Pritesh Raithatha [Thu, 31 May 2018 06:36:15 +0000 (12:06 +0530)]
Tegra186: memctrl: lock stream id security config

Tegra186 is in production so lock stream id security configs
for all the clients.

Change-Id: I64bdd5a9f12319a543291bfdbbfc1559d7a44113
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra194: remove support for simulated system suspend
Varun Wadekar [Thu, 7 Jun 2018 00:26:10 +0000 (17:26 -0700)]
Tegra194: remove support for simulated system suspend

This patch removes support for simulated system suspend for Tegra194
platforms as we have actual silicon platforms that support this
feature now.

Change-Id: I9ed1b002886fed7bbc3d890a82d6cad67e900bae
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: mce: fix multiple MISRA issues
Varun Wadekar [Fri, 25 May 2018 23:17:53 +0000 (16:17 -0700)]
Tegra194: mce: fix multiple MISRA issues

This patch fixes violations of the following MISRA rules

* Rule 8.5  "An external object or function shall be declared once in
             one and only one file"
* Rule 10.3 "The value of an expression shall not be assigned to an
             object with a narrower essential type or of a different
             esential type category"

Change-Id: I4314cd4fea0a4adc6665868dd31e619b4f367e14
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: bpmp: fix multiple MISRA issues
Varun Wadekar [Fri, 25 May 2018 21:34:53 +0000 (14:34 -0700)]
Tegra: bpmp: fix multiple MISRA issues

This patch fixes violations for the following MISRA rules

* Rule 5.7  "A tag name shall be a unique identifier"
* Rule 10.1 "Operands shall not be of an inappropriate essential type"
* Rule 10.3 "The value of an expression shall not be assigned to an object
             with a narrower essential type or of a different essential type
             category"
* Rule 10.4 "Both operands of an operator in which the usual arithmetic
             conversions are performed shall have the same essential type
             category"
* Rule 20.7 "Expressions resulting from the expansion of macro parameters
             shall be enclosed in parentheses"
* Rule 21.1 "#define and #undef shall not be used on a reserved identifier
             or reserved macro name"

Change-Id: I83cbe659c2d72e76dd4759959870b57c58adafdf
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: se: fix multiple MISRA issues
Varun Wadekar [Fri, 25 May 2018 22:22:58 +0000 (15:22 -0700)]
Tegra194: se: fix multiple MISRA issues

This patch fixes violations for the following MISRA rules

* Rule 8.4  "A compatible declaration shall be visible when an object or
             function with external linkage is defined"
* Rule 10.1 "Operands shall not be of an inappropriate essential type"
* Rule 10.6 "Both operands of an operator in which the usual arithmetic
             conversions are perdormed shall have the same essential type
             category"
* Rule 17.7 "The value returned by a function having non-void return
             type shall be used"

Change-Id: I171ac8340de729fd7be928fa0c0694e9bb8569f0
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: compile PMC driver for Tegra132/Tegra210 platforms
Varun Wadekar [Thu, 17 May 2018 18:10:13 +0000 (11:10 -0700)]
Tegra: compile PMC driver for Tegra132/Tegra210 platforms

The PMC driver is used only by Tegra210 and Tegra132 platforms. This
patch removes pmc.c from the common makefile and moves it to the
platform specific makefiles.

As a result, the PMC code from common code has been moved to Tegra132
and Tegra210 platform ports.

Change-Id: Ia157f70e776b3eff3c12eb8f0f02d30102670a98
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: memctrl_v2: remove weakly defined TZDRAM setup handler
Varun Wadekar [Thu, 17 May 2018 17:42:18 +0000 (10:42 -0700)]
Tegra: memctrl_v2: remove weakly defined TZDRAM setup handler

This patch removes the per-platform, weakly defined TZDRAM setup handler,
as all affected platforms implement the actual handler.

Change-Id: I95d04b2a771bc5d673e56b097d45c493fa388ee8
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: remove weakly defined per-platform SiP handler
Varun Wadekar [Thu, 17 May 2018 17:14:30 +0000 (10:14 -0700)]
Tegra: remove weakly defined per-platform SiP handler

This patch removes the weakly defined per-platform SiP handler
as all platforms implement this handler, defeating the need for
a weak definition.

Change-Id: Id4c7e69163d2635de1813f5a385ac874253a8da9
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: remove weakly defined PSCI platform handlers
Varun Wadekar [Thu, 17 May 2018 17:10:25 +0000 (10:10 -0700)]
Tegra: remove weakly defined PSCI platform handlers

This patch removes all the weakly defined PSCI handlers defined
per-platform, to improve code coverage numbers and reduce MISRA
defects.

Change-Id: I0f9c0caa0a6071d0360d07454b19dcc7340da8c2
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: remove weakly defined platform setup handlers
Varun Wadekar [Thu, 17 May 2018 16:36:38 +0000 (09:36 -0700)]
Tegra: remove weakly defined platform setup handlers

This patch converts the weakly defined platform setup handlers into
actual platform specific handlers to improve code coverage numbers
and some MISRA defects.

The weakly defined handlers never get executed thus resulting in
lower coverage - function, function calls, statements, branches
and pairs.

Change-Id: I02f450f66b5754a90d934df4d76eb91459fca5f9
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: per-SoC DRAM base values
Varun Wadekar [Tue, 15 May 2018 18:24:59 +0000 (11:24 -0700)]
Tegra: per-SoC DRAM base values

Tegra194 supports upto 64GB of DRAM, whereas the previous SoCs support
upto 32GB DRAM. This patch moves the common DRAM base/end macros to
individual Tegra SoC headers to fix this anomaly.

Change-Id: I1a9f386b67c2311baab289e726d95cef6954071b
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoMerge "Add support for documentation build as a target in Makefile" into integration
Sandrine Bailleux [Fri, 31 Jan 2020 07:35:30 +0000 (07:35 +0000)]
Merge "Add support for documentation build as a target in Makefile" into integration

5 years agoxilinx: versal: Pass result count to pm_get_callbackdata()
Tejas Patel [Thu, 30 Jan 2020 06:09:55 +0000 (22:09 -0800)]
xilinx: versal: Pass result count to pm_get_callbackdata()

pm_get_callbackdata() expect result count and not total bytes of
result. Correct it by passing result count to pm_get_callbackdata().

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Signed-off-by: Jolly Shah <jolly.shah@xilinx.com>
Change-Id: I01ce0002f7a753e81ea9fe65edde8420a13ed51a

5 years agoplat: xilinx: zynqmp: Use ARRAY_SIZE wherever possible
Tejas Patel [Thu, 30 Jan 2020 06:06:12 +0000 (22:06 -0800)]
plat: xilinx: zynqmp: Use ARRAY_SIZE wherever possible

To find result count use ARRAY_SIZE for better readability.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Signed-off-by: Jolly Shah <jolly.shah@xilinx.com>
Change-Id: I97201de4d43024e59fa78bd61937c86d47724ab5

5 years agoMerge "Use correct type when reading SCR register" into integration
Alexei Fedorov [Thu, 30 Jan 2020 16:55:55 +0000 (16:55 +0000)]
Merge "Use correct type when reading SCR register" into integration

5 years agoMerge "Ignore the ctags file" into integration
Sandrine Bailleux [Thu, 30 Jan 2020 14:47:07 +0000 (14:47 +0000)]
Merge "Ignore the ctags file" into integration

5 years agoMerge changes from topic "sb/select-cot" into integration
Sandrine Bailleux [Thu, 30 Jan 2020 13:58:10 +0000 (13:58 +0000)]
Merge changes from topic "sb/select-cot" into integration

* changes:
  Introduce COT build option
  cert_create: Remove references to TBBR in common code
  cert_create: Introduce COT build option
  cert_create: Introduce TBBR CoT makefile

5 years agoMerge "qemu: Implement PSCI_CPU_OFF." into integration
Soby Mathew [Wed, 29 Jan 2020 15:36:30 +0000 (15:36 +0000)]
Merge "qemu: Implement PSCI_CPU_OFF." into integration

5 years agoMerge "T589: Fix insufficient ordering guarantees in bakery lock" into integration
Soby Mathew [Wed, 29 Jan 2020 15:35:23 +0000 (15:35 +0000)]
Merge "T589: Fix insufficient ordering guarantees in bakery lock" into integration

5 years agoIntroduce COT build option
Sandrine Bailleux [Wed, 15 Jan 2020 09:23:25 +0000 (10:23 +0100)]
Introduce COT build option

Allows to select the chain of trust to use when the Trusted Boot feature
is enabled. This affects both the cert_create tool and the firmware
itself.

Right now, the only available CoT is TBBR.

Change-Id: I7ab54e66508a1416cb3fcd3dfb0f055696763b3d
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agocert_create: Remove references to TBBR in common code
Sandrine Bailleux [Wed, 15 Jan 2020 10:01:25 +0000 (11:01 +0100)]
cert_create: Remove references to TBBR in common code

In preparation of supporting alternate chains of trust, reword comments
and error messages that explicitly mentioned TBBR.

Change-Id: I85a0b08e16d0cd82f3b767fcc092d1f20f45939f
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agocert_create: Introduce COT build option
Sandrine Bailleux [Wed, 15 Jan 2020 09:11:07 +0000 (10:11 +0100)]
cert_create: Introduce COT build option

It allows to select the desired chain of trust. Right now, only the TBBR
CoT is available.

At this stage, this build option only affects the tool itself. It is not
plugged into the rest of the build system yet. To use it:

 > make -C tools/cert_create COT=tbbr

Change-Id: I4484418f76d3c7b330d8653c978499a181534dcd
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agocert_create: Introduce TBBR CoT makefile
Sandrine Bailleux [Tue, 14 Jan 2020 17:06:38 +0000 (18:06 +0100)]
cert_create: Introduce TBBR CoT makefile

Move all TBBR-specific stuff out of the tool's makefile into a
sub-makefile. This will make it easier to define and select an alternate
chain of trust in the future.

Change-Id: I92e366a1999b74cf51127d1771b64b807cd94b29
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoAdd support for documentation build as a target in Makefile
Madhukar Pappireddy [Tue, 28 Jan 2020 18:41:20 +0000 (12:41 -0600)]
Add support for documentation build as a target in Makefile

Command to build HTML-formatted pages from docs:
make doc

Change-Id: I4103c804b3564fe67d8fc5a3373679daabf3f2e9
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>