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>
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>
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
Soby Mathew [Wed, 13 Mar 2019 15:26:51 +0000 (15:26 +0000)]
Merge pull request #1843 from DavidPu/xlat_tables_v2_non_recursion
Remove recursion from xlat_tables_v2 library
Soby Mathew [Wed, 13 Mar 2019 15:25:54 +0000 (15:25 +0000)]
Merge pull request #1858 from thloh85-intel/dwmmc_fixes
drivers: synopsys: Fix synopsys MMC driver
Soby Mathew [Wed, 13 Mar 2019 15:24:11 +0000 (15:24 +0000)]
Merge pull request #1856 from masahisak/synquacer-scmi-support
plat/synquacer: enable SCMI support
Ambroise Vincent [Tue, 5 Mar 2019 09:54:21 +0000 (09:54 +0000)]
Cortex-A15: Implement workaround for errata 827671
This erratum can only be worked around on revisions >= r3p0 because the
register that needs to be accessed only exists in those revisions[1].
[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0438g/CIHEAAAD.html
Change-Id: I5d773547d7a09b5bd01dabcd19ceeaf53c186faa
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Ambroise Vincent [Mon, 4 Mar 2019 16:56:26 +0000 (16:56 +0000)]
Cortex-A15: Implement workaround for errata 816470
Change-Id: I9755252725be25bfd0147839d7df56888424ff84
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
Dimitris Papastamos [Wed, 13 Mar 2019 13:59:00 +0000 (13:59 +0000)]
Merge pull request #1877 from bryanodonoghue/integration+bl2-el3-eret-fix-v2
bl2-el3: Fix exit to bl32 by ensuring full write to SPSR
Dimitris Papastamos [Wed, 13 Mar 2019 13:58:10 +0000 (13:58 +0000)]
Merge pull request #1861 from Yann-lms/checkpatch
Update checkpatch options
Dimitris Papastamos [Wed, 13 Mar 2019 13:57:48 +0000 (13:57 +0000)]
Merge pull request #1875 from Yann-lms/bsec
fdts: stm32mp1: add bsec node
Bryan O'Donoghue [Tue, 12 Mar 2019 12:09:51 +0000 (12:09 +0000)]
bl1-smc-handler: Ensure the lower-order 16 bits of SPSR are programmed
A bug recently fixed in bl2/aarch32/bl2_el3_entrypoint.S relates to
programming the lower-order 16 bits of the SPSR to populate into the CPSR
on eret.
The BL1 smc-handler code is identical and has the same shortfall in
programming the SPSR from the platform defined struct
entry_point_info->spsr.
msr spsr, r1 will only update bits f->[31:24] and c->[7:0] respectively. In
order to ensure the 16 lower-order processor mode bits x->[15:8] and
c->[7:0] this patch changes msr spsr, r1 to msr spsr_xc, r1.
This change ensures we capture the x field, which we are interested in and
not the f field which we are not.
Fixes: f3b4914be3b4 ('AArch32: Add generic changes in BL1')
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Bryan O'Donoghue [Mon, 11 Mar 2019 15:36:07 +0000 (15:36 +0000)]
bl2-el3: Fix exit to bl32 by ensuring a more complete write to SPSR
Prior to entry into BL32 we set the SPSR by way of msr spsr, r1.
This unfortunately only writes the bits f->[31:24] and c->[7:0].
This patch updates the bl2 exit path to write the x->[15:8] and c->[7:0]
fields of the SPSR. For the purposes of initial setup of the SPSR the x and
c fields should be sufficient and importantly will capture the necessary
lower-order control bits that f:c alone do not.
This is important to do to ensure the SPSR is set to the mode the platform
intends prior to performing an eret.
Fixes: b1d27b484f41 ("bl2-el3: Add BL2_EL3 image")
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Muhammad Hadi Asyrafi Abdul Halim [Fri, 8 Mar 2019 11:02:33 +0000 (19:02 +0800)]
intel: QSPI boot enablement
Manages QSPI initialization, configuration and IO handling as boot device
Signed-off-by: Muhammad Hadi Asyrafi Abdul Halim <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Jacky Bai [Wed, 6 Mar 2019 09:15:06 +0000 (17:15 +0800)]
plat: imx8m: Add the basic support for imx8mm
The i.MX8M Mini is new SOC of the i.MX8M family. it is
focused on delivering the latest and greatest video and
audio experience combining state-of-the-art media-specific
features with high-performance processing while optimized
for lowest power consumption. The i.MX 8M Mini Media Applications
Processor is 14nm FinFET product of the growing i.MX8M family
targeting the consumer & industrial market. It is built in 14LPP
to achieve both high performance and low power consumption
and relies on a powerful fully coherent core complex based on
a quad Cortex-A53 cluster with video and graphics accelerators
this patch add the basic support for i.MX8MM.
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Muhammad Hadi Asyrafi Abdul Halim [Fri, 8 Mar 2019 11:21:04 +0000 (19:21 +0800)]
intel: Add driver for QSPI
To support the enablement of QSPI booting
Signed-off-by: Muhammad Hadi Asyrafi Abdul Halim <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Masahisa Kojima [Thu, 7 Mar 2019 02:23:42 +0000 (11:23 +0900)]
plat/arm: mhu: make mhu driver generic
MHU doorbell driver requires arm platform specific
macro "PLAT_CSS_MHU_BASE".
Rename it to "PLAT_MHUV2_BASE", so that platforms other than arm
can use generic MHU doorbell driver.
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Masahisa Kojima [Thu, 7 Mar 2019 01:41:54 +0000 (10:41 +0900)]
plat/synquacer: enable SCMI support
Enable the SCMI protocol support in SynQuacer platform.
Aside from power domain, system power and apcore management protocol,
this commit adds the vendor specific protocol(0x80).
This vendor specific protocol is used to get the dram mapping information
from SCP.
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Alexei Fedorov [Mon, 11 Mar 2019 16:51:47 +0000 (16:51 +0000)]
Allow setting compiler's target architecture
Change-Id: I56ea088f415bdb9077c385bd3450ff4b2cfa2eac
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Louis Mayencourt [Tue, 5 Mar 2019 17:08:46 +0000 (17:08 +0000)]
Makefile: fix linking with pie and binutils > 2.27
Since binutils
1a9ccd70f9a7[1] TFA will not link when the PIE option is
used:
aarch64-linux-gnu-ld: build/fvp/debug/bl31/bl31.elf: Not enough room
for program headers, try linking with -N
aarch64-linux-gnu-ld: final link failed: Bad value
This issue was also encountered by u-boot[2] and linux powerpc kernel
[3]. The fix is to provide --no-dynamic-linker for the linker. This
tells the linker that PIE does not need loaded program program headers.
Fix https://github.com/ARM-software/tf-issues/issues/675
[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=
1a9ccd70f9a7
[2] http://git.denx.de/?p=u-boot.git;a=commit;h=
e391b1e64b0bd65709a28a4764afe4f32d408243
[3] https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=
ff45000fcb56b5b0f1a14a865d3541746d838a0a
Change-Id: Ic3c33c795a9b7bdeab0e87c4345153ce2703a524
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Louis Mayencourt [Fri, 1 Mar 2019 14:36:46 +0000 (14:36 +0000)]
PIE: Correct minor typographical errors
Change-Id: Ie7832b2ebffe15d53ffe3584e4d23a449d4f81ac
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Sandrine Bailleux [Tue, 12 Mar 2019 14:10:49 +0000 (15:10 +0100)]
doc: Minor formatting enhancement
The security advisories would all appear on a single line. Use bullet
points instead to improve the readability.
Change-Id: Id631985d7d559b3632f43d695cffa6735520b64a
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Sandrine Bailleux [Tue, 12 Mar 2019 14:07:27 +0000 (15:07 +0100)]
doc: Fix a broken link in the readme.rst file
Change-Id: I53a4649b17614f711957424ddffed1dcccfc7880
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Paul Beesley [Wed, 6 Mar 2019 15:52:16 +0000 (15:52 +0000)]
drivers: Remove TODO from io_fip.c
The comment suggests checking version numbers and
a checksum but there doesn't seem to be any usable
data for either of these.
For example, fip_toc_header_t doesn't contain any
version information and neither does fip_toc_entry_t.
As the function name "is_valid_header" suggests, this
function is not concerned with checksumming any of
the table of contents entries.
Change-Id: I8673ae5dd37793771760169f26b2f55c15fbf587
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 6 Mar 2019 15:42:50 +0000 (15:42 +0000)]
drivers: Remove TODO from io_storage
This TODO was added five years ago so I assume that there is not
going to be a shutdown API added after all.
Change-Id: If0f4e2066454df773bd9bf41ed65d3a10248a2d3
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 6 Mar 2019 15:28:11 +0000 (15:28 +0000)]
tools: Remove TODO from fiptool
It is quite unlikely that this number will ever change and, if it
does need to change, we should have a good reason to do so. It
seems that this comment is now redundant.
Change-Id: I409c764080748e338e9bc5606bbdcc475213fb6e
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Wed, 6 Mar 2019 15:27:15 +0000 (15:27 +0000)]
tools: Remove unused cert_create defines
Change-Id: Iea72ef9ba16325cbce07eea1a975d2a96eede274
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Jacky Bai [Wed, 6 Mar 2019 08:58:18 +0000 (16:58 +0800)]
plat: imx8m: refactor the code to make it reusable
for the i.MX8M SOCs, part of the code for gpc
and PSCI implementation can be reused and make it
common for all these SoCs. this patch extracts
the common part for reuse.
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
John Tsichritzis [Mon, 4 Mar 2019 16:42:54 +0000 (16:42 +0000)]
Apply stricter speculative load restriction
The SCTLR.DSSBS bit is zero by default thus disabling speculative loads.
However, we also explicitly set it to zero for BL2 and TSP images when
each image initialises its context. This is done to ensure that the
image environment is initialised in a safe state, regardless of the
reset value of the bit.
Change-Id: If25a8396641edb640f7f298b8d3309d5cba3cd79
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Tien Hock, Loh [Tue, 12 Mar 2019 06:36:19 +0000 (14:36 +0800)]
drivers: synopsys: Fix synopsys MMC driver
There are some issues with synopsys MMC driver:
- CMD8 should not expect data (for SD)
- ACMD51 should expect data (Send SCR for SD)
- dw_prepare should not dictate size to be MMC_BLOCK_SIZE, block size is
now handled in the dw_prepare function
- after the CMD completes, when doing dw_read, we need to invalidate cache
and wait for the data transfer to complete
- Need to set FIFO threshold, otherwise DMA might never get the interrupt
to read or write
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Dimitris Papastamos [Mon, 11 Mar 2019 09:20:47 +0000 (09:20 +0000)]
Merge pull request #1872 from Yann-lms/ocr_voltage
mmc: stm32_sdmmc2: fill ocr_voltage
Yann Gautier [Fri, 8 Mar 2019 14:44:59 +0000 (15:44 +0100)]
Remove some warnings when using checkpatch with --strict option
Some checks are ignored as they do not match TF-A coding rules:
PREFER_KERNEL_TYPES, USLEEP_RANGE
or MISRA:
COMPARISON_TO_NULL, UNNECESSARY_PARENTHESES
Change-Id: I335ede89fc872a6169028552d1ba9312fc61a0ba
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Fri, 8 Mar 2019 14:44:00 +0000 (15:44 +0100)]
Add the possibility to pass options for checkpatch
It can be handy for example to add --strict option which can detect more
coding issues, even if not mandated by TF-A coding rules.
To use it:
CHECKPATCH_OPTS="--strict" make checkpatch
Change-Id: I707e4cc2d1250b21f18ff16169b5f1e5ab03a7ed
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Wed, 6 Mar 2019 09:58:13 +0000 (10:58 +0100)]
.checkpatch.conf: ignore BRACES warnings
MISRA C:2012 Rule 15.6 asks to have braces for the body of an if,
for, or while statement.
This conflicts with checkpatch, and the warning should then be ignored.
Change-Id: I22589b68b03f19a426d3bcbc10a99d4e4c76eced
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Yann Gautier [Mon, 11 Mar 2019 09:04:38 +0000 (10:04 +0100)]
fdts: stm32mp1: add bsec node
This node is added in a new file stm32mp157c-security.dtsi.
This node includes OTPs that should be shadowed and made readable
to non secure world.
Explicitly add status and secure-status, as these OTPs are accessible
by secure and non-secure world.
The stgen node is also moved to this file.
Change-Id: I3c89a01588d2e411fecfc44997e1c5df2fc37cad
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Andre Przywara [Sun, 17 Feb 2019 22:10:11 +0000 (22:10 +0000)]
allwinner: regulators: pick correct DT subnode
So far the DT node describing the AXP803 PMIC used in many Allwinner A64
boards had only one subnode, so our code just entering the first subnode
to find all regulators worked fine.
However recent DT updates in the Linux kernel add more subnodes *before*
that, so we need to make sure to explicitly enter the "regulators"
subnode to find the information we are after.
Improve some DT node parsing error handling on the way.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Heiko Stuebner [Tue, 5 Mar 2019 23:29:13 +0000 (00:29 +0100)]
Fixup register handling in aarch32 reset_handler
The BL handover interface stores the bootloader arguments in
registers r9-r12, so when the reset_handler stores the lr pointer
in r10 it clobers one of the arguments.
Adapt to use r8 and adapt the comment about registers allowed
to clober.
I've checked aarch32 reset_handlers and none seem to use higher
registers as far as I can tell.
Fixes: a6f340fe58b9 ("Introduce the new BL handover interface")
Cc: Soby Mathew <soby.mathew@arm.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Luca Ceresoli [Thu, 28 Feb 2019 21:15:35 +0000 (22:15 +0100)]
zynqmp: pm: Add support for setting PMU configuration object
Allow EL2 (e.g. U-Boot) to load the configuration object at runtime
into the Xilinx ZynqMP PMU firmware. This allows booting with U-Boot
and U-Boot SPL with PMU FW without hard-coding the configuration
object.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Yann Gautier [Fri, 8 Mar 2019 09:59:00 +0000 (10:59 +0100)]
mmc: stm32_sdmmc2: fill ocr_voltage
STM32MP1 SDMMC device voltage is 3.3V. We should then precise the 2 ranges
3.2 to 3.3V and 3.3 to 3.4V in ocr_voltage field.
Change-Id: I88e479f8f16bfe608a7808eace0df3fdec48deab
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Dimitris Papastamos [Fri, 8 Mar 2019 09:43:54 +0000 (09:43 +0000)]
Merge pull request #1867 from AlexeiFedorov/af/enable_ptrauth_warm_boot
BL31: Enable pointer authentication support in warm boot path
Dimitris Papastamos [Fri, 8 Mar 2019 09:42:44 +0000 (09:42 +0000)]
Merge pull request #1870 from thloh85-intel/s10_mmc
plat: intel: Add MMC OCR voltage information for initialization
Dimitris Papastamos [Fri, 8 Mar 2019 09:41:22 +0000 (09:41 +0000)]
Merge pull request #1863 from thloh85-intel/mmc_fixes
drivers: mmc: Fix some issues with MMC stack
Tien Hock, Loh [Fri, 8 Mar 2019 01:26:24 +0000 (09:26 +0800)]
plat: intel: Add MMC OCR voltage information for initialization
MMC stack needs OCR voltage information for the platform to initialize
MMC controller correctly.
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Tien Hock, Loh [Fri, 8 Mar 2019 01:26:24 +0000 (09:26 +0800)]
plat: intel: Add MMC OCR voltage information for initialization
MMC stack needs OCR voltage information for the platform to initialize
MMC controller correctly.
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Dimitris Papastamos [Thu, 7 Mar 2019 13:58:12 +0000 (13:58 +0000)]
Merge pull request #1864 from hadi-asyrafi/mailbox_fix
intel: Mailbox service un-accessible
Dimitris Papastamos [Thu, 7 Mar 2019 13:31:41 +0000 (13:31 +0000)]
Merge pull request #1862 from thloh85-intel/s10_bl2
plat: intel: Improve ECC scrubbing performance
Dimitris Papastamos [Thu, 7 Mar 2019 13:31:10 +0000 (13:31 +0000)]
Merge pull request #1868 from Yann-lms/zeromem_device_info
stm32mp1: zeromem device_info struct
Soby Mathew [Thu, 7 Mar 2019 13:19:52 +0000 (13:19 +0000)]
Merge pull request #1869 from pbeesley-arm/pb/wiki-import
Pb/wiki import
Paul Beesley [Tue, 5 Mar 2019 17:19:37 +0000 (17:19 +0000)]
doc: Add and correct headings for imported files
Some files imported from the wiki are missing RST section headers and
other files are using inconsistent characters for the same header level.
Change-Id: I318c843f9bc8fb40074ef90827b9acac06463662
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Paul Beesley [Tue, 5 Mar 2019 17:10:07 +0000 (17:10 +0000)]
doc: Add missing CVE links to advisories
Some security advisories did not contain a direct link to the CVE page
on mitre.org.
Change-Id: I80f8f27a25da3a76b564a3e49cafe5e253379f37
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Joel Hutton [Tue, 26 Feb 2019 16:23:54 +0000 (16:23 +0000)]
doc: Update links within imported wiki content
This patch covers two changes:
- Links that refer to GitHub are updated to point to the
relevant content on trustedfirmware.org
- Internal links between documents have been updated,
with the required .rst suffix being added or due
to a change in the relative locations of the files.
Change-Id: Ibf87da7d2ece726d1c94a9b33a2bbc3129de7779
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Joel Hutton [Mon, 25 Feb 2019 15:18:56 +0000 (15:18 +0000)]
doc: Migrate a subset of the GitHub wiki content
With the TF wiki being migrated from GitHub to trustedfirmware.org,
some documents will be moved into the docs/ directory within the
repository rather than remaining as external content. The
appropriate action has been decided on a per-document basis.
Change-Id: Id0f615f3418369256f30d2e34e354a115389d105
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Alexei Fedorov [Wed, 6 Mar 2019 11:15:51 +0000 (11:15 +0000)]
BL31: Enable pointer authentication support in warm boot path
In the current Pointer Authentication support added in
commit
b86048c40cb7d9ccd7aeac1681945676a6dc36ff
PAuth gets enabled in BL31 cold boot entrypoint only,
(see bl31_entrypoint() in bl31\aarch64\bl31_entrypoint.S)
but not in bl31_warm_entrypoint().
This results in EnIA bit [31] in SCTLR_EL3 not being set
and pointer authentication disabled after CPU wake-up event.
Fixes ARM-software/tf-issues#684
Change-Id: I27a67804764dfba2a6d72ca119ca2bcff4f536d6
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Dimitris Papastamos [Thu, 7 Mar 2019 09:57:28 +0000 (09:57 +0000)]
Merge pull request #1860 from pbeesley-arm/pb/todo-cleanup
doc: Remove todo from example code
Yann Gautier [Thu, 7 Mar 2019 09:54:34 +0000 (10:54 +0100)]
stm32mp1: zeromem device_info struct
The change of the structure highlighted the fact that all fields are not
correctly initialized with zeroes.
Replace the other memset in the function with zeromem, as it is faster.
Change-Id: I27f45a64e34637f79fa519f486bf5936721ef396
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Muhammad Hadi Asyrafi Abdul Halim [Thu, 7 Mar 2019 05:17:25 +0000 (13:17 +0800)]
intel: Mailbox service un-accessible
Change map region for device 2 from non-secure to secure
Signed-off-by: Muhammad Hadi Asyrafi Abdul Halim <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Tien Hock, Loh [Thu, 7 Mar 2019 03:34:20 +0000 (11:34 +0800)]
drivers: mmc: Fix some issues with MMC stack
Some bugs in MMC stack needs to be fixed:
- scr cannot be local as this will cause cache issue when invalidating
after the read DMA transfer is completed
- ACMD41 needs to send voltage information in initialization, otherwise the
command is a query, thus will not initialize the controller
- when checking device state, retry until the retries counter goes to zero
before failing
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Tien Hock, Loh [Thu, 7 Mar 2019 03:28:05 +0000 (11:28 +0800)]
plat: intel: Improve ECC scrubbing performance
We should be using zeromem to scrub memory instead of memset. This would
improve the performance by 200x
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>