Commit graph

16429 commits

Author SHA1 Message Date
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
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
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
Maheedhar Bollapalli
9ded5e8d8b fix(console): 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: If8e77b291380fa7d9d95cab5836235790404b620
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
03c6bb0e38 fix(arm-drivers): 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: I66f957467bdee13052847f3e8c5ad6ae258c4222
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
0eeda638a8 fix(common): 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: I934b0f5c3b2500940054360611a035fcefa6a690
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
7e288d11a5 fix(platforms): 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: I1327a206782ccd341c0c7eaa3f26078150458ed0
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
Madhav Bhatt
b3d25dca86 fix(xilinx): avoid unexpected variable update
The commit 50ab13577f ("fix(xilinx): typecast expression to match
data type") introduced a change where the isenabler1 variable is
modified within the loop iterating over GICD_ISENABLER registers.
Instead of computing the offset from the base address for each
register, the offset is accumulated incorrectly, leading to an
incorrect register read.

As a result, some GIC enablers, including the RTC device were missed,
so pm_set_wakeup_source was not called for them and the
suspend-resume use case was failed because of that.

Fix the logic to ensure the correct offset calculation for each
iteration, preserving the intended behavior.

Fixes: 50ab13577f fix(xilinx): typecast expression to match data type
Change-Id: Iec5bafcbde21078545a37259b2cf0353585ef1fa
Signed-off-by: Madhav Bhatt <madhav.bhatt@amd.com>
Signed-off-by: Ronak Jain <ronak.jain@amd.com>
2025-03-06 20:20:41 -08:00
Manish Pandey
d153bcf427 Merge "feat(spm_mm): move mm_communication header define to general header" into integration 2025-03-06 23:36:19 +01:00
Govindraj Raja
da20e16cd9 Merge changes I0011f041,I9f252541,I4da419f2,If357da98 into integration
* changes:
  feat(ras): add eabort get helper function
  feat(ras): add asynchronous error type corrected
  fix(ras): fix typo in uncorrectable error type UEO
  fix(ras): fix status synchronous error type fields
2025-03-06 17:05:58 +01:00
Vinoj Soundararajan
ec6f49c26b feat(ras): add eabort get helper function
Add EABORT get field helper function to obtain SET, AET (UET) values
from esr_el3/disr_el1 based on PE error state recording in the exception
syndrome refer to RAS PE architecture in
https://developer.arm.com/documentation/ddi0487/latest/

Change-Id: I0011f041a3089c9bbf670275687ad7c3362a07f9
Signed-off-by: Vinoj Soundararajan <vinojs@google.com>
2025-03-06 13:45:08 +00:00
Vinoj Soundararajan
daeae49511 feat(ras): add asynchronous error type corrected
Add asynchronous error type Corrected (CE) to error status
AET based on PE error state recording in the exception syndrome
Refer to https://developer.arm.com/documentation/ddi0487/latest/
RAS PE architecture.

Change-Id: I9f2525411b94c8fd397b4a0b8cf5dc47457a2771
Signed-off-by: Vinoj Soundararajan <vinojs@google.com>
2025-03-06 13:34:23 +00:00
Vinoj Soundararajan
e5cd3e81d1 fix(ras): fix typo in uncorrectable error type UEO
Fix spelling for UEO from restable to restartable
based on PE error state recording in the exception syndrome
Refer to https://developer.arm.com/documentation/ddi0487/latest/
RAS PE architecture.

Change-Id: I4da419f2120a7385853d4da78b409c675cdfe1c8
Signed-off-by: Vinoj Soundararajan <vinojs@google.com>
2025-03-06 13:30:19 +00:00
Vinoj Soundararajan
9c17687aab fix(ras): fix status synchronous error type fields
Based on SET bits of ISS encoding for an exception from Data or
Instruction Abort. (Refer to ESR_EL3)
1. Fix Synchronous error type restartable value from 1 to 3
2. Remove corrected CE field which is not applicable to SET

Change-Id: If357da9881bee962825bc3b9423ba7fc107f9b1d
Signed-off-by: Vinoj Soundararajan <vinojs@google.com>
2025-03-06 13:14:02 +00:00
Madhukar Pappireddy
ee5915e2ff Merge changes from topic "kc/stmm" into integration
* changes:
  fix(build): run sp_mk_gen.py with poetry
  feat(sptool): add StMM memory region descriptor
  feat(sptool): specify endianness for HOB bin
  feat(fvp): increase cactus-tertiary size
  feat(sptool): include HOB file in the TL pkg
  feat(sptool): invoke the HOB list creation code
  feat(sptool): add the HOB list creation script
  chore: add fdt dependencies to poetry
2025-03-05 20:46:36 +01:00
Kathleen Capella
dd81623577 fix(build): run sp_mk_gen.py with poetry
If Poetry is available in the build environment, use Poetry when
running sp_mk_gen.py script. This ensures dependencies that are needed
to run the script are accounted for.

Needed to successfully run the following config:
spm-l2-boot-tests/fvp-default,fvp-spm-optee-sp,fvp-default: \
fvp-spm.optee.sp

Change-Id: Icca4249dab929f1bcf5f4454d472cf6923e3ee17
Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
2025-03-04 14:38:13 -06:00
Kathleen Capella
3553087796 feat(sptool): add StMM memory region descriptor
StandaloneMM partition requires that the first memory region in its list
of reserved memory regions describe the full partition layout. Hafnium
SPMC checks that memory regions in FF-A manifest do not overlap.
Therefore, this region is added directly in HOB generation code rather
than as a memory region in the FF-A manifest for the StMM partition.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: Ia22174d755a5776e20ecf9639584f3c08cf9e60e
2025-03-04 14:38:13 -06:00
Kathleen Capella
49c6566331 feat(sptool): specify endianness for HOB bin
Specify endianness encoding when packing HOB binary. Little-endian is
used as target platforms are expected to be little-endian.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I28d7b302f79482ed142c1964409c310f713a9b8c
2025-03-04 14:38:13 -06:00
J-Alves
dcd8d7f13d feat(fvp): increase cactus-tertiary size
Increase the size of cactus-tertiary partition to match update in
manifest. Part of effort to use cactus-tertiary partition in StMM/HOB
testing.

Dependent on
https://review.trustedfirmware.org/c/TF-A/tf-a-tests/+/35383

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I5b91400848e2cf5d04d1c7442874a7a4b9847399
2025-03-04 14:38:13 -06:00
J-Alves
32ecc0ef78 feat(sptool): include HOB file in the TL pkg
If the "hob_path" has been introduced in the `args`
dictionary, use it when creating a Transfer List
type of package.

Create a HOB entry in the transfer list with the
respective transfer entry type.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: Ie5fefe90205cf89ee26c3683048bf42229cb4bee
2025-03-04 14:38:13 -06:00
J-Alves
2d317e80c2 feat(sptool): invoke the HOB list creation code
Add an SP setup function that invokes the HOB creation
utilities.

It introduces an argument "hob_path" to the shared dictionary of args
with the location of the generated binary containing the HOB list.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I26a07027b6344c9d7ba732d022932736a62e2505
2025-03-04 14:38:13 -06:00
Kathleen Capella
cc594af66e feat(sptool): add the HOB list creation script
Add python library to build the Handoff Block list (HOB list) for an SP
at build time.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I17d46f7ed21ce42a83f33dfdc4fad038653d1ec3
2025-03-04 14:38:13 -06:00
J-Alves
1ef366f9b0 chore: add fdt dependencies to poetry
The FDT python dependency is needed for the script:
`sp_mk_generator.py'.

It is used to obtain information from DT files.

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: Id98b93f8ab77d4864dd392fdb70bfd932b78c246
2025-03-04 14:38:03 -06:00
Mark Dykes
bbfcaeef2b Merge "build: ensure dependencies are installed for memmap target" into integration 2025-03-04 19:08:51 +01:00
Chris Kay
61c70c17bf build: ensure dependencies are installed for memmap target
The `memmap` build system target was recently migrated over to an
independent Poetry project, but its build system target was not updated
to install its dependencies.

Change-Id: If46e2a4609d47467cac07426c1cde65e2e0944cb
Signed-off-by: Chris Kay <chris.kay@arm.com>
2025-03-04 17:14:40 +00:00