Map both SE2 and IRAM regions with 2MB range in order to save 8KB from
xlat tables by moving to a level 2 mapping.
The SE2 mapping has also the good side-effect of allowing access to PKA1.
If TZRAM is used for BL31 base the code was never locking access to it from
non-TZ clients.
Correct that for T210/T210b01/T186/T194 platforms by actually enabling the
TZRAM security in SE tzram security register.
TZDRAM is never hardcoded and also can be bigger than 256KB.
Additionally check if it is actually enabled before trying mapping it.
(mmap_add_region only checks if size != 0)
Make the first op a jump to actual entrypoint and put base address in-between
for bootloader usage.
Bootloader can check second 32bit value if it matches 0x43424550 and decide to
use the next 64bit value as base address for BL31.
Improvements over previous version:
- Support preloaded payload from bootloader
- Make sure there's always a payload if R2P happens
- Always do R2P except if RCM is selected
- Allows R2P in any context before userspace is loaded
Signed-off-by: Ezekiel Bethel <zek@9net.org>
Signed-off-by: CTCaer <ctcaer@gmail.com>
This allows non-tlk targets to prepare a suspend using SC7entry/exit firmware without bpmp-fw path messing with the setup.
It additionally writes the proper pmic type to pmc and enables uart console in case userspace disabled uart, which could result in a hang.
On coldboot ATF boards, parameters need to be passed over from bootloader.
Allow that by using PMC secure scratch registers to pass the parameters address.
This allows ATF to initialize console no matter what other components did.
In cases where something else disabled or didn't initialize UART, it will not hang the whole system.
This fixes a race condition that produces a hang or timeout on boards that coldboot or enter suspend with high CPU/RAM frequency.
It also fixes context save/restore on such boards
For future reference, this changelog was generated with the following
command:
npm run release -- --skip.commit --skip.tag --release-as 2.6.0
Change-Id: Idf6be5c3be15ddfdb1d32fafb9e0e4b399b269f3
Signed-off-by: Chris Kay <chris.kay@arm.com>
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
- Overview of FF-A v1.1 notifications feature, and list of all
the new related interface.
- FFA_RXTX_UNMAP now implemented, so provided description.
- FF-A v1.1 interfaces documented: FFA_SPM_ID_GET and
FFA_SECONDARY_EP_REGISTER.
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: If40b4d2b2473f81ecfb2ddbf14852c3f10682867
The previous codes were using the cntpct_el0 to check the time
elapsed. But this physical timer does not seem to count for
the expected time resulting in gic fmu communication failures
on Tegra platforms.
This patch uses the delay_timer instead to use a platform
defined timer for calculating timeouts.
Change-Id: Ic8646ad1662c9928ac64c4152deb27e8c86fe344
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
This change makes a best-effort attempt to categorize the various
Conventional Commits scopes that have been used over the past year into
their relevant changelog sections. No scopes were formalized for the
v2.5 release so it varies dramatically, but the output does not look
totally awful. Nonetheless, it will need some manual tweaking.
For every section with one or more potential scopes, the first scope
represents the "blessed" scope. That is, the scope that new commits that
belong to this category should use.
Change-Id: I8b5594a62238c4f392dc71b187e73c3da988e443
Signed-off-by: Chris Kay <chris.kay@arm.com>
This change adds a new documentation page describing the commit style,
acceptable Conventional Commits types and scopes, and documents the
process for expanding the list of scopes.
Change-Id: Iad957b67fa71a879e8aa0790c58a5b08cec300d6
Signed-off-by: Chris Kay <chris.kay@arm.com>
This change introduces a new NPM run script to automatically generate
the release changelog, as well as bump version numbers across the
code-base and create the release tag.
This script runs [Standard Version] to execute this, which is a tool
designed around automating substantial parts of the release process.
This can be done by running:
npm run release -- [<standard-version args>]
Standard Version expects the project to adhere to the [Semantic
Versioning] convention which TF-A does not, so you may need to specify
the version manually, e.g.:
npm run release -- --release-as 2.6.0
Individual steps of the release process may also be skipped at-will,
which may be necessary when, for example, tweaking the changelog:
npm run release -- --skip.commit --skip.tag
Standard Version is configured by the `.versionrc.js` file, which
contains information about the Conventional Commits types and scopes
used by the project, and how they map to the changelog.
To maintain continuity with the existing changelog style - at least to
the extent possible in the move from manual to automatic creation - a
customized changelog template has been introduced, based on the
Conventional Commits template provided by Standard Version.
This template package extends the Conventional Commits template package
by introducing support for parsing the Conventional Commits scopes into
changelog sections, similarly to how they were previously organized.
[Standard Version]:
https://github.com/conventional-changelog/standard-version
[Semantic Versioning]: https://semver.org
Change-Id: I5bafa512daedc631baae951651c38c1c62046b0a
Signed-off-by: Chris Kay <chris.kay@arm.com>
This changes adds support for building Markdown documentation into
Sphinx with [MyST]. We'll make use of this in a later patch, where we
introduce automatically-generated Markdown documentation that needs to
be compiled as part of the Sphinx documentation.
[MyST]: https://myst-parser.readthedocs.io/en/latest
Change-Id: I2a241a588c579fac1a81e1853479908928be1fc8
Signed-off-by: Chris Kay <chris.kay@arm.com>
This change adds checks for the `Change-Id` and `Signed-off-by`
trailers. These are already required by Gerrit, so they have been
configured as warnings as an early heads-up after committing without
needing to push.
This also renames the commitlint configuration file to align it with
the style used by Standard Version when it's eventually introduced:
`commitlint.config.js` -> `.commitlintrc.js`
Change-Id: I4e3c158e6b3a5407fabd873360d5efce86ebd19e
Signed-off-by: Chris Kay <chris.kay@arm.com>
This tool is used to generate changelogs, tag repositories and bump
version numbers across the code-base. In preparation for the v2.6.0
release of TF-A, we will be incorporating it into our release workflow,
with the hope that it can reduce some of the workload involved going
forward.
After this change our dependency license situation is as follows:
```
$ license-checker --summary
├─ MIT: 249
├─ ISC: 43
├─ Apache-2.0: 6
├─ BSD-2-Clause: 3
├─ (MIT OR CC0-1.0): 3
├─ BSD-3-Clause: 2
├─ 0BSD: 2
├─ (MIT OR Apache-2.0): 1
├─ BSD*: 1
├─ CC-BY-3.0: 1
└─ CC0-1.0: 1
```
Change-Id: Ie41443045ecff22f322d155a4bed8ab5d92208cd
Signed-off-by: Chris Kay <chris.kay@arm.com>
Introduces the `name` and `version` fields to the NPM package metadata
file, which are used by Standard Version.
Change-Id: I5266465f746bf29805f36cd94b5e5c20417d7fd0
Signed-off-by: Chris Kay <chris.kay@arm.com>
This change adds the `license` field to our `package.json` file, which
allows some license checking tools to analyze our dependencies for
license incompatibilities.
The current state of our licensed dependencies is as follows:
```
$ license-checker --summary
├─ MIT: 198
├─ ISC: 31
├─ Apache-2.0: 5
├─ (MIT OR CC0-1.0): 3
├─ BSD-3-Clause: 2
├─ BSD-2-Clause: 2
├─ 0BSD: 2
├─ (MIT OR Apache-2.0): 1
├─ CC-BY-3.0: 1
└─ CC0-1.0: 1
```
Change-Id: I7b9dae1c9f732c7f7491b5d6557dd193b894d70c
Signed-off-by: Chris Kay <chris.kay@arm.com>
NPM v7, which is included with Node.js v16, uses version 2 of the
lockfile format. To avoid its complaints about the old lockfile version,
we're updating the lockfile. This change is backwards-compatible with
older versions of NPM.
Change-Id: I411ec29ea60ef9a616b99ddb52243fac2b305d28
Signed-off-by: Chris Kay <chris.kay@arm.com>