]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agouniphier: make on-chip SRAM region configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:46:26 +0000 (19:46 +0900)]
uniphier: make on-chip SRAM region configurable

The on-chip SRAM region will be changed in the next SoC. Make it
configurable. Also, split the mmap code into a new helper function
so that it can be re-used for another boot mode.

Change-Id: I89f40432bf852a58ebc9be5d9dec4136b8dc010b
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make I/O register region configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:46:15 +0000 (19:46 +0900)]
uniphier: make I/O register region configurable

The I/O register region will be changed in the next SoC. Make it
configurable.

Change-Id: Iec0cbd1ef2d0703ebc7c3d3082edd73791bbfec9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make PSCI related base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:46:00 +0000 (19:46 +0900)]
uniphier: make PSCI related base address configurable

The register base address will be changed in the next SoC. Make it
configurable.

Change-Id: Ibe07bd9db128b0f7e629916cb6ae21ba7984eca9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make counter control base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:45:37 +0000 (19:45 +0900)]
uniphier: make counter control base address configurable

The register base will be changed in the next SoC. Make it
configurable.

Change-Id: I4a7cf85fe50e4d71db58a3372a71774e43193bd3
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make UART base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:45:16 +0000 (19:45 +0900)]
uniphier: make UART base address configurable

The next SoC supports the same UART, but the register base will be
changed. Make it configurable.

Change-Id: Ida5c9151b2f3554afd15555b22838437eef443f7
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make pinmon base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:33:35 +0000 (19:33 +0900)]
uniphier: make pinmon base address configurable

The register base will be changed in the next SoC. Make it
configurable.

Change-Id: I9fbb6bdd1cf06207618742d4ad7970d911c9bc26
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make NAND controller base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:30:27 +0000 (19:30 +0900)]
uniphier: make NAND controller base address configurable

The next SoC does not support the NAND controller, but make the base
address configurable for consistency and future proof.

Change-Id: I776e43ff2b0408577919b0b72849c3e1e5ce0758
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make eMMC controller base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:30:11 +0000 (19:30 +0900)]
uniphier: make eMMC controller base address configurable

The next SoC supports the same eMMC controller, but the register
base will be changed. Make it configurable.

Change-Id: I00cb5531bc3d8d49357ad5e922cdd3d785355edf
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: extend boot device detection for future SoCs
Masahiro Yamada [Mon, 3 Feb 2020 10:28:13 +0000 (19:28 +0900)]
uniphier: extend boot device detection for future SoCs

The next SoC will have:
  - No boot swap
  - SD boot
  - No USB boot

Add new fields to handle this.

Change-Id: I772395f2c5dfc612e575b0cbd0657a5fa9611c25
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: change block_addressing flag to bool
Masahiro Yamada [Mon, 3 Feb 2020 09:40:37 +0000 (18:40 +0900)]
uniphier: change block_addressing flag to bool

The flag, uniphier_emmc_block_addressing, is boolean logic, so
"bool' is more suitable.

uniphier_emmc_is_over_2gb() is not boolean - it returns 1 / 0
depending on the card density, or a negative value on failure.
Rename it to make it less confusing.

Change-Id: Ia646b1929147b644e0df07c46b54ab80548bc3bd
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: change the return value type of .is_usb_boot() to bool
Masahiro Yamada [Tue, 28 Jan 2020 12:14:28 +0000 (21:14 +0900)]
uniphier: change the return value type of .is_usb_boot() to bool

This is boolean logic, so "bool" is more suitable.

Change-Id: I439c5099770600a65b8f58390a4c621c2ee487a5
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
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 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 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 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 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 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>
5 years agoqemu: Implement PSCI_CPU_OFF.
Andrew Walbran [Thu, 23 Jan 2020 16:22:44 +0000 (16:22 +0000)]
qemu: Implement PSCI_CPU_OFF.

This is based on the rpi implementation from
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/2746.

Signed-off-by: Andrew Walbran <qwandor@google.com>
Change-Id: I5fe324fcd9d5e232091e01267ea12147c46bc9c1

5 years agoMerge changes I0fb7cf79,Ia8eb4710 into integration
Soby Mathew [Wed, 29 Jan 2020 09:51:21 +0000 (09:51 +0000)]
Merge changes I0fb7cf79,Ia8eb4710 into integration

* changes:
  qemu: Implement qemu_system_off via semihosting.
  qemu: Support ARM_LINUX_KERNEL_AS_BL33 to pass FDT address.

5 years agoMerge "Enable -Wredundant-decls warning check" into integration
Soby Mathew [Wed, 29 Jan 2020 09:50:05 +0000 (09:50 +0000)]
Merge "Enable -Wredundant-decls warning check" into integration

5 years agointel: agilex: Enable uboot BL31 loading
Hadi Asyrafi [Tue, 14 Jan 2020 02:51:31 +0000 (10:51 +0800)]
intel: agilex: Enable uboot BL31 loading

This patch enables uboot's spl entrypoint to BL31 and also handles
secondary cpus state during cold boot.

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

5 years agoMerge "Measured Boot: add function for hash calculation" into integration
Mark Dykes [Tue, 28 Jan 2020 19:57:51 +0000 (19:57 +0000)]
Merge "Measured Boot: add function for hash calculation" into integration

5 years agoEnable -Wredundant-decls warning check
Madhukar Pappireddy [Mon, 23 Dec 2019 20:49:52 +0000 (14:49 -0600)]
Enable -Wredundant-decls warning check

This flag warns if anything is declared more than once in the same
scope, even in cases where multiple declaration is valid and changes
nothing.

Consequently, this patch also fixes the issues reported by this
flag. Consider the following two lines of code from two different source
files(bl_common.h and bl31_plat_setup.c):

IMPORT_SYM(uintptr_t, __RO_START__, BL_CODE_BASE);
IMPORT_SYM(unsigned long, __RO_START__, BL2_RO_BASE);

The IMPORT_SYM macro which actually imports a linker symbol as a C expression.
The macro defines the __RO_START__ as an extern variable twice, one for each
instance. __RO_START__ symbol is defined by the linker script to mark the start
of the Read-Only area of the memory map.

Essentially, the platform code redefines the linker symbol with a different
(relevant) name rather than using the standard symbol. A simple solution to
fix this issue in the platform code for redundant declarations warning is
to remove the second IMPORT_SYM and replace it with following assignment

static const unsigned long BL2_RO_BASE = BL_CODE_BASE;

Change-Id: If4835d1ee462d52b75e5afd2a59b64828707c5aa
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMeasured Boot: add function for hash calculation
Alexei Fedorov [Thu, 23 Jan 2020 14:27:38 +0000 (14:27 +0000)]
Measured Boot: add function for hash calculation

This patch adds 'calc_hash' function using Mbed TLS library
required for Measured Boot support.

Change-Id: Ifc5aee0162d04db58ec6391e0726a526f29a52bb
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoUse correct type when reading SCR register
Louis Mayencourt [Fri, 24 Jan 2020 13:30:28 +0000 (13:30 +0000)]
Use correct type when reading SCR register

The Secure Configuration Register is 64-bits in AArch64 and 32-bits in
AArch32. Use u_register_t instead of unsigned int to reflect this.

Change-Id: I51b69467baba36bf0cfaec2595dc8837b1566934
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoMerge changes from topic "ti-cluster-power" into integration
Soby Mathew [Tue, 28 Jan 2020 10:43:36 +0000 (10:43 +0000)]
Merge changes from topic "ti-cluster-power" into integration

* changes:
  ti: k3: drivers: ti_sci: Put sequence number in coherent memory
  ti: k3: drivers: ti_sci: Remove indirect structure of const data
  ti: k3: common: Enable ARM cluster power down
  ti: k3: common: Rename device IDs to be more consistent

5 years agoMerge "plat/arm/sgi: move topology information to board folder" into integration
Manish Pandey [Tue, 28 Jan 2020 10:26:55 +0000 (10:26 +0000)]
Merge "plat/arm/sgi: move topology information to board folder" into integration

5 years agoMerge "Tegra194: enable spe-console functionality" into integration
Sandrine Bailleux [Tue, 28 Jan 2020 09:43:23 +0000 (09:43 +0000)]
Merge "Tegra194: enable spe-console functionality" into integration

5 years agoTegra194: enable spe-console functionality
Varun Wadekar [Fri, 1 Dec 2017 17:24:12 +0000 (09:24 -0800)]
Tegra194: enable spe-console functionality

This patch enables the config to switch to the console provided
by the SPE firmware.

Change-Id: I5a3bed09ee1e84f958d0925501d1a79fb7f694de
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoMerge "Neovers N1: added support to update presence of External LLC" into integration
Manish Pandey [Tue, 28 Jan 2020 08:18:56 +0000 (08:18 +0000)]
Merge "Neovers N1: added support to update presence of External LLC" into integration

5 years agoplat/arm: Add support for SEPARATE_NOBITS_REGION
Madhukar Pappireddy [Mon, 27 Jan 2020 21:38:26 +0000 (15:38 -0600)]
plat/arm: Add support for SEPARATE_NOBITS_REGION

In order to support SEPARATE_NOBITS_REGION for Arm platforms, we need to load
BL31 PROGBITS into secure DRAM space and BL31 NOBITS into SRAM. Hence mandate
the build to require that ARM_BL31_IN_DRAM is enabled as well.

Naturally with SEPARATE_NOBITS_REGION enabled, the BL31 initialization code
cannot be reclaimed to be used for runtime data such as secondary cpu stacks.

Memory map for BL31 NOBITS region also has to be created.

Change-Id: Ibbc8c9499a32e63fd0957a6e254608fbf6fa90c9
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoChanges necessary to support SEPARATE_NOBITS_REGION feature
Madhukar Pappireddy [Mon, 27 Jan 2020 21:32:15 +0000 (15:32 -0600)]
Changes necessary to support SEPARATE_NOBITS_REGION feature

Since BL31 PROGBITS and BL31 NOBITS sections are going to be
in non-adjacent memory regions, potentially far from each other,
some fixes are needed to support it completely.

1. adr instruction only allows computing the effective address
of a location only within 1MB range of the PC. However, adrp
instruction together with an add permits position independent
address of any location with 4GB range of PC.

2. Since BL31 _RW_END_ marks the end of BL31 image, care must be
taken that it is aligned to page size since we map this memory
region in BL31 using xlat_v2 lib utils which mandate alignment of
image size to page granularity.

Change-Id: I3451cc030d03cb2032db3cc088f0c0e2c84bffda
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoti: k3: drivers: ti_sci: Put sequence number in coherent memory
Andrew F. Davis [Thu, 16 Jan 2020 21:58:34 +0000 (15:58 -0600)]
ti: k3: drivers: ti_sci: Put sequence number in coherent memory

The current message sequence number is accessed both with caches on and
off so put this memory in the un-cached coherent section so accesses
are consistent and coherency is maintained.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: Ieeefefeaffc691e4e4c4de7c74490d50ff9de807

5 years agoti: k3: drivers: ti_sci: Remove indirect structure of const data
Andrew F. Davis [Thu, 16 Jan 2020 21:34:31 +0000 (15:34 -0600)]
ti: k3: drivers: ti_sci: Remove indirect structure of const data

The 'info' structure contained what is only static data for this
implementation of TI-SCI. Remove this indirection and remove the
struct.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: I2328fddf388bf7d56a56bd673c080e78c86fe072

5 years agoti: k3: common: Enable ARM cluster power down
Andrew F. Davis [Mon, 11 Feb 2019 22:12:31 +0000 (16:12 -0600)]
ti: k3: common: Enable ARM cluster power down

When all cores in a cluster are powered down the parent cluster can
be also powered down. When the last core has requested powering down
follow by sending the cluster power down sequence to the system
power controller firmware.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: I0ffeb339852c66ef62743aecd3e17ca20bad6216

5 years agoti: k3: common: Rename device IDs to be more consistent
Andrew F. Davis [Thu, 16 Jan 2020 22:05:43 +0000 (16:05 -0600)]
ti: k3: common: Rename device IDs to be more consistent

The core number is called 'core_id' but the processor and device IDs are
called 'proc' and 'device'. Rename these to make them less confusing.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: I3d7c6dddd7aa37b5dee1aa9689ce31730e9c3b59

5 years agoT589: Fix insufficient ordering guarantees in bakery lock
Raghu Krishnamurthy [Sun, 26 Jan 2020 03:20:45 +0000 (19:20 -0800)]
T589: Fix insufficient ordering guarantees in bakery lock

bakery_lock_get() uses DMB LD after lock acquisition and
bakery_lock_release() uses DMB ST before releasing the lock. This is
insufficient in both cases. With just DMB LD, stores in the critical
section can be reordered before the DMB LD which could mean writes in
the critical section completing before the lock has been acquired
successfully. Similarly, with just DMB ST, a load in the critical section
could be reordered after the the DMB ST. DMB is the least expensive
barrier that can provide the required ordering.

Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@icloud.com>
Change-Id: Ieb74cbf5b76b09e1789331b71f37f7c660221b0e

5 years agoMerge changes from topic "pie" into integration
Soby Mathew [Mon, 27 Jan 2020 17:01:07 +0000 (17:01 +0000)]
Merge changes from topic "pie" into integration

* changes:
  uniphier: make all BL images completely position-independent
  uniphier: make uniphier_mmap_setup() work with PIE
  uniphier: pass SCP base address as a function parameter
  uniphier: set buffer offset and length for io_block dynamically
  uniphier: use more mmap_add_dynamic_region() for loading images
  bl_common: add BL_END macro
  uniphier: turn on ENABLE_PIE
  TSP: add PIE support
  BL2_AT_EL3: add PIE support
  BL31: discard .dynsym .dynstr .hash sections to make ENABLE_PIE work
  PIE: pass PIE options only to BL31
  Build: support per-BL LDFLAGS

5 years agoNeovers N1: added support to update presence of External LLC
Manish Pandey [Fri, 24 Jan 2020 11:54:44 +0000 (11:54 +0000)]
Neovers N1: added support to update presence of External LLC

CPUECTLR_EL1.EXTLLC bit indicates the presense of internal or external
last level cache(LLC) in the system, the reset value is internal LLC.

To cater for the platforms(like N1SDP) which has external LLC present
introduce a new build option 'NEOVERSE_N1_EXTERNAL_LLC' which can be
enabled by platform port.

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

5 years agoplat/arm/sgi: move topology information to board folder
Vijayenthiran Subramaniam [Fri, 27 Dec 2019 13:57:57 +0000 (19:27 +0530)]
plat/arm/sgi: move topology information to board folder

The platform topology description of the upcoming Arm's RD platforms
have different topology than those listed in the sgi_topology.c file. So
instead of adding platform specific topology into existing
sgi_topology.c file, those can be added to respective board files. In
order to maintain consistency with the upcoming platforms, move the
existing platform topology description to respective board files.

Change-Id: I4689c7d24cd0c75a3dc234370c34a85c08598abb
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoMerge "plat/sgm: Always use SCMI for SGM platforms" into integration
Manish Pandey [Mon, 27 Jan 2020 13:05:54 +0000 (13:05 +0000)]
Merge "plat/sgm: Always use SCMI for SGM platforms" into integration

5 years agoMerge "xilinx: Unify Platform specific defines for PSCI module" into integration
Mark Dykes [Fri, 24 Jan 2020 17:03:17 +0000 (17:03 +0000)]
Merge "xilinx: Unify Platform specific defines for PSCI module" into integration

5 years agoplat/sgm: Always use SCMI for SGM platforms
Chris Kay [Tue, 23 Apr 2019 15:31:06 +0000 (16:31 +0100)]
plat/sgm: Always use SCMI for SGM platforms

As on SGI platforms, SCPI is unsupported on SGM platforms.

Change-Id: I556ed095b9eb55b72447230ee2725d3c76160a08
Signed-off-by: Chris Kay <chris.kay@arm.com>
5 years agoxilinx: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:53:56 +0000 (10:53 -0600)]
xilinx: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I76f5535f1cbdaf3fc1235cd824111d9afe8f7e1b

5 years agouniphier: make all BL images completely position-independent
Masahiro Yamada [Fri, 17 Jan 2020 04:46:48 +0000 (13:46 +0900)]
uniphier: make all BL images completely position-independent

This platform supports multiple SoCs. The next SoC will still keep
quite similar architecture, but the memory base will be changed.

The ENABLE_PIE improves the maintainability and usability. You can reuse
a single set of BL images for other SoC/board without re-compiling TF-A
at all. This will also keep the code cleaner because it avoids #ifdef
around various base addresses.

By defining ENABLE_PIE, BL2_AT_EL3, BL31, and BL32 (TSP) are really
position-independent now. You can load them anywhere irrespective of
their link address.

Change-Id: I8d5e3124ee30012f5b3bfa278b0baff8efd2fff7
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make uniphier_mmap_setup() work with PIE
Masahiro Yamada [Fri, 17 Jan 2020 04:46:38 +0000 (13:46 +0900)]
uniphier: make uniphier_mmap_setup() work with PIE

BL2_BASE, BL31_BASE, and BL32_BASE are defined in platform_def.h,
that is, determined at link-time.

On the other hand, BL2_END, BL31_END, and BL32_END are derived from
the symbols produced by the linker scripts. So, they are fixed-up
at run-time if ENABLE_PIE is enabled.

To make it work in a position-indepenent manner, use BL_CODE_BASE and
BL_END, both of which are relocatable.

Change-Id: Ic179a7c60eb64c5f3024b178690b3ac7cbd7521b
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: pass SCP base address as a function parameter
Masahiro Yamada [Fri, 17 Jan 2020 04:46:23 +0000 (13:46 +0900)]
uniphier: pass SCP base address as a function parameter

Currently, UNIPHIER_SCP_BASE is hard-coded in uniphier_scp_start(),
which is not handy for PIE.

Towards the goal of making this really position-independent, pass in
image_info->image_base.

Change-Id: I88e020a1919c607b1d5ce70b116201d95773bb63
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: set buffer offset and length for io_block dynamically
Masahiro Yamada [Fri, 17 Jan 2020 04:46:13 +0000 (13:46 +0900)]
uniphier: set buffer offset and length for io_block dynamically

Currently, the .buffer field in io_block_dev_spec is statically set,
which is not handy for PIE.

Towards the goal of making this really position-independent, set the
buffer length and length in the uniphier_io_block_setup() function.

Change-Id: I22b20d7b58d6ffd38f64f967a2820fca4bd7dade
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: use more mmap_add_dynamic_region() for loading images
Masahiro Yamada [Fri, 17 Jan 2020 04:46:02 +0000 (13:46 +0900)]
uniphier: use more mmap_add_dynamic_region() for loading images

Currently, uniphier_bl2_mmap hard-codes the memory region needed for
loading other images.

Towards the goal of making this really position-independent, call
mmap_add_dynamic_region() before that region gets accessed.

Change-Id: Ieb505b91ccf2483e5f1a280accda564b33f19f11
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agobl_common: add BL_END macro
Masahiro Yamada [Fri, 17 Jan 2020 04:45:47 +0000 (13:45 +0900)]
bl_common: add BL_END macro

Currently, the end address macros are defined per BL, like BL2_END,
BL31_END, BL32_END. They are not handy in the common code shared
between multiple BL stages.

This commit introduces BL_END, which is equivalent to BL{2,31,32}_END,
and will be useful for the BL-common code.

Change-Id: I3c39bf6096d99ce920a5b9fa21c0f65456fbfe8a
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: turn on ENABLE_PIE
Masahiro Yamada [Fri, 17 Jan 2020 04:45:32 +0000 (13:45 +0900)]
uniphier: turn on ENABLE_PIE

Now that various issues in the PIE support have been fixed,
this platform can enable ENABLE_PIE.

I tested BL2_AT_EL3, BL31, TSP, and all of them worked.

Change-Id: Ibc499c6bad30b7f81a42bfa7e435ce25f820bd9c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoTSP: add PIE support
Masahiro Yamada [Fri, 17 Jan 2020 04:45:14 +0000 (13:45 +0900)]
TSP: add PIE support

This implementation simply mimics that of BL31.

Change-Id: Ibbaa4ca012d38ac211c52b0b3e97449947160e07
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoBL2_AT_EL3: add PIE support
Masahiro Yamada [Fri, 17 Jan 2020 04:45:02 +0000 (13:45 +0900)]
BL2_AT_EL3: add PIE support

This implementation simply mimics that of BL31.

I did not implement the ENABLE_PIE support for BL2_IN_XIP_MEM=1 case.
It would make the linker script a bit uglier.

Change-Id: If3215abd99f2758dfb232e44b50320d04eba808b
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoBL31: discard .dynsym .dynstr .hash sections to make ENABLE_PIE work
Masahiro Yamada [Fri, 17 Jan 2020 04:44:50 +0000 (13:44 +0900)]
BL31: discard .dynsym .dynstr .hash sections to make ENABLE_PIE work

When I tried ENABLE_PIE for my PLAT=uniphier platform, BL31 crashed
at its entry. When it is built with ENABLE_PIE=1, some sections are
inserted before the executable code.

$ make PLAT=uniphier CROSS_COMPILE=aarch64-linux-gnu- ENABLE_PIE=1 bl31
$ aarch64-linux-gnu-objdump -h build/uniphier/release/bl31/bl31.elf | head -n 13

build/uniphier/release/bl31/bl31.elf:     file format elf64-littleaarch64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .dynsym       000002a0  0000000081000000  0000000081000000  00010000  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .dynstr       000002a0  00000000810002a0  00000000810002a0  000102a0  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .hash         00000124  0000000081000540  0000000081000540  00010540  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 ro            0000699c  0000000081000664  0000000081000664  00010664  2**11
                  CONTENTS, ALLOC, LOAD, CODE

The previous stage loader generally jumps over to the base address of
BL31, where no valid instruction exists.

I checked the linker script of Linux (arch/arm64/kernel/vmlinux.lds.S)
and U-Boot (arch/arm/cpu/armv8/u-boot.lds), both of which support
relocation. They simply discard those sections.

Do similar in TF-A too.

Change-Id: I6c33e9143856765d4ffa24f3924b0ab51a17cde9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoPIE: pass PIE options only to BL31
Masahiro Yamada [Fri, 17 Jan 2020 04:44:37 +0000 (13:44 +0900)]
PIE: pass PIE options only to BL31

docs/getting_started/build-options.rst clearly says ENABLE_PIE is
currently only supported in BL31, but in fact, it has a stronger
limitation:

  Defining ENABLE_PIE may corrupt BL1 and BL2. So, ENABLE_PIE is
  supported only for platforms where BL31 is the only image built
  in the TF-A tree.

Currently, ENABLE_PIE is enabled by two platforms,
plat/arm/common/arm_common.mk and ti/k3/common/plat_common.mk,
both of which enable ENABLE_PIE together with RESET_TO_BL31.

For platforms with the full boot sequence, ENABLE_PIE may break earlier
BL stages. For example, if I build PLAT=qemu with ENABLE_PIE=1, it
fails in BL1.

When ENABLE_PIE is enabled, PIE options are added to TF_CFLAGS and
TF_LDFLAGS, so all BL images are affected. It is problematic because
currently only the BL31 linker script handles it. Even if BL1/BL2
works, the image size would increase needlessly, at least.

Pass the PIE options only to BL images that support it.

Change-Id: I550e95148aa3c63571c8ad2081082c554a848f57
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoBuild: support per-BL LDFLAGS
Masahiro Yamada [Fri, 17 Jan 2020 04:44:20 +0000 (13:44 +0900)]
Build: support per-BL LDFLAGS

make_helpers/build_macros.mk supports per-BL CFLAGS. For example,
you can pass compiler flags only to BL31 by using BL31_CFLAGS.

This commit adds per-BL LDFLAGS support, which is useful as well.

My main motivation of this addition is to use it for ENABLE_PIE.
When ENABLE_PIE is enabled, some linker flags are added to TF_LDFLAGS,
which affects all the TF images. It will make more sense to pass the
relevant options only to BL images that support it.

Change-Id: I203acaab0091db5ae0ea6e66460ee7dc8d9c4d75
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge "ti: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:57 +0000 (13:15 +0000)]
Merge "ti: Unify Platform specific defines for PSCI module" into integration

5 years agoti: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:53:34 +0000 (10:53 -0600)]
ti: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: Ia7072d82116b03904c1b3982f37d96347203e621

5 years agoMerge "st: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:49 +0000 (13:15 +0000)]
Merge "st: Unify Platform specific defines for PSCI module" into integration

5 years agost: Unify Platform specific defines for PSCI module
Deepika Bhavnani [Fri, 13 Dec 2019 16:53:12 +0000 (10:53 -0600)]
st: Unify Platform specific defines for PSCI module

PLATFORM_CORE_COUNT - Unsigned int
PLATFORM_CLUSTER_COUNT - Unsigned int
PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int
PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int

Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: I3421336230981d4cda301fa2cef24b94b08353b1

5 years agoMerge "layerscape: Unify Platform specific defines for PSCI module" into integration
Soby Mathew [Fri, 24 Jan 2020 13:15:42 +0000 (13:15 +0000)]
Merge "layerscape: Unify Platform specific defines for PSCI module" into integration