Ambroise Vincent [Thu, 28 Mar 2019 09:01:18 +0000 (09:01 +0000)]
Makefile: remove extra include paths in INCLUDES
Now it is needed to use the full path of the common header files.
Commit
09d40e0e0828 ("Sanitise includes across codebase") provides more
information.
Change-Id: Ifedc79d9f664d208ba565f5736612a3edd94c647
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 27 Mar 2019 16:06:02 +0000 (16:06 +0000)]
Remove deprecated interfaces
Change-Id: I14fcabbdfd53153d1d5f187f6f8b23a045794408
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 27 Mar 2019 16:03:24 +0000 (16:03 +0000)]
tzc: remove deprecated types
Types tzc_action_t and tzc_region_attributes_t are deprecated.
Change-Id: Ieefeb8521a0e1130f39d09b5c0d2728f05084773
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 27 Mar 2019 15:45:35 +0000 (15:45 +0000)]
Console: remove deprecated finish_console_register
The old version of the macro is deprecated.
Commit
cc5859ca19ff ("Multi-console: Deprecate the
`finish_console_register` macro") provides more details.
Change-Id: I3d1cdf6496db7d8e6cfbb5804f508ff46ae7e67e
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 27 Mar 2019 13:48:15 +0000 (13:48 +0000)]
Remove deprecated plat_crash_console_*
The default implementations are defined in crash_console_helpers.S. The
platforms have to define plat_crash_console_*.
Implemented placeholders for platforms that were missing helpers.
Change-Id: Iea60b6f851956916e421dfd8c34a62d96eb9148e
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Antonio Niño Díaz [Wed, 3 Apr 2019 13:06:21 +0000 (14:06 +0100)]
Merge pull request #1917 from marex/arm/master/v3meagle-v2.0.1
rcar_gen3: plat: Add R-Car V3M support
Antonio Niño Díaz [Wed, 3 Apr 2019 10:20:47 +0000 (11:20 +0100)]
Merge pull request #1916 from antonio-nino-diaz-arm/an/spm-xlat
SPM: Some improvements to xlat handling code
Antonio Niño Díaz [Wed, 3 Apr 2019 10:20:38 +0000 (11:20 +0100)]
Merge pull request #1918 from lmayencourt/lm/contrib_guidelines
doc: Update contribution guidelines
Antonio Niño Díaz [Wed, 3 Apr 2019 10:20:21 +0000 (11:20 +0100)]
Merge pull request #1915 from repk/gxl
Add support for Amlogic s905x (GXL)
Antonio Nino Diaz [Wed, 27 Mar 2019 13:45:52 +0000 (13:45 +0000)]
SPM: Adjust size of virtual address space per partition
Rather than using a fixed virtual address space size, read all regions
in the resource description of each partition and restrict the virtual
address space size to the one the partition actually needs.
This also allows SPM to take advantage of the extension ARMv8.4-TTST if
the virtual address space size is small enough.
Change-Id: I8646aa95e659136b58b44b040364cdee631f7e82
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Antonio Nino Diaz [Wed, 27 Mar 2019 13:04:46 +0000 (13:04 +0000)]
SPM: Refactor xlat context creation
Right now the virtual address space is fixed to
PLAT_VIRT_ADDR_SPACE_SIZE, so all base translation tables are the same
size and need the same alignment. The current code allocates the exact
space needed by this initial table.
However, a following patch is going to allow each partition to choose
the size of its address space based on the memory regions defined in
their resource description, so it isn't possible to determine this at
build time. As this optimization no longer applies, it has to be
removed.
Change-Id: Ia8d19f4981e1017e4ffe0ba136de73d701044cb0
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Antonio Nino Diaz [Wed, 27 Mar 2019 11:10:31 +0000 (11:10 +0000)]
SPM: Move shim layer to TTBR1_EL1
This gives each Secure Partition complete freedom on its address space.
Previously, the memory used by the exception vectors was reserved and
couldn't be used. Also, it always had to be mapped, forcing SPM to
generate translation tables that included the exception vectors as well
as the Partition memory regions. With this change, partitions can reduce
their address space size easily.
Change-Id: I67fb5e9bdf2870b73347f23bff702fab0a8f8711
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Louis Mayencourt [Fri, 22 Mar 2019 11:47:22 +0000 (11:47 +0000)]
doc: Update contribution guidelines
Update the documentation for trustedfirmware.org migration
Change-Id: Ibb7052b0becbec3326164f1503806ca2c2fd4dcc
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Remi Pommarel [Mon, 1 Apr 2019 09:34:09 +0000 (11:34 +0200)]
plat: gxl: Add documentation on building GXL image
Also adds a maintainer for GXL.
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Remi Pommarel [Sat, 30 Mar 2019 14:58:45 +0000 (15:58 +0100)]
meson/gxl: Add tool to create bl31 bootable images
GXL platforms need to have a specific header at the beginning of bl31
image to be able to boot. This adds a tool to create that and calls it at
build time.
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Remi Pommarel [Thu, 28 Mar 2019 19:55:13 +0000 (20:55 +0100)]
meson/gxl: Configure and boot SCP
On Amlogic gxl (s905x) SOC, in order to use SCP, bl31 has to send bl30
and bl301 firmware along with their SHA256 hash over scpi.
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Remi Pommarel [Thu, 28 Mar 2019 22:34:18 +0000 (23:34 +0100)]
meson/gxl: Add support for SHA256 DMA engine
In order to configure and boot SCP, BL31 has to compute and send
the SHA-256 of the firmware data via scpi. Luckily Amlogic GXL SOC
has a DMA facility that could be used to offload SHA-256
computations. This adds basic support of this hardware SHA-256
engine.
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Antonio Nino Diaz [Wed, 5 Dec 2018 00:09:30 +0000 (00:09 +0000)]
meson/gxl: Initial port of Amlogic Meson S905x (GXL)
The Amlogic Meson S905x is a SoC with a quad core Arm Cortex-A53 running
at 1.5Ghz. It also contains a Cortex-M3 used as SCP.
This port is a minimal implementation of BL31 capable of booting
mainline U-Boot and Linux:
- Partial SCPI support.
- Basic PSCI support (CPU_ON, SYSTEM_RESET, SYSTEM_OFF).
- GICv2 driver set up.
- Basic SIP services (read efuse data, enable/disable JTAG).
This port has been tested on a lepotato.
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Antonio Nino Diaz [Fri, 29 Mar 2019 13:48:50 +0000 (13:48 +0000)]
SPM: Ignore empty regions in resource description
Instead of letting the code run until another error is reached, return
early.
Change-Id: I6277a8c65101d3e39b0540099c2a3063584a7dbd
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Valentine Barshak [Mon, 29 Oct 2018 23:06:17 +0000 (02:06 +0300)]
rcar_gen3: plat: Add R-Car V3M support
Add R-Car V3M support. This is based on the original
V3M support patch for Yocto v2.23.1 by Vladimir Barinov.
Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
---
Marek: Update on top of mainline ATF/master
Antonio Niño Díaz [Tue, 2 Apr 2019 13:16:27 +0000 (14:16 +0100)]
Merge pull request #1914 from marex/arm/master/d3draak-v2.0.1
Arm/master/d3draak v2.0.1
Marek Vasut [Thu, 14 Jun 2018 04:26:45 +0000 (06:26 +0200)]
rcar_gen3: drivers: qos: Add D3 QoS tables
Add QoS tables for R-Car D3 SoC.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Thu, 14 Jun 2018 04:26:45 +0000 (06:26 +0200)]
rcar_gen3: drivers: pfc: Add D3 PFC tables
Add PFC tables for R-Car D3 SoC.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Thu, 14 Jun 2018 04:26:45 +0000 (06:26 +0200)]
rcar_gen3: drivers: ddr_a: Add D3 DDR init
Add R-Car D3 DDR initialization code. The code is in staging and needs
cleanup, and possibly can even be merged with the E3 init code.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Sat, 5 Jan 2019 13:18:10 +0000 (14:18 +0100)]
rcar_gen3: drivers: swdt: Add D3 support
Add WTCNT register configuration for the D3 SoC.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Sat, 5 Jan 2019 13:16:48 +0000 (14:16 +0100)]
rcar_gen3: drivers: scif: Add D3 support
Add SCIF configuration specifics for the D3 SoC, that is detection
of the D3 SoC and SCBRR configuration.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Sat, 5 Jan 2019 13:13:23 +0000 (14:13 +0100)]
rcar_gen3: drivers: pwrc: Add D3 support
The D3 SoC has one CPU core, just return 1 as a CPU number.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Sat, 5 Jan 2019 13:07:55 +0000 (14:07 +0100)]
rcar_gen3: drivers: rom: Mark NEW table as D3 compatible
Add comment into the ROM driver that the new table is also D3 compatible.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Sat, 5 Jan 2019 12:56:03 +0000 (13:56 +0100)]
rcar_gen3: plat: Add initial D3 support
Add R-Car D3 SoC platform specifics. Driver, PFC, QoS, DDR init code
will be added separately.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Marek Vasut [Sat, 30 Mar 2019 03:01:41 +0000 (04:01 +0100)]
rcar_gen3: plat: Print DRAM bank size in MiB if below 1 GiB
Print the DRAM bank size in MiB instead of GiB in case the bank size
is smaller than 1 GiB. This prevents printing zeroes on systems with
small DRAM sizes.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Antonio Niño Díaz [Mon, 1 Apr 2019 10:25:21 +0000 (11:25 +0100)]
Merge pull request #1886 from ambroise-arm/av/static-checks
Fix extra compilation warnings
Antonio Niño Díaz [Mon, 1 Apr 2019 10:04:04 +0000 (11:04 +0100)]
Merge pull request #1913 from marex/arm/master/m3wulcb-v2.0.1
rcar_gen3: plat: Set M3W ULCB DRAM size to 2 GiB
Antonio Niño Díaz [Mon, 1 Apr 2019 10:03:50 +0000 (11:03 +0100)]
Merge pull request #1898 from hadi-asyrafi/watchdog
intel: Enable watchdog timer on Intel S10 platform
Ambroise Vincent [Wed, 27 Feb 2019 16:50:10 +0000 (16:50 +0000)]
BL1: Fix type consistency
Change function signatures and fix sign-compare warnings.
Change-Id: Iaf755d61e6c54c3dcf4f41aa3c27ea0f6e665fee
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 27 Feb 2019 16:01:48 +0000 (16:01 +0000)]
SPM: Create SPCI auxiliary function
Fix variable shadowing warnings and prevent code duplication.
Change-Id: Idb29cc95d6b6943bc012d7bd430afa0e4a7cbf8c
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Thu, 14 Feb 2019 09:48:21 +0000 (09:48 +0000)]
Remove several warnings reported with W=2
Improved support for W=2 compilation flag by solving some nested-extern
and sign-compare warnings.
The libraries are compiling with warnings (which turn into errors with
the Werror flag).
Outside of libraries, some warnings cannot be fixed.
Change-Id: I06b1923857f2a6a50e93d62d0274915b268cef05
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Wed, 13 Feb 2019 15:58:00 +0000 (15:58 +0000)]
Remove several warnings reported with W=1
Improved support for W=1 compilation flag by solving missing-prototypes
and old-style-definition warnings.
The libraries are compiling with warnings (which turn into errors with
the Werror flag).
Outside of libraries, some warnings cannot be fixed without heavy
structural changes.
Change-Id: I1668cf99123ac4195c2a6a1d48945f7a64c67f16
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Soby Mathew [Fri, 29 Mar 2019 10:53:57 +0000 (10:53 +0000)]
Merge pull request #1911 from lmayencourt/lm/update_gcc
doc: Suggest to use the latest version of GCC 8.2
Soby Mathew [Fri, 29 Mar 2019 10:53:25 +0000 (10:53 +0000)]
Merge pull request #1912 from pbeesley-arm/pb/spm-reword
doc: Clarify draft status of SPCI and SPRT specs
Paul Beesley [Fri, 29 Mar 2019 10:14:56 +0000 (10:14 +0000)]
doc: Clarify draft status of SPCI and SPRT specs
These SPM-related specifications are mentioned in the readme and
the change log. Update references to these specs to make it clear
that they are in draft form and are expected to change.
Change-Id: Ia2791c48c371a828246d96f102a402747cd69f96
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Louis Mayencourt [Fri, 8 Mar 2019 15:35:40 +0000 (15:35 +0000)]
doc: Suggest to use the latest version of GCC 8.2
The latest version of GCC are required to use the new features of TF-A.
Suggest to use the latest version available on developer.arm.com instead
of the version specified on the Linaro Release notes.
At the time of writing, GCC 8.2-2019.01 is the latest version available.
Change-Id: Idd5c00749e39ca9dc8b7c5623b5d64356c9ce6e5
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Soby Mathew [Thu, 28 Mar 2019 14:34:36 +0000 (14:34 +0000)]
Merge pull request #1908 from soby-mathew/sm/update_ver
Update TF-A version to 2.1
Soby Mathew [Thu, 28 Mar 2019 14:30:40 +0000 (14:30 +0000)]
Merge pull request #1910 from soby-mathew/sm/mb_ver_doc
docs: List MB version dependancy for Juno FWU as known issue
Soby Mathew [Thu, 28 Mar 2019 13:46:40 +0000 (13:46 +0000)]
docs: List MB version dependency for Juno FWU as known issue
Change-Id: Ib37215ca4c9b515e54054290952eed5034582ba4
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Soby Mathew [Thu, 28 Mar 2019 13:50:17 +0000 (13:50 +0000)]
Merge pull request #1909 from ambroise-arm/av/doc-update
Documentation: update tested platforms
Ambroise Vincent [Thu, 28 Mar 2019 12:51:48 +0000 (12:51 +0000)]
Documentation: update tested platforms
Update both the readme and user guide on their shared "platform"
section.
Change-Id: Ia1f30acda45ac8facdcb7d540800191cdf6cdacf
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Soby Mathew [Wed, 27 Mar 2019 12:08:16 +0000 (12:08 +0000)]
Merge pull request #1906 from pbeesley-arm/pb/readme
doc: Prepare readme for 2.1 release
Soby Mathew [Wed, 27 Mar 2019 12:03:25 +0000 (12:03 +0000)]
Merge pull request #1907 from pbeesley-arm/pb/changelog
doc: Update change log for v2.1
Soby Mathew [Wed, 27 Mar 2019 11:07:20 +0000 (11:07 +0000)]
Merge pull request #1905 from ambroise-arm/av/2.1-docs
Update user guide for 2.1 release
Paul Beesley [Mon, 25 Mar 2019 12:21:57 +0000 (12:21 +0000)]
doc: Update change log for v2.1
Change-Id: Ib6a20ffdddad11b9629d7dca7f841182299bf860
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Mon, 25 Mar 2019 16:45:23 +0000 (16:45 +0000)]
doc: Update readme.rst for v2.1 release
Change-Id: Id3ae11a401a2e5290bb1980f1f349fc3cf49c7d6
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Marek Vasut [Sat, 9 Mar 2019 15:10:59 +0000 (16:10 +0100)]
rcar_gen3: plat: Set M3W ULCB DRAM size to 2 GiB
The M3W ULCB board has 2 GiB of DRAM, set it so.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Soby Mathew [Tue, 26 Mar 2019 15:51:59 +0000 (15:51 +0000)]
Update TF-A version to 2.1
Change-Id: I6d8a6419df4d4924214115facbce90715a1a0371
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Ambroise Vincent [Thu, 14 Mar 2019 10:53:16 +0000 (10:53 +0000)]
docs: Update user guide
Make sure the steps in the user guide are up to date and can be
performed out of the box.
Change-Id: Ib4d959aa771cf515f74e150aaee2fbad24c18c38
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Paul Beesley [Mon, 25 Mar 2019 16:42:19 +0000 (16:42 +0000)]
doc: Add contents.rst to link to pages
This is the temporary contents page that links
to all other documents (except platform ports).
This page is needed during the
trustedfirmware.org migration, before we have a
Sphinx rendering pipeline set up, because cgit
doesn't offer a good way to view rendered docs
while browsing the tree. We need to have a links
page that can be opened from the cgit 'about'
view.
Change-Id: I3ad87a9fa8a14dc8e371aac7ee473575fed316bf
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Soby Mathew [Mon, 25 Mar 2019 11:00:46 +0000 (11:00 +0000)]
Merge pull request #1904 from lmayencourt/lm/move_pie_fixup
PIE: Fix reloc at the beginning of bl31 entrypoint
Louis Mayencourt [Fri, 22 Mar 2019 16:33:23 +0000 (16:33 +0000)]
PIE: Fix reloc at the beginning of bl31 entrypoint
The relocation fixup code must be called at the beginning of bl31
entrypoint to ensure that CPU specific reset handlers are fixed up for
relocations.
Change-Id: Icb04eacb2d4c26c26b08b768d871d2c82777babb
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Dimitris Papastamos [Fri, 22 Mar 2019 16:26:28 +0000 (16:26 +0000)]
Merge pull request #1903 from thloh85-intel/thloh85-integration
driver: synosys: Fix SD MMC not initializing correctly
Tien Hock, Loh [Fri, 22 Mar 2019 04:54:31 +0000 (12:54 +0800)]
driver: synosys: Fix SD MMC not initializing correctly
dw_params.mmc_dev_type should be assigned before mmc_init, otherwise SDMMC
initialization will fail as the initialization treats the device as EMMC
instead of SD.
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Dimitris Papastamos [Thu, 21 Mar 2019 12:40:35 +0000 (12:40 +0000)]
Merge pull request #1902 from jts-arm/romlib
ROMLIB bug fixes
John Tsichritzis [Fri, 8 Mar 2019 16:54:13 +0000 (16:54 +0000)]
ROMLIB bug fixes
Fixed the below bugs:
1) Bug related to build flag V=1: if the flag was V=0, building with
ROMLIB would fail.
2) Due to a syntax bug in genwrappers.sh, index file entries marked as
"patch" or "reserved" were ignored.
3) Added a prepending hash to constants that genwrappers is generating.
4) Due to broken dependencies, currently the inclusion functionality is
intentionally not utilised. This is why the contents of romlib/jmptbl.i
have been copied to platform specific jmptbl.i files. As a result of the
broken dependencies, when changing the index files, e.g. patching
functions, a clean build is always required. This is a known issue that
will be fixed in the future.
Change-Id: I9d92aa9724e86d8f90fcd3e9f66a27aa3cab7aaa
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Muhammad Hadi Asyrafi Abdul Halim [Tue, 19 Mar 2019 09:59:06 +0000 (17:59 +0800)]
intel: Enable watchdog timer on Intel S10 platform
Watchdog driver support & enablement during platform setup
Signed-off-by: Muhammad Hadi Asyrafi Abdul Halim <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Dimitris Papastamos [Wed, 20 Mar 2019 12:36:17 +0000 (12:36 +0000)]
Merge pull request #1899 from jts-arm/docs
Add USE_ROMLIB build option to user guide
Dimitris Papastamos [Wed, 20 Mar 2019 11:18:20 +0000 (11:18 +0000)]
Merge pull request #1887 from ambroise-arm/av/a76-cve
Cortex-A76: Optimize CVE_2018_3639 workaround
Dimitris Papastamos [Wed, 20 Mar 2019 11:17:33 +0000 (11:17 +0000)]
Merge pull request #1901 from AlexeiFedorov/af/restore_pauth_context_smc
Restore PAuth context in case of unknown SMC call
Soby Mathew [Tue, 19 Mar 2019 15:25:41 +0000 (15:25 +0000)]
Merge pull request #1900 from soby-mathew/sm/revert_xlat_changes
xlat_tables_v2: Revert recent changes to remove recursion
Antonio Nino Diaz [Tue, 19 Mar 2019 14:12:09 +0000 (14:12 +0000)]
xlat_tables_v2: Revert recent changes to remove recursion
This commit reverts the following commits:
-
c54c7fc35842 ("xlat_tables_v2: print xlat tables without recursion")
-
db8cac2d986a ("xlat_tables_v2: unmap region without recursion.")
-
0ffe269215bd ("xlat_tables_v2: map region without recursion.")
This was part of PR#1843.
A problem has been detected in one of our test run configurations
involving dynamic mapping of regions and it is blocking the next
release. Until the problem can be solved, it is safer to revert
the changes.
Change-Id: I3d5456e4dbebf291c8b74939c6fb02a912e0903b
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
John Tsichritzis [Tue, 19 Mar 2019 12:12:55 +0000 (12:12 +0000)]
Add USE_ROMLIB build option to user guide
Change-Id: I4261fec500184383980b7fc9475620a485cf6c28
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Soby Mathew [Mon, 18 Mar 2019 16:15:12 +0000 (16:15 +0000)]
Merge pull request #1894 from jts-arm/e1_midr
Fix MIDR_EL1 value for Neoverse E1
Soby Mathew [Mon, 18 Mar 2019 16:09:51 +0000 (16:09 +0000)]
Merge pull request #1895 from AlexeiFedorov/af/declare_pauth_experimental
Declare ENABLE_PAUTH build option as experimental
Alexei Fedorov [Mon, 18 Mar 2019 15:59:34 +0000 (15:59 +0000)]
Restore PAuth context in case of unknown SMC call
Change-Id: I8fb346743b7afddbb8bf5908db4f27ee5a26f99b
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Alexei Fedorov [Wed, 13 Mar 2019 11:05:07 +0000 (11:05 +0000)]
Declare PAuth for Secure world as experimental
Declare ENABLE_PAUTH and CTX_INCLUDE_PAUTH_REGS
build options as experimental.
Pointer Authentication is enabled for Non-secure world
irrespective of the value of these build flags if the
CPU supports it.
The patch also fixes the description of fiptool 'help' command.
Change-Id: I46de3228fbcce774a2624cd387798680d8504c38
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Soby Mathew [Mon, 18 Mar 2019 12:48:55 +0000 (12:48 +0000)]
Merge pull request #1892 from sandrine-bailleux-arm/sb/pauth
Pointer authentication fixes
John Tsichritzis [Fri, 15 Mar 2019 15:40:27 +0000 (15:40 +0000)]
Fix wrong MIDR_EL1 value for Neoverse E1
Change-Id: I75ee39d78c81ecb528a671c0cfadfc2fe7b5d818
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Dimitris Papastamos [Fri, 15 Mar 2019 15:29:09 +0000 (15:29 +0000)]
Merge pull request #1866 from mmind/rockchip-fdt-param
rockchip: add an fdt parsing stub for platform param
Dimitris Papastamos [Fri, 15 Mar 2019 15:28:17 +0000 (15:28 +0000)]
Merge pull request #1888 from jts-arm/zeus
Introduce preliminary support for Neoverse Zeus
Dimitris Papastamos [Fri, 15 Mar 2019 15:28:08 +0000 (15:28 +0000)]
Merge pull request #1889 from jts-arm/var4
Apply variant 4 mitigation for Neoverse N1
Dimitris Papastamos [Fri, 15 Mar 2019 15:27:59 +0000 (15:27 +0000)]
Merge pull request #1890 from jts-arm/mbedtls
Update documentation for mbed TLS v2.16
Dimitris Papastamos [Fri, 15 Mar 2019 11:16:22 +0000 (11:16 +0000)]
Merge pull request #1891 from soby-mathew/sm/increase_fvp_stack
fvp: Increase the size of the stack for FVP
Heiko Stuebner [Thu, 7 Mar 2019 07:07:11 +0000 (08:07 +0100)]
rockchip: add an fdt parsing stub for platform param
The Rockchip ATF platform can be entered from both Coreboot and U-Boot.
While Coreboot does submit the list of linked parameter structs as
platform param, upstream u-boot actually always provides a pointer
to a devicetree as parameter.
This results in current ATF not running at all when started from U-Boot.
To fix this, add a stub that checks if the parameter is a fdt so we
can at least boot and not get stuck. Later on we can extend this with
actual parsing of information from the devicetree.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Louis Mayencourt [Wed, 13 Mar 2019 17:11:35 +0000 (17:11 +0000)]
fvp: Increase the size of the stack for FVP
When RECLAIM_INIT_CODE is 1, the stack is used to contain the .text.init
section. This is by default enable on FVP. Due to the size increase of
the .text.init section, the stack had to be adjusted contain it.
Change-Id: Ia392341970fb86c0426cf2229b1a7295453e2e32
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
John Tsichritzis [Tue, 12 Mar 2019 16:11:17 +0000 (16:11 +0000)]
Update documentation for mbed TLS v2.16
Change-Id: I1854b5830dbd48e909a4ce1b931c13fb3e997600
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Sandrine Bailleux [Wed, 13 Mar 2019 17:02:09 +0000 (18:02 +0100)]
Put Pointer Authentication key value in BSS section
The dummy implementation of the plat_init_apiakey() platform API uses
an internal 128-bit buffer to store the initial key value used for
Pointer Authentication support.
The intent - as stated in the file comments - was for this buffer to
be write-protected by the MMU. Initialization of the buffer would be
performed before enabling the MMU, thus bypassing write protection
checks.
However, the key buffer ended up into its own read-write section by
mistake due to a typo on the section name ('rodata.apiakey' instead of
'.rodata.apiakey', note the leading dot). As a result, the linker
script was not pulling it into the .rodata output section.
One way to address this issue could have been to fix the section
name. However, this approach does not work well for BL1. Being the
first image in the boot flow, it typically is sitting in real ROM
so we don't have the capacity to update the key buffer at any time.
The dummy implementation of plat_init_apiakey() provided at the moment
is just there to demonstrate the Pointer Authentication feature in
action. Proper key management and key generation would have to be a
lot more careful on a production system.
Therefore, the approach chosen here to leave the key buffer in
writable memory but move it to the BSS section. This does mean that
the key buffer could be maliciously updated for intalling unintended
keys on the warm boot path but at the feature is only at an
experimental stage right now, this is deemed acceptable.
Change-Id: I121ccf35fe7bc86c73275a4586b32d4bc14698d6
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Sandrine Bailleux [Thu, 14 Mar 2019 10:38:01 +0000 (11:38 +0100)]
Fix restoring APIBKey registers
Instruction key A was incorrectly restored in the instruction key B
registers.
Change-Id: I4cb81ac72180442c077898509cb696c9d992eda3
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
John Tsichritzis [Mon, 8 Oct 2018 16:09:43 +0000 (17:09 +0100)]
Introduce preliminary support for Neoverse Zeus
Change-Id: If56d1e200a31bd716726d7fdc1cc0ae8a63ba3ee
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
John Tsichritzis [Mon, 4 Mar 2019 16:41:26 +0000 (16:41 +0000)]
Apply variant 4 mitigation for Neoverse N1
This patch applies the new MSR instruction to directly set the
PSTATE.SSBS bit which controls speculative loads. This new instruction
is available at Neoverse N1 core so it's utilised.
Change-Id: Iee18a8b042c90fdb72d2b98f364dcfbb17510728
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Ambroise Vincent [Thu, 7 Mar 2019 14:33:02 +0000 (14:33 +0000)]
Cortex-A76: Optimize CVE_2018_3639 workaround
Switched from a static check to a runtime assert to make sure a
workaround is implemented for CVE_2018_3639.
This allows platforms that know they have the SSBS hardware workaround
in the CPU to compile out code under DYNAMIC_WORKAROUND_CVE_2018_3639.
The gain in memory size without the dynamic workaround is 4KB in bl31.
Change-Id: I61bb7d87c59964b0c7faac5d6bc7fc5c4651cbf3
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Thu, 7 Mar 2019 14:31:33 +0000 (14:31 +0000)]
Cortex-A76: fix spelling
Change-Id: I6adf7c14e8a974a7d40d51615b5e69eab1a7436f
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Soby Mathew [Wed, 13 Mar 2019 17:31:36 +0000 (17:31 +0000)]
Merge pull request #1859 from JackyBai/master
refact the imx8m common code and add the imx8mm support
Soby Mathew [Wed, 13 Mar 2019 15:53:52 +0000 (15:53 +0000)]
Merge pull request #1883 from ambroise-arm/av/a17-errata
Apply workarounds for errata of Cortex-A17
Ambroise Vincent [Mon, 4 Mar 2019 13:20:56 +0000 (13:20 +0000)]
Cortex-A17: Implement workaround for errata 852423
Change-Id: I3a101e540f0b134ecf9a51fa3d7d8e3d0369b297
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Thu, 28 Feb 2019 16:23:53 +0000 (16:23 +0000)]
Cortex-A17: Implement workaround for errata 852421
Change-Id: Ic3004fc43229d63c5a59ca74c1837fb0604e1f33
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Soby Mathew [Wed, 13 Mar 2019 15:36:58 +0000 (15:36 +0000)]
Merge pull request #1884 from AlexeiFedorov/af/set_march_to_arch_minor
Allow setting compiler's target architecture
Soby Mathew [Wed, 13 Mar 2019 15:34:33 +0000 (15:34 +0000)]
Merge pull request #1882 from ambroise-arm/av/a15-errata
Apply workarounds for errata of Cortex-A15
Soby Mathew [Wed, 13 Mar 2019 15:33:36 +0000 (15:33 +0000)]
Merge pull request #1881 from sandrine-bailleux-arm/sb/doc-fixes
Minor doc fixes
Soby Mathew [Wed, 13 Mar 2019 15:33:13 +0000 (15:33 +0000)]
Merge pull request #1880 from lmayencourt/lm/pie
PIE: fix linking with pie and binutils > 2.27
Soby Mathew [Wed, 13 Mar 2019 15:32:15 +0000 (15:32 +0000)]
Merge pull request #1879 from pbeesley-arm/pb/todo-removal
Pb/todo removal
Soby Mathew [Wed, 13 Mar 2019 15:32:00 +0000 (15:32 +0000)]
Merge pull request #1878 from jts-arm/sctlr
Apply stricter speculative load restriction
Soby Mathew [Wed, 13 Mar 2019 15:31:33 +0000 (15:31 +0000)]
Merge pull request #1874 from hadi-asyrafi/qspi_boot
intel: QSPI boot enablement
Soby Mathew [Wed, 13 Mar 2019 15:30:43 +0000 (15:30 +0000)]
Merge pull request #1873 from hadi-asyrafi/driver_qspi
intel: Add driver for QSPI