Commit graph

16451 commits

Author SHA1 Message Date
Abhi Singh
b00f6ece56 feat(docs): update mboot threat model with dTPM
Add the discrete TPM to the TCG event log section of the measured boot
threat model. Include the example of a physical vurnerability that can
be used to compromise a dTPM.

Signed-off-by: Abhi Singh <abhi.singh@arm.com>
Change-Id: I2c06edf5e9031adc970c24426a8ae52b06efb614
2025-03-18 20:54:29 +01:00
Abhi Singh
a2dd13cacb docs(tpm): add design documentation for dTPM
-documentation for Discrete TPM drivers.
-documentation for a proof of concept on rpi3;
 Measured Boot using Discrete TPM.

Signed-off-by: Abhi Singh <abhi.singh@arm.com>
Change-Id: If8e7c14a1c0b9776af872104aceeff21a13bd821
2025-03-18 20:53:44 +01:00
Abhi Singh
9acaaded3c fix(rpi3): expose BL1_RW to BL2 map for mboot
BL2 requires the ability to access the TCG Event Log during
Measured Boot. Currently the Platform hangs since the Event Log
is not exposed to BL2's mmap. Define a RPI3_BL1_RW region to be
added to the BL2 Image, if Measured Boot is enabled.

Change-Id: Ic236a80e73ea342b4590cfb65bafbb8ffac17085
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2025-03-18 20:53:27 +01:00
Abhi Singh
4f9894db35 feat(rpi3): add dTPM backed measured boot
In BL1 and BL2 add support for the use of an Infineon Optiga SLB 9670
TPM2.0.
The platform utilizes the gpio_spi.c driver to bit-bang gpio pins in
order to send commands and receive responses to/from the TPM.
In BL1 & BL2:
-utilize TPM commands to initialize the gpio pins for "spi"
 communication, and extend image hashes to the TPM's PCR 0,
 at the end of the measured boot phase for the bootloader,
 the TPM locality is released.
-Bl1 executes a tpm_startup command in order to flush the TPM.

Change-Id: I2f2fa28f60a262a0aa25a674c72a9904b3cf4d8a
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2025-03-18 19:59:03 +01:00
Abhi Singh
6fa56e9367 feat(tpm): add Infineon SLB9670 GPIO SPI config
add the Infineon Optiga SLB9670 TPM2.0 GPIO SPI
configuration data, as well as chip reset and the
GPIO SPI bitbang driver initialization. This code
supports use with the rpi3 platform, with availibility
to add configuration parameters for other platforms

Change-Id: Ibdffb28fa0b3b5a18dff2ba5d4ea305633740763
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2025-03-18 19:57:56 +01:00
Abhi.Singh
36e3d877cd feat(tpm): add tpm drivers and framework
Add tpm2 drivers to tf-a with adequate framework
-implement a fifo spi interface that works
 with discrete tpm chip.
-implement tpm command layer interfaces that are used
 to initialize, start and make measurements and
 close the interface.
-tpm drivers are built using their own make file
 to allow for ease in porting across platforms,
 and across different interfaces.

Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
Change-Id: Ie1a189f45c80f26f4dea16c3bd71b1503709e0ea
2025-03-18 19:57:22 +01:00
Abhi Singh
3c54570afc feat(io): add generic gpio spi bit-bang driver
When using a tpm breakout board with rpi3, we elected to bit-bang
gpio pins to emulate a spi interface, this implementation required a
driver to interface with the platform specific pins and emulate spi
functionality. The generic driver provides the ability to pass in a
gpio_spi_data structure that contains the necessary gpio pins in
order to simulate spi operations (get_access, start, stop, xfer).

Change-Id: I88919e8a294c05e0cabb8224e35ae5c1ba5f2413
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2025-03-18 19:56:16 +01:00
Abhi Singh
6dfcf4e1df feat(rpi3): implement eventlog handoff to BL33
At the end of BL2 measured boot, write the address
and size of the TCG Event Log to NT_FW_CONFIG so
that the log can be consumed later by BL33.
-add dynamic configuration helpers for the fdt
-write the eventlog address and size to the fdt

Change-Id: I099dd9cc96d740ae13cb8b8e8c6b9f2e6c02accc
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2025-03-18 19:54:35 +01:00
Abhi Singh
c4c9e2bc43 feat(rpi3): implement mboot for rpi3
Add Measured Boot support using the Event Log backend for the rpi3
platform.
-Implement measured boot infrastructure in BL1 & BL2, including
 the init, measure image, and finish phases.
-Pass the eventlog addr and size from BL1 to BL2 using the
 image entry point args.
-dump the eventlog after measuring BL2, and after all images are
 measured in BL2.

Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
Change-Id: I7c040c4a2d001a933fefb0b16f0fdf2a43a11be9
2025-03-18 19:52:57 +01:00
Bipin Ravi
fa8ca8bcd0 Merge "fix(errata): workaround for Cortex-A510 erratum 2971420" into integration 2025-03-17 22:32:57 +01:00
Govindraj Raja
4e2a88a554 Merge "fix(cpufeat): add feat_hcx check before enabling FEAT_MOPS" into integration 2025-03-17 19:50:52 +01:00
John Powell
f2bd352820 fix(errata): workaround for Cortex-A510 erratum 2971420
Cortex-A510 erratum 2971420 applies to revisions r0p1, r0p2, r0p3,
r1p0, r1p1, r1p2 and r1p3, and is still open.

Under some conditions, data might be corrupted if Trace Buffer
Extension (TRBE) is enabled. The workaround is to disable trace
collection via TRBE by programming MDCR_EL3.NSTB[1] to the opposite
value of SCR_EL3.NS on a security state switch. Since we only enable
TRBE for non-secure world, the workaround is to disable TRBE by
setting the NSTB field to 00 so accesses are trapped to EL3 and
secure state owns the buffer.

SDEN: https://developer.arm.com/documentation/SDEN-1873361/latest/

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: Ia77051f6b64c726a8c50596c78f220d323ab7d97
2025-03-17 19:04:54 +01:00
Lauren Wehrmeister
d7cacc58bf Merge "fix(cpus): workaround for Cortex-A715 erratum 2804830" into integration 2025-03-17 18:31:27 +01:00
John Powell
fcf2ab71ac fix(cpus): workaround for Cortex-A715 erratum 2804830
Cortex-A715 erratum 2804830 applies to r0p0, r1p0, r1p1 and r1p2,
and is fixed in r1p3.

Under some conditions, writes of a 64B-aligned, 64B granule of
memory might cause data corruption without this workaround. See SDEN
for details.

Since this workaround disables write streaming, it is expected to
have a significant performance impact for code that is heavily
reliant on write streaming, such as memcpy or memset.

SDEN: https://developer.arm.com/documentation/SDEN-2148827/latest/

Change-Id: Ia12f6c7de7c92f6ea4aec3057b228b828d48724c
Signed-off-by: John Powell <john.powell@arm.com>
2025-03-17 18:17:48 +01:00
Yann Gautier
037b8b905e Merge "fix(nxp-tools): fix create_pbl buildroot build" into integration 2025-03-17 17:48:01 +01:00
Mark Dykes
5a16264208 Merge "feat(intel): provide atf build version via smc call" into integration 2025-03-14 16:35:07 +01:00
Mark Dykes
af74739f2a Merge "fix(intel): this patch is used to solve DDR and VAB" into integration 2025-03-14 16:34:14 +01:00
Arvind Ram Prakash
484befbfcb fix(cpufeat): add feat_hcx check before enabling FEAT_MOPS
This patch also checks for FEAT_HCX before enabling FEAT_MOPS
when INIT_UNUSED_NS_EL1 = 1 and adds build dependency check.

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: Iff4a068aa392fc8d29e2e4da7a2e7df0b3104e65
2025-03-14 16:20:24 +01:00
Soby Mathew
a7d150757f Merge "chore: organize rmmd smccc by fid sequence" into integration 2025-03-14 12:23:00 +01:00
Vincent Jardin
634c7d8172 fix(nxp-tools): fix create_pbl buildroot build
When building with Buildroot environment, the rule to build
the object is not used from the Makefile but from another one with
a higher priority.

It leads to the following error:
 Built fiptool successfully

 EL3 Runtime Firmware BL31: offset=0x88, size=0xE401, cmdline="--soc-fw"
 Non-Trusted Firmware BL33: offset=0xE489, size=0xD1438, cmdline="--nt-fw"

 Wall -Werror -pedantic -std=c99 -O2 -DVERSION='"v2.12.0(release):master"' -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -c -o create_pbl.o create_pbl.c
 make[3]: Wall: No such file or directory

Let's be explicit in order to enforce the local rule. There is not .h
file so it should be removed from the dependency list in oder to avoid
such error:
 make[3]: *** No rule to make target 'create_pbl.h', needed by 'create_pbl.o'.  Stop.

Change-Id: Idec378c5688e332695d805f3fca2800d905a1c74
Signed-off-by: Vincent Jardin <vjardin@free.fr>
2025-03-13 01:25:30 +01:00
Govindraj Raja
fb3402b925 Merge "fix(deps): remove deprecated husky commands" into integration 2025-03-12 18:38:31 +01:00
Sona Mathew
1975d28bc6 chore: organize rmmd smccc by fid sequence
This patch only arranged the case numbers that were incorrectly
ordered.

Change-Id: I0da48c68c5c2f4b5ba19ab770377ea91066bcb6a
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
2025-03-12 10:33:45 -05:00
Govindraj Raja
8762735bea Merge changes from topic "mb/drtm" into integration
* changes:
  feat(drtm): validate launch features in DRTM parameters
  feat(lib): add EXTRACT_FIELD macro for field extraction
2025-03-12 16:11:17 +01:00
Soby Mathew
c5ea3faca1 Merge "feat(rmmd): add FEAT_MEC support" into integration 2025-03-12 11:19:04 +01:00
Yann Gautier
a69468cee1 Merge "fix(xilinx): avoid unexpected variable update" into integration 2025-03-12 09:14:24 +01:00
Tushar Khandelwal
7e84f3cf90 feat(rmmd): add FEAT_MEC support
This patch provides architectural support for further use of
Memory Encryption Contexts (MEC) by declaring the necessary
registers, bits, masks, helpers and values and modifying the
necessary registers to enable FEAT_MEC.

Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: I670dbfcef46e131dcbf3a0b927467ebf6f438fa4
2025-03-11 14:46:00 -05:00
Yann Gautier
b47dddd061 fix(deps): remove deprecated husky commands
Husky 9.1 now warns when doing some rebase of patches:
husky - DEPRECATED

Please remove the following two lines from .husky/prepare-commit-msg:

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

They WILL FAIL in v10.0.0

Remove the deprecated lines.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I8b7fa82aa7b5e178554a1b4a650b2b1b8044092c
2025-03-11 18:57:00 +01:00
Manish V Badarkhe
65c69242fa Merge changes Ie6825142,Iae14b792 into integration
* changes:
  build(dev-deps): bump the dev-deps group across 1 directory with 5 updates
  build(dev-deps): bump the dev-deps group across 3 directories with 9 updates
2025-03-11 13:28:30 +01:00
dependabot[bot]
f981cbc22b build(dev-deps): bump the dev-deps group across 1 directory with 5 updates
Bumps the dev-deps group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `19.0.0` | `19.8.0` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `19.0.0` | `19.8.0` |
| [@commitlint/cz-commitlint](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cz-commitlint) | `19.0.0` | `19.8.0` |
| [commitizen](https://github.com/commitizen/cz-cli) | `4.3.0` | `4.3.1` |
| [husky](https://github.com/typicode/husky) | `9.0.11` | `9.1.7` |

Updates `@commitlint/cli` from 19.0.0 to 19.8.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.8.0/@commitlint/cli)

Updates `@commitlint/config-conventional` from 19.0.0 to 19.8.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.8.0/@commitlint/config-conventional)

Updates `@commitlint/cz-commitlint` from 19.0.0 to 19.8.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cz-commitlint/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.8.0/@commitlint/cz-commitlint)

Updates `commitizen` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/commitizen/cz-cli/releases)
- [Commits](https://github.com/commitizen/cz-cli/compare/v4.3.0...v4.3.1)

Updates `husky` from 9.0.11 to 9.1.7
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.0.11...v9.1.7)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: "@commitlint/config-conventional"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: "@commitlint/cz-commitlint"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: commitizen
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
...

Change-Id: Ie6825142ea24b432a33ac5869c94e5233c21d8e6
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Chris Kay <chris.kay@arm.com>
2025-03-10 16:45:52 +01:00
Manish Pandey
f831058437 Merge "fix(cpufeat): include FEAT_MOPS declaration in aarch32 header" into integration 2025-03-10 14:15:33 +01:00
Manish Pandey
5488b945d6 Merge "build(poetry): install dependencies with --no-root" into integration 2025-03-10 11:54:25 +01:00
dependabot[bot]
9fa621dd94 build(dev-deps): bump the dev-deps group across 3 directories with 9 updates
Bumps the dev-deps group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [sphinxcontrib-svg2pdfconverter](https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter) | `1.2.2` | `1.3.0` |
| [click](https://github.com/pallets/click) | `8.1.7` | `8.1.8` |
| [plotly](https://github.com/plotly/plotly.py) | `5.24.0` | `5.24.1` |
| [igraph](https://github.com/igraph/python-igraph) | `0.11.6` | `0.11.8` |
| [tox](https://github.com/tox-dev/tox) | `4.18.1` | `4.24.2` |
| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |

Bumps the dev-deps group with 5 updates in the /tools/cot_dt2c directory:

| Package | From | To |
| --- | --- | --- |
| [click](https://github.com/pallets/click) | `8.1.7` | `8.1.8` |
| [plotly](https://github.com/plotly/plotly.py) | `5.23.0` | `5.24.1` |
| [igraph](https://github.com/igraph/python-igraph) | `0.11.6` | `0.11.8` |
| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.1.2` | `3.1.4` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.3.4` | `8.3.5` |

Bumps the dev-deps group with 5 updates in the /tools/tlc directory:

| Package | From | To |
| --- | --- | --- |
| [click](https://github.com/pallets/click) | `8.1.7` | `8.1.8` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.3.3` | `8.3.5` |
| [tox](https://github.com/tox-dev/tox) | `4.20.0` | `4.24.2` |
| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |
| [bandit](https://github.com/PyCQA/bandit) | `1.7.9` | `1.7.10` |

Updates `sphinxcontrib-svg2pdfconverter` from 1.2.2 to 1.3.0
- [Commits](https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/compare/v1.2.2...v1.3.0)

Updates `click` from 8.1.7 to 8.1.8
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.7...8.1.8)

Updates `plotly` from 5.24.0 to 5.24.1
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.24.0...v5.24.1)

Updates `igraph` from 0.11.6 to 0.11.8
- [Release notes](https://github.com/igraph/python-igraph/releases)
- [Changelog](https://github.com/igraph/python-igraph/blob/main/CHANGELOG.md)
- [Commits](https://github.com/igraph/python-igraph/compare/0.11.6...0.11.8)

Updates `tox` from 4.18.1 to 4.24.2
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.18.1...4.24.2)

Updates `jinja2` from 3.1.5 to 3.1.6
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

Updates `click` from 8.1.7 to 8.1.8
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.7...8.1.8)

Updates `plotly` from 5.23.0 to 5.24.1
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.24.0...v5.24.1)

Updates `igraph` from 0.11.6 to 0.11.8
- [Release notes](https://github.com/igraph/python-igraph/releases)
- [Changelog](https://github.com/igraph/python-igraph/blob/main/CHANGELOG.md)
- [Commits](https://github.com/igraph/python-igraph/compare/0.11.6...0.11.8)

Updates `pyparsing` from 3.1.2 to 3.1.4
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/pyparsing_3.1.2...3.1.4)

Updates `pytest` from 8.3.4 to 8.3.5
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.4...8.3.5)

Updates `click` from 8.1.7 to 8.1.8
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.7...8.1.8)

Updates `pytest` from 8.3.3 to 8.3.5
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.4...8.3.5)

Updates `tox` from 4.20.0 to 4.24.2
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.18.1...4.24.2)

Updates `jinja2` from 3.1.5 to 3.1.6
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

Updates `bandit` from 1.7.9 to 1.7.10
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](https://github.com/PyCQA/bandit/compare/1.7.9...1.7.10)

---
updated-dependencies:
- dependency-name: sphinxcontrib-svg2pdfconverter
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: click
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: plotly
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: igraph
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: tox
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: jinja2
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: igraph
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-deps
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: bandit
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
...

Change-Id: Iae14b792174786dfb57fa0fb08de5af801d1d1e1
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Chris Kay <chris.kay@arm.com>
2025-03-10 11:02:20 +01:00
Chris Kay
c25405d613 build(poetry): install dependencies with --no-root
More recent versions of Poetry introduced the `package-mode` key to
configure whether the project should be used for dependency management
only, but this is incompatible with the earlier versions of Poetry that
we still support.

Instead, we rely on installing with the `--no-root` flag, which behaves
similarly. Installing without passing the `--no-root` flag is
deprecated, and in recent versions of Poetry has become a hard error.

This change ensures that the build system always installs dependencies
with the required flag.

Change-Id: Ic1543511314dcd20c00b73fd9e8cfae3dd034a41
Signed-off-by: Chris Kay <chris.kay@arm.com>
2025-03-10 09:27:38 +00:00
Manish V Badarkhe
8666bcfa75 feat(drtm): validate launch features in DRTM parameters
Perform sanity checks on the launch features received via DRTM parameters.
Return INVALID_PARAMETERS if they are incorrect.

Change-Id: I7e8068154028d1c8f6b6b45449616bb5711ea76e
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2025-03-09 11:59:14 +00:00
Manish V Badarkhe
af1dd6e1a5 feat(lib): add EXTRACT_FIELD macro for field extraction
Introduce a new EXTRACT_FIELD macro to simplify the extraction
of specific fields from a value by shifting the value right
and applying the mask.

Change-Id: Iae9573d6d23067bbde13253e264e4f6f18b806c2
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2025-03-09 11:57:38 +00:00
Jit Loon Lim
458b40df58 fix(intel): this patch is used to solve DDR and VAB
The patch provide solutions for:
1. Enable BL31 console logs during run-time.
2. Update VAB initialization.
3. Update DDR size accordin to Linux DTS configuration.
4. Solve VAB CCERT address issue.

Change-Id: I41eb0fab747de5010d369e845c33a45decb41e21
Signed-off-by: Jit Loon Lim <jit.loon.lim@altera.com>
2025-03-08 13:11:25 +08:00
Girisha Dengi
d1c58d8649 feat(intel): provide atf build version via smc call
This patch provides ATF build version via SMC call
on Agilex7, Agilex5, Stratix10 and N5X platforms.

Change-Id: I61af83433fe61f85987f38ffc86380a41cdb5289
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim@altera.com>
2025-03-08 12:58:08 +08:00
Arvind Ram Prakash
8656bdab57 fix(cpufeat): include FEAT_MOPS declaration in aarch32 header
This patch adds the missing is_feat_mops_supported() declaration
in aarch32 header.

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I875f65defe23912351f9ef18555a5b0a0e53717d
2025-03-07 12:34:27 -06:00
Madhukar Pappireddy
7aa73612d7 Merge "fix(cpufeat): avoid using mrrs/msrr for tspd" into integration 2025-03-07 18:20:01 +01:00
Govindraj Raja
f3e2b49970 fix(cpufeat): avoid using mrrs/msrr for tspd
tspd compiles with `arch_helpers.h` and when FEAT_D128 is enabled
read/writes to D128 impacted registers will provide 128-bit
mrrs/msrr read/write implementation.

However FEAT_D128 implementation with SCR_EL3.D128en is set only
for lower-EL Non-Secure world. When tspd is chosen as the SPD target,
it builds tsp as well. This S-EL1 payload, used for testing,
inadvertently uses mrrs/msrr read/write implementation in
`modify_el1_common_regs` helper function. This eventually leads
to a panic.

Group all D128 impacted registers and avoid using mrrs/msrr read/write
implementation for tspd builds.

Change-Id: Ic0ed3a901ffa65f9447cae08951defbadee3e02a
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2025-03-07 18:12:12 +01:00
Govindraj Raja
98a7cdb25b Merge "fix(errata-abi): add support for handling split workarounds" into integration 2025-03-07 17:50:23 +01:00
Manish Pandey
d77a1ec521 Merge changes from topic "xlnx_fix_gen_missing_brace" into integration
* changes:
  fix(platforms): modify function to have single return
  fix(el3-runtime): add missing curly braces
  fix(locks): add missing curly braces
  fix(psci): add missing curly braces
  fix(bl31): add missing curly braces
  fix(console): add missing curly braces
  fix(arm-drivers): add missing curly braces
  fix(common): add missing curly braces
  fix(platforms): add missing curly braces
2025-03-07 17:49:26 +01:00
Arvind Ram Prakash
bbff267b6f fix(errata-abi): add support for handling split workarounds
Certain erratum workarounds like Neoverse N1 1542419, need a part
of their mitigation done in EL3 and the rest in lower EL. But currently
such workarounds return HIGHER_EL_MITIGATION which indicates that the
erratum has already been mitigated by a higher EL(EL3 in this case)
which causes the lower EL to not apply it's part of the mitigation.

This patch fixes this issue by adding support for split workarounds
so that on certain errata we return AFFECTED even though EL3 has
applied it's workaround. This is done by reusing the chosen field of
erratum_entry structure into a bitfield that has two bitfields -
Bit 0 indicates that the erratum has been enabled in build,
Bit 1 indicates that the erratum is a split workaround and should
return AFFECTED instead of HIGHER_EL_MITIGATION.

SDEN documentation:
https://developer.arm.com/documentation/SDEN885747/latest

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: Iec94d665b5f55609507a219a7d1771eb75e7f4a7
2025-03-07 17:02:25 +01:00
Manish Pandey
f2d12fce88 Merge "fix(smccc): register PMUv3p5 and PMUv3p7 bits with the FEATURE_AVAILABILITY call" into integration 2025-03-07 15:30:19 +01:00
Boyan Karatotev
2bec665f46 fix(smccc): register PMUv3p5 and PMUv3p7 bits with the FEATURE_AVAILABILITY call
These bits were missed with the original implementation. They are set if
supported, so we need to ignore them.

Change-Id: I3a94017bacdc54bfc14f0add972240148da3b41d
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2025-03-07 15:28:35 +01:00
Maheedhar Bollapalli
50029b9ac3 fix(platforms): modify function to have single return
This corrects the MISRA violation C2012-15.5:
A function should have a single point of exit at the end.
Introduced a temporary variable to store the return value to
ensure single return for the function.

Change-Id: I9c2ca05b506a6ac35b24966fc5fdd5e88e65770d
Signed-off-by: Nithin G <nithing@amd.com>
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2025-03-07 13:22:18 +01:00
Maheedhar Bollapalli
858dc35cfd fix(el3-runtime): add missing curly braces
This corrects the MISRA violation C2012-15.6:
The body of an iteration-statement or a selection-statement shall
be a compound-statement.
Enclosed statement body within the curly braces.

Change-Id: I14a69f79aba98e243fa29a50914431358efa2a49
Signed-off-by: Nithin G <nithing@amd.com>
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2025-03-07 13:22:18 +01:00
Maheedhar Bollapalli
bd7ad5e684 fix(locks): add missing curly braces
This corrects the MISRA violation C2012-15.6:
The body of an iteration-statement or a selection-statement shall
be a compound-statement.
Enclosed statement body within the curly braces.

Change-Id: Ie33b310f6406d77a7a2ebd94cf54c2a2968f8644
Signed-off-by: Nithin G <nithing@amd.com>
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2025-03-07 13:22:18 +01:00
Maheedhar Bollapalli
c7b0a28d32 fix(psci): add missing curly braces
This corrects the MISRA violation C2012-15.6:
The body of an iteration-statement or a selection-statement shall
be a compound-statement.
Enclosed statement body within the curly braces.

Change-Id: I8b656f59b445e914dd3f47e3dde83735481a3640
Signed-off-by: Nithin G <nithing@amd.com>
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2025-03-07 13:22:18 +01:00
Maheedhar Bollapalli
88edd9c6a0 fix(bl31): add missing curly braces
This corrects the MISRA violation C2012-15.6:
The body of an iteration-statement or a selection-statement shall
be a compound-statement.
Enclosed statement body within the curly braces.

Change-Id: I7c1474a2aa5c940433b88be75c88b4ffa5833b57
Signed-off-by: Nithin G <nithing@amd.com>
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2025-03-07 13:22:18 +01:00