Commit Graph

8983 Commits

Author SHA1 Message Date
Flora Fu 2671f31872 feat(plat/mediatek/apu): add mt8192 APU iommap regions
Add APU iommap settings for reviser, apu_ao and
devapc control wrapper.

Signed-off-by: Flora Fu <flora.fu@mediatek.com>
Change-Id: Ie8e6a197c0f440f9e4ee8101202283a2dbf501a6
2021-05-25 14:49:30 +08:00
Flora Fu 77b6801966 feat(plat/mediatek/apu): setup mt8192 APU_S_S_4 and APU_S_S_5 permission
Setup APU_S_S_4/APU_S_S_5 permission as SEC_RW_ONLY.

Signed-off-by: Flora Fu <flora.fu@mediatek.com>
Change-Id: I6c50b2913bf34270a1b0ffaf0e0c435fee192a4c
2021-05-25 14:48:58 +08:00
Rex-BC Chen 1cf6340da8 docs: change owner for MediaTek platforms
Change owner for MediaTek platforms.

Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Change-Id: I60848a2c1b236cef61c2c22d8278197ad257b1c2
2021-05-25 02:20:38 +01:00
Mark Dykes 09e153a9a8 Merge "feat(hw_crc): add support for HW computed CRC" into integration 2021-05-24 17:47:18 +02:00
Igor Opaniuk 9ce232fe98 feat(plat/imx8m): add SiP call for secondary boot
In iMX8MM it is possible to have two copies of bootloader in
SD/eMMC and switch between them. The switch is triggered either
by the BootROM in case the bootloader image is faulty OR can be
enforced by the user. To trigger that switch the
PERSIST_SECONDARY_BOOT bit should be set in GPR10 SRC register.
As the bit is retained after WARM reset, that permits to control
BootROM behavior regarding what boot image it will boot after
reset: primary or secondary.

This is useful for reliable bootloader A/B updates, as it permits
switching between two copies of bootloader at different offsets of
the same storage.

If the PERSIST_SECONDARY_BOOT is 0, the boot ROM uses address
0x8400 for the primary image. If the PERSIST_SECONDARY_BOOT is 1,
the boot ROM reads that secondary image table from address 0x8200
on the boot media and uses the address specified in the table for
the secondary image.

Secondary Image Table contains the sector of secondary bootloader
image, exluding the offset to that image (explained below in the
note). To generate the Secondary Image Table, use e.g.:
$ printf '\x0\x0\x0\x0\x0\x0\x0\x0\x33\x22\x11'
         '\x00\x00\x10\x0\x0\x00\x0\x0\x0'
  > /tmp/sit.bin
$ hexdump  -vC /tmp/sit.bin
  00000000  00 00 00 00
  00000004  00 00 00 00
  00000008  33 22 11 00 <--- This is the "tag"
  0000000c  00 10 00 00 <--- This is the "firstSectorNumber"
  00000010  00 00 00 00

You can also use NXP script from [1][2] imx-mkimage tool for
SIT generation. Note that the firstSectorNumber is NOT the offset
of the IVT, but an offset of the IVT decremented by Image Vector
Table offset (Table 6-25. Image Vector Table Offset and Initial
Load Region Size for iMX8MM/MQ), so for secondary SPL copy at
offset 0x1042 sectors, firstSectorNumber must be 0x1000
(0x42 sectors * 512 = 0x8400 bytes offset).

In order to test redundant boot board should be closed and
SD/MMC manufacture mode disabled, as secondary boot is not
supported in the SD/MMC manufacture mode, which can be disabled
by blowing DISABLE_SDMMC_MFG (example for iMX8MM):
> fuse prog -y 2 1 0x00800000

For additional details check i.MX 8M Mini Apllication Processor
Reference Manual, 6.1.5.4.5 Redundant boot support for
expansion device chapter.

[1] https://source.codeaurora.org/external/imx/imx-mkimage/
[2] scripts/gen_sit.sh
Change-Id: I0a5cea7295a4197f6c89183d74b4011cada52d4c
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2021-05-21 15:01:38 +03:00
Mark Dykes 0fd12b9e11 Merge "refactor(juno): disable non-invasive debug of secure state" into integration 2021-05-20 17:06:23 +02:00
Manish V Badarkhe a1cedadf73 feat(hw_crc): add support for HW computed CRC
Added support for HW computed CRC using Arm ACLE intrinsics.
These are built-in intrinsics available for ARMv8.1-A, and
onwards.
These intrinsics are enabled via '-march=armv8-a+crc' compile
switch for ARMv8-A (supports CRC instructions optionally).

HW CRC support is enabled unconditionally in BL2 for all Arm
platforms.

HW CRC calculation is verified offline to ensure a similar
result as its respective ZLib utility function.

HW CRC calculation support will be used in the upcoming
firmware update patches.

Change-Id: Ia2ae801f62d2003e89a9c3e6d77469b5312614b3
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2021-05-19 19:34:34 +01:00
Zelalem 63ca6bbad8 refactor(juno): disable non-invasive debug of secure state
Disable non-invasive debug of secure state for Juno
in release builds. This makes sure that PMU counts
only Non-secure events.

Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: I0d1c3f96f3b4e48360a7211ae55851d65d291025
2021-05-17 10:19:26 -05:00
Madhukar Pappireddy c158878249 Merge changes I10b5cc17,I382d599f into integration
* changes:
  docs(prerequisites): add `--no-save` to `npm install`
  fix(hooks): downgrade `package-lock.json` version
2021-05-17 16:41:24 +02:00
Chris Kay a4371d1c4b docs(prerequisites): add `--no-save` to `npm install`
To avoid the mistake fixed by the previous commit, ensure users install
the Node.js dependencies without polluting the lock file by passing
`--no-save` to the `npm install` line.

Change-Id: I10b5cc17b9001fc2e26deee02bf99ce033a949c1
Signed-off-by: Chris Kay <chris.kay@arm.com>
2021-05-17 11:21:42 +01:00
Chris Kay 7434b65208 fix(hooks): downgrade `package-lock.json` version
The NPM lock file was accidentally updated using a later version of
Node.js than required by the prerequisites. This upgraded the lock file
to the v2 format, which causes a warning on Node.js 14 (the
prerequisites version). This moves the lock file back to v1 by
installing the dependencies with Node.js 14.

Change-Id: I382d599fd2b67b07eb9234d14e7b631db6b11453
Signed-off-by: Chris Kay <chris.kay@arm.com>
2021-05-17 11:17:06 +01:00
Madhukar Pappireddy 1e13c500a0 Merge "feat(makefile): incrementing minor version to reflect v2.5 release" into integration 2021-05-14 17:56:37 +02:00
bipin.ravi c72b2c7a11 Merge "docs(juno): update TF-A build instructions" into integration 2021-05-14 16:30:55 +02:00
Olivier Deprez 304c962074 Merge "docs: spm design document refresh" into integration 2021-05-14 15:49:25 +02:00
Alexei Fedorov 12f6c06497 fix(security): Set MDCR_EL3.MCCD bit
This patch adds setting MDCR_EL3.MCCD in 'el3_arch_init_common'
macro to disable cycle counting by PMCCNTR_EL0 in EL3 when
FEAT_PMUv3p7 is implemented. This fixes failing test
'Leak PMU CYCLE counter values from EL3 on PSCI suspend SMC'
on FVP models with 'has_v8_7_pmu_extension' parameter set to
1 or 2.

Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I2ad3ef501b31ee11306f76cb5a61032ecfd0fbda
2021-05-14 12:19:54 +01:00
Joanna Farley 96404aa27e Merge "build(hooks): update Commitizen to ^4.2.4" into integration 2021-05-13 18:27:27 +02:00
Madhukar Pappireddy d506b558c0 Merge "docs(release): add change log for v2.5 release" into integration 2021-05-13 15:15:17 +02:00
Zelalem 92473b3be0 docs(juno): update TF-A build instructions
Clean up instructions for building/running TF-A on the
Juno platform and add correct link to SCP binaries.

Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: I536f98082e167edbf45f29ca23cc0db44687bb3b
2021-05-12 20:53:30 -05:00
Madhukar Pappireddy ff2da9e331 feat(makefile): incrementing minor version to reflect v2.5 release
Updated the minor version in the makefile

Change-Id: Ie2b3ce5b36a105a0e2fff52c3740cc9702ca3108
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2021-05-12 16:52:33 -05:00
Chris Kay 7fff6c70ed build(hooks): update Commitizen to ^4.2.4
An indirect dependency of Commitizen (`merge`) is currently failing the
NPM.js auditor due to vulnerability CVE-2020-28499. This commit moves
the minimum version of Commitizen to 4.2.4, which has resolved this
vulnerability.

Change-Id: Ia9455bdbe02f7406c1a106f173c4095943a201ed
Signed-off-by: Chris Kay <chris.kay@arm.com>
2021-05-12 15:43:56 +01:00
Olivier Deprez b5dd2422a0 docs: spm design document refresh
General refresh of the SPM document.

Change-Id: I2f8e37c3f34bc8511b115f00b9a53b6a6ff41bea
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
2021-05-12 15:45:27 +02:00
Davidson K ca9324819e feat(tc0): add support for trusted services
This patch adds support for the crypto and secure storage secure
partitions for the Total Compute platform.  These secure partitions
have to be managed by Hafnium executing at S-EL2

Change-Id: I2df690e3a99bf6bf50e2710994a905914a07026e
Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
2021-05-10 18:39:37 +05:30
Madhukar Pappireddy b9a5706c07 docs(release): add change log for v2.5 release
Change log for trusted-firmware-a v2.5 release

Change-Id: I6ffc8a40d2cc3a18145b87f895acdc1400db485a
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2021-05-07 10:35:36 -05:00
Mark Dykes 57dde21207 Merge "fix(plat/arm_fpga): increase initrd size" into integration 2021-05-07 17:03:01 +02:00
Zelalem 0de60d31b8 docs: add threat model code owners
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: I97b2c5c5cfbf4ddb055d0f7a5ab04386460db060
2021-05-05 14:00:25 -05:00
Mark Dykes c51afaff0d Merge "docs: removing "upcoming" change log" into integration 2021-05-05 20:49:33 +02:00
laurenw-arm e3bb8666a3 docs: removing "upcoming" change log
Removing the "Upcoming" change log due to the change in change log
processing.

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: I6d2cc095dca3e654bd7e6fec2077c58bfbc48bb5
2021-05-05 12:08:45 -05:00
Andre Przywara c3ce73be0b fix(plat/arm_fpga): increase initrd size
In the comment in the ARM FPGA DT we promise a generous 100 MB initrd,
but actually describe only a size of 20 MB.

As initrds are the most common and easy userland option for the boards,
let's increase the maximum size to the advertised 100 MB, to avoid
unpacking errors when an initrd exceeds the current limit of 20 MB.

Change-Id: If08ba3fabdad27b2c2aff93b18c3f664728b4348
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-05-05 13:23:01 +01:00
Mark Dykes a45e0580b3 Merge "docs: revert FVP versions for select models" into integration 2021-05-04 20:54:59 +02:00
laurenw-arm 9cfb878f95 docs: revert FVP versions for select models
Reverting FVP versions to previous version 11.12.38 for Cortex-A32x4
and Neoverse-N2x4.

Change-Id: I81e8ad24794dd425a9e9a66dc8bb02b42191abf1
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
2021-05-04 10:24:44 -05:00
Andre Przywara 67fad514ee fix(services): drop warning on unimplemented calls
Standard Secure Services, complying to the SMCCC specification, are
discoverable: Any user can do the SMC call, and derive from the return
value (-1) if the service is implemented. Consequently we should not
*warn* if BL31 does not implement a service, as some services (TRNG, for
instance) might never be implemented for devices, as they are lacking
hardware.

Short of dropping the existing warning message altogether, change the
level to VERBOSE, which should prevent it actually being printed in
normal situations.

This removes the pointless TF-A messages on the console when booting
Linux, as modern kernels now call the SOCID and the TRNG service
unconditionally.

Change-Id: I08b0b02e0f46322ebe0b40b3991c3c9b5bed4f97
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-05-04 10:30:15 +01:00
Pranav Madhu e8b119e03a feat(plat/sgi): enable AMU for RD-V1-MC
AMU counters are used for monitoring the CPU performance. RD-V1-MC
platform has architected AMU available for each core. Enable the use of
AMU by non-secure OS for supporting the use of counters for processor
performance control (ACPI CPPC).

Change-Id: I33be594cee669e7f4031e5e5a371eec7c7451030
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
2021-05-03 23:01:03 +05:30
Lauren Wehrmeister 08532d75c0 Merge "docs: update list of supported FVP platforms" into integration 2021-04-30 21:00:28 +02:00
bipin.ravi 9738cf9688 Merge "docs(threat model): add TF-A threat model" into integration 2021-04-30 19:00:19 +02:00
Zelalem 7006f208b6 docs(threat model): add TF-A threat model
This is the first release of the public Trusted
Firmware A class threat model. This release
provides the baseline for future updates to be
applied as required by developments to the
TF-A code base.

Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: I3c9aadc46196837679f0b1377bec9ed4fc42ff11
2021-04-30 17:59:22 +02:00
laurenw-arm 6f09bcced3 docs: update list of supported FVP platforms
Updated the list of supported FVP platforms as per the latest FVP
release.

Change-Id: I1abd0a7885b1133715062ee1b176733556a4820e
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
2021-04-30 10:33:41 -05:00
Manish Pandey 44de593d19 Merge "plat/st: do not rely on tainted value for dt property length" into integration 2021-04-30 13:04:23 +02:00
Manish Pandey 711505f045 Merge changes from topic "imx8mp_fix" into integration
* changes:
  plat: imx8mp: change the bl31 physical load address
  plat: imx8m: Fix the macro define error
2021-04-30 13:01:48 +02:00
Jacky Bai 7f9390d3a3 plat: imx8mp: change the bl31 physical load address
on i.MX8MP A1 silicon, the OCRAM space is extended to 512K + 64K,
currently, OCRAM @0x960000-0x980000 is reserved for BL31, it will
leave the last 64KB in non-continuous space. To provide a continuous
384KB + 64KB space for generic use, so move the BL31 space to
0x970000-0x990000 range.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I96d572fc0f87f05a60f55e0552a68b6e70f8e7f4
2021-04-30 12:28:41 +02:00
Jacky Bai 8c72a7ab20 plat: imx8m: Fix the macro define error
the 'always_on' member should be initialized from 'on'.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I5746ff40075b4fcda2ac7d04a8d7f1269af17e91
2021-04-30 12:28:37 +02:00
Manish Pandey dd6efc9ea5 Merge changes I8e67a921,I0dc06072,I5e149063,I962cdfc7,I5c5d0444 into integration
* changes:
  plat: ti: k3: board: Let explicitly map our SEC_SRAM_BASE to 0x0
  plat: ti: k3: board: Lets cast our macros
  plat: ti: k3: common: bl31_setup: Use BL31_SIZE instead of computing
  plat: ti: k3: platform_def.h: Define the correct number of max table entries
  plat: ti: k3: board: lite: Increase SRAM size to account for additional table
2021-04-30 12:23:04 +02:00
Olivier Deprez 674803667e Merge "feat(tc0): update Matterhorn ELP DVFS clock index" into integration 2021-04-30 11:12:54 +02:00
Usama Arif a2f6294c98 feat(tc0): update Matterhorn ELP DVFS clock index
This allows the the Matterhorn ELP Arm core to operate at its
designated OPP.

Signed-off-by: Usama Arif <usama.arif@arm.com>
Change-Id: I7ccef0cfd079d630c3cfe7874590bf42789a1dca
2021-04-30 10:39:08 +02:00
Olivier Deprez 5c3bcfcdf4 Merge "docs: remove PSA wording for SPM chapters" into integration 2021-04-30 09:56:45 +02:00
Olivier Deprez 8ff71de7cd Merge "revert(commitlint): disable `signed-off-by` rule" into integration 2021-04-30 09:32:12 +02:00
Olivier Deprez 1b17f4f1f8 docs: remove PSA wording for SPM chapters
PSA wording is not longer associated with FF-A.

Change-Id: Id7c53b9c6c8f383543f6a32a15eb15b7749d8658
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
2021-04-30 08:44:26 +02:00
Yann Gautier f714ca80b8 plat/st: do not rely on tainted value for dt property length
To compare the "okay" string of a property, strncmp is used but with the
length given by fdt_getprop. This len value is reported as tainted by
Coverity [1]. We just can use strlen("okay") which is a known value
to compare the 2 strings.

 [1] https://scan4.coverity.com/reports.htm#v51972/p11439/fileInstanceId=96515154&defectInstanceId=14219121&mergedDefectId=342997

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: Ic8fb6ccf3126a37df615e433eb028861812015da
2021-04-29 17:57:47 +02:00
Olivier Deprez 6794378d2e Merge changes from topic "fw-update" into integration
* changes:
  docs: add build options for GPT support enablement
  feat(plat/arm): add GPT parser support
2021-04-29 14:49:10 +02:00
Manish Pandey 08e7cc533e Merge changes I15e7cc43,Id7411bd5,I92bafe70,I8f1c0658 into integration
* changes:
  stm32mp1: enable PIE for BL32
  stm32mp1: set BL sizes regardless of flags
  Add PIE support for AARCH32
  Avoid the use of linker *_SIZE__ macros
2021-04-29 13:57:31 +02:00
Manish V Badarkhe e3be1086c4 docs: add build options for GPT support enablement
Documented the build options used in Arm GPT parser enablement.

Change-Id: I9d7ef2f44b8f9d2731dd17c2639e5ed0eb6d0b3a
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2021-04-29 11:13:08 +02:00