Commit graph

13291 commits

Author SHA1 Message Date
dependabot[bot]
921236ddad build(npm): bump word-wrap from 1.2.3 to 1.2.4
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Change-Id: I9a383e6d6ae907858028980eadccfa2070f42d15
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Chris Kay <chris.kay@arm.com>
2023-09-06 14:51:40 +00:00
Manish V Badarkhe
eb46520c5c Merge "feat(morello): add cpuidle support" into integration 2023-09-06 12:47:46 +02:00
Yann Gautier
88b2d81345 Merge "fix(scmi): add parameter for plat_scmi_clock_rates_array" into integration 2023-09-06 11:26:32 +02:00
Yann Gautier
117b357260 Merge "feat(imx8m): move the gpc reg & macro to a separate header file" into integration 2023-09-06 11:20:14 +02:00
Yann Gautier
b8f365c39c Merge "feat(imx8m): add more dram pll setting" into integration 2023-09-06 11:20:00 +02:00
Sandrine Bailleux
a4ee7b093c Merge changes from topic "sb/split-boot-runtime-threats" into integration
* changes:
  docs(threat-model): classify threats by mitigating entity
  docs(threat-model): club RME note with other assumptions
2023-09-06 09:30:40 +02:00
Manish Pandey
ce64c650e8 Merge "fix(arm/fpga): enable CPU features required for ARMv9.2 cores" into integration 2023-09-05 10:33:52 +02:00
sahil
4f7330dc78 feat(morello): add cpuidle support
This patch adds necessary device-tree idle state definitions and enables
relevant platform makefile options.

Co-authored-by: Karl Meakin <karl.meakin@arm.com>
Signed-off-by: sahil <sahil@arm.com>
Change-Id: Iaf95867095f0514ec3994b9c9efd9756ed49ef43
2023-09-05 11:44:19 +05:30
Olivier Deprez
b692edf8bf Merge "fix: bump certifi to version 2023.7.22" into integration 2023-09-01 14:57:26 +02:00
Harrison Mutai
6cbf43204f fix: bump certifi to version 2023.7.22
Bump the certifi package to a later version following an advisory [1]
affecting versions >= 2015.4.28, < 2023.7.22.

[1] https://github.com/advisories/GHSA-xqr8-7jwr-rhp7

Change-Id: Ida6ff7f0b1228728474de8695dca42303de2b305
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-09-01 11:11:02 +01:00
Madhukar Pappireddy
21eb18a3f9 Merge "fix(ti): fix TISCI API changes during refactor" into integration 2023-08-31 17:56:06 +02:00
Jacky Bai
2a6ffa99af feat(imx8m): move the gpc reg & macro to a separate header file
move the gpc reg offset, bit define & macro to a separate header
file for code reuse.

This fixes suspend to mem on i.MX8M Plus too, since the register
layout is different there.

Change-Id: Ibec60c3a68ffa8c378de5334577a7b0e463ca875
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Marek Vasut <marex@denx.de> # Upgrade to latest, update commit message
2023-08-31 17:35:28 +02:00
Marek Vasut
89474044a5 feat(imx8m): add more dram pll setting
Add DRAM PLL frequency setting for 3732mts & 3733mts.

Change-Id: I74feab2185376bbb84826d7ee79b5e25cbc4d263
Signed-off-by: Marek Vasut <marex@denx.de>
2023-08-31 17:10:14 +02:00
Andre Przywara
b321c24342 fix(arm/fpga): enable CPU features required for ARMv9.2 cores
Similar to the FVP and QEMU, the Arm FPGA systems come with different
CPU cores, and gain new features over time.

Add a list of ARMv9.2 features that require TF-A enablement to be usable
from non-secure world. Their existence will be detected at runtime, so
supporting all those features is not required for using the build.

This fixes the Linux kernel booting on a ARMv9.2 FPGA core.

Change-Id: Ie93c32b13ce4f9968081bf38296cd45edad0a928
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2023-08-31 15:58:22 +01:00
Joanna Farley
9e66ff35e7 Merge changes from topic "xlnx_fix_plat_ocm_base" into integration
* changes:
  fix(xilinx): update dtb when dtb address and tf-a ddr flow is used
  fix(versal): use correct macro name for ocm base address
2023-08-31 13:59:20 +02:00
Amit Nagal
fdf8f929df fix(xilinx): update dtb when dtb address and tf-a ddr flow is used
Memory reservation in dtb will be done only when TF-A runs from
ddr and dtb load address is provided.
Otherwise prepare_dtb will simply return.
Empty definition of prepare_dtb is removed.

Signed-off-by: Amit Nagal <amit.nagal@amd.com>
Change-Id: Ie8a3ec51d60a7389831cfe6a112f722777930623
2023-08-31 09:15:26 +02:00
Amit Nagal
56afab73a8 fix(versal): use correct macro name for ocm base address
In absence of definition, PLAT_OCM_BASE is always 0
and IS_TFA_IN_OCM(x) always returns true irrespective
of address passed to it. Reasoning is as mentioned in
Refer section 4.2.3 in
https://gcc.gnu.org/onlinedocs/gcc-3.0.2/cpp_4.html
Due to this,functionality for reservation of TF-A DDR memory in
dtb is never executed.

Signed-off-by: Amit Nagal <amit.nagal@amd.com>
Change-Id: Iafb6b7c6aec29bba22f8f7a8395f9caf97548157
2023-08-31 09:15:04 +02:00
Manish Pandey
6a62ddff78 Merge "feat(cpufeat): initialize HFG*_EL2 registers" into integration 2023-08-30 16:19:26 +02:00
Manish Pandey
34e7cf7551 Merge changes I03a60d9f,Ib0b38f92 into integration
* changes:
  build: sort bootloader image sources
  build: allow platform-defined flags
2023-08-30 12:55:43 +02:00
Manish V Badarkhe
cf6371bc34 Merge "refactor(ast2700): update memory layout" into integration 2023-08-30 12:19:38 +02:00
Chia-Wei Wang
e681f1b8b3 refactor(ast2700): update memory layout
Update the memory layout for both BL31 and BL32 FW based on
the 1GB DRAM space of the AST2700 EVB.

Minor:
 - Use SZ_xx macro to define size for better readability

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Change-Id: I6d8285bd675321f615bb67cdd27bb4b6cb4c8b16
2023-08-30 16:34:45 +08:00
Sandrine Bailleux
a1e121beba docs(threat-model): classify threats by mitigating entity
The generic threat model used to list threats in no particular order.

Reorganize threats so that they are grouped by mitigating entity. For
example, threats mitigated by the boot firmware (i.e. BL1 and BL2) are
now clubbed together, ditto for those mitigated by the runtime EL3
firmware. Note that some generic threats apply to all firmware images
so these get grouped in their own section as well.

The motivations for this refactoring are the following:

 - Clarify the scope of the threats.

   In particular, as the boot firmware is typically transient, threats
   applying to those images can only be exploited during a short
   period of time before the runtime firmware starts.

   A note has been added to this effect.

 - Helping developers implement mitigations in the right place.

 - Some vendors have their own solution for booting their device and
   only leverage the runtime firmware from the TF-A project. Thus,
   they are not interested in the threat model of TF-A's boot
   firmware. Isolating the latter in a specific section helps them
   focus on what is important for them.

To avoid unnecessary churn, the threats ids have been kept the same.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: Id8616fd0e4b37cd400b1ad3372beb3455234d4dc
2023-08-30 08:23:32 +02:00
Sandrine Bailleux
b721648da4 docs(threat-model): club RME note with other assumptions
The fact that RME is out of the generic threat model's scope is just
another assumption we make about the target of evaluation so mention
it there.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I839ec5427f36b085148338030e8b1b85191d4245
2023-08-30 08:23:24 +02:00
Chris Kay
bb22fb8402 build: sort bootloader image sources
To avoid duplicate symbol errors when compiling bootloader images which
pull in the same source file multiple times, sort source files before
generating bootloader image build rules in order to remove duplicates.

Change-Id: I03a60d9f752f8fe85f17ec14e265fd4a6223de32
Signed-off-by: Chris Kay <chris.kay@arm.com>
2023-08-29 15:03:21 +02:00
Chris Kay
1ab8c10909 build: allow platform-defined flags
Similarly to the earlier patch enabling BL-specific additions to include
directories, preprocessor definitions and toolchain flags, this change
allows platforms to add options common to all images.

This is required because some platforms inject dependencies via the
`<platform_def.h>` header, and we don't currently have a clean way to
model that in build system code.

Change-Id: Ib0b38f9236cba6f56745cb3c756dfc81547da8bd
Signed-off-by: Chris Kay <chris.kay@arm.com>
2023-08-29 15:03:11 +02:00
Bipin Ravi
38f7b43409 Merge "feat(cpus): add support for Nevis CPU" into integration 2023-08-29 00:28:35 +02:00
Juan Pablo Conde
549795895c feat(cpus): add support for Nevis CPU
Adding basic CPU library code to support Nevis CPU

Change-Id: I399cc9b7b2d907b02b76ea2a3e5abb54e28fbf6c
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
2023-08-28 13:18:20 -05:00
Manish V Badarkhe
f3cb6fd99c Merge "fix(ufs): set data segment length" into integration 2023-08-28 19:27:16 +02:00
Madhukar Pappireddy
416bb73f6d Merge "chore(npcm845x): remove pauth_helpers.S additions in platform makefile" into integration 2023-08-28 17:32:51 +02:00
Govindraj Raja
450cbe11a9 chore(npcm845x): remove pauth_helpers.S additions in platform makefile
Currently 'pauth_helpers.S' is added if pauth is enabled from main
level makefile.

Change-Id: I33800e280daea6dba6d11e2c494101b369cd8a0b
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2023-08-28 10:27:20 -05:00
Bipin Ravi
fde15ecf03 Merge changes from topic "sm_bk/errata_refactor" into integration
* changes:
  refactor(cpus): convert the Cortex-A57 to use cpu helpers
  refactor(cpus): convert the Cortex-A57 to use the errata framework
  refactor(cpus): reorder Cortex-A57 errata by ascending order
  refactor(cpus): add Cortex-A57 errata framework information
  refactor(cpus): convert the Cortex-A53 to use cpu helpers
  refactor(cpus): convert the Cortex-A53 to use the errata framework
  refactor(cpus): reorder Cortex-A53 errata by ascending order
2023-08-28 15:56:44 +02:00
Madhukar Pappireddy
74e3f593be Merge "fix(nuvoton): fix typo in platform.mk" into integration 2023-08-28 15:07:14 +02:00
Rohit Ner
9d6786cace fix(ufs): set data segment length
Remove blanket assumption of empty data segment area to avoid
issues while writing descriptors.

Signed-off-by: Rohit Ner <rohitner@google.com>
Change-Id: If6ff0426c44c949af1065082ed8a23ed936b5f3e
2023-08-28 06:18:04 +02:00
Madhukar Pappireddy
5f01b0b116 Merge "build(bl32): added check for AARCH32_SP" into integration 2023-08-25 00:34:00 +02:00
Madhukar Pappireddy
f3751bd712 Merge "fix(cpus): check for SME presence in Gelas" into integration 2023-08-24 23:36:54 +02:00
Boyan Karatotev
dbab05efcc refactor(cpus): convert the Cortex-A57 to use cpu helpers
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I1cc10fa91cb9c837386144249dafeb6178d5866e
2023-08-24 14:27:42 -05:00
Boyan Karatotev
4ac54693bf refactor(cpus): convert the Cortex-A57 to use the errata framework
This involves replacing:
 * the reset_func with the standard cpu_reset_func_{start,end} to apply
   errata automatically
 * the <cpu>_errata_report with the errata_report_shim to report errata
   automatically
...and for each erratum:
 * the prologue with the workaround_<type>_start to do the checks and
   framework registration automatically
 * the epilogue with the workaround_<type>_end
 * the checker function with the check_erratum_<type> to make it more
   descriptive

It is important to note that the errata workaround sequences remain
unchanged and preserve their git blame.

At this point the binary output of all errata was checked with the
script from commit 19136. All reported discrepancies involve errata
with no workaround in the cpu file or errata that did not previously
have a workaround function and now do. The non temporal hint erratum has
been converted to a numeric erratum.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ib321ab01362c5954fe78e7349229c1437b3da847
2023-08-24 14:27:42 -05:00
Boyan Karatotev
f08cfc3145 refactor(cpus): reorder Cortex-A57 errata by ascending order
Errata report order is enforced to be in ascending order. To achieve
this with the errata framework this has to be done at the definition
level.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ia98976797fc0811f30c7dbf714e94b36e3c2263e
2023-08-24 14:27:42 -05:00
Boyan Karatotev
285861d054 refactor(cpus): add Cortex-A57 errata framework information
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ic435b8d42639454fabb587ead44f646f7285cc40
2023-08-24 14:27:42 -05:00
Boyan Karatotev
d20fa4e4e0 refactor(cpus): convert the Cortex-A53 to use cpu helpers
Also, convert checker functions of errata which are enabled for all cpu
revisions to report correctly in preparation of the errata ABI.

Although the script from commit 250919 was used to check that errata
code did not change, this CPU only loosely adhered to convention and its
output was not particularly useful. Nevertheless, the discrepancies were
manually verified. All errata have been checked that they get invoked.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I988db6e7b6d1732f1d2258dbdf945cb475781894
2023-08-24 14:27:42 -05:00
Boyan Karatotev
b2d78e1c41 refactor(cpus): convert the Cortex-A53 to use the errata framework
This involves replacing:
 * the reset_func with the standard cpu_reset_func_{start,end} to apply
   errata automatically
 * the <cpu>_errata_report with the errata_report_shim to report errata
   automatically
...and for each erratum:
 * the prologue with the workaround_<type>_start to do the checks and
   framework registration automatically
 * the epilogue with the workaround_<type>_end
 * the checker function with the check_erratum_<type> to make it more
   descriptive

It is important to note that the errata workaround and checking
sequences remain unchanged and preserve their git blame.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I30556f438859d17f054cb6bc96f3069b40474b58
2023-08-24 14:27:42 -05:00
Boyan Karatotev
e37dfd3c57 refactor(cpus): reorder Cortex-A53 errata by ascending order
Errata report order is enforced to be in ascending order. To achieve
this with the errata framework this has to be done at the definition
level.

Also rename the disable_non_temporal_hint to its erratum number to
conform to convention.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Id474872afebf361ab3d21c454ab3624db8354045
2023-08-24 14:27:42 -05:00
Juan Pablo Conde
0bbd4329bf fix(cpus): check for SME presence in Gelas
The original powerdown function for Gelas included SME disabling
instructions but did not check for the presence of SME before disabling.
This could lead to unexpected beaviors. This patch adds that check so
the feature is disabled only if it is present.

Change-Id: I582db53a6669317620e4f72a3eac87525897d3d0
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
2023-08-24 14:23:28 -05:00
Juan Pablo Conde
043f38fd50 build(bl32): added check for AARCH32_SP
If AACRH32_SP is not specified, it causes the DEFAULT_LINKER_SCRIPT
variable to be empty, and then the linker takes the variable following
it as if it was the linker script, which is not one. This patch
addresses that issue by requiring the AARCH32_SP variable to be set
before continuing.

Change-Id: I21db7d5bd86b98faaa1a1cd3f985daa592556a2d
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
2023-08-24 14:22:34 -05:00
Olivier Deprez
9de6b16ff7 Merge "feat(mt8188): add support for SMC from OP-TEE" into integration 2023-08-24 17:08:01 +02:00
Manorit Chawdhry
d7a7135d32 fix(ti): fix TISCI API changes during refactor
The refactor caused many APIs to be regressed due to copy paste changes
so fix them.

Fixes: 6688fd7aec ("refactor(ti): refactor ti_sci_{setup,do}_xfer to allow zero size response")
Change-Id: I03a808fa0bf2cbefbc1c9924bdaf4cfb2ad7f2cb
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2023-08-24 15:04:15 +05:30
Sandrine Bailleux
9e14faacdd Merge "refactor(qemu): handle pointer authentication" into integration 2023-08-23 16:04:10 +02:00
Marcin Juszkiewicz
51ce1f3469 refactor(qemu): handle pointer authentication
Pointer authentication requires CTX_INCLUDE_PAUTH_REGS to be defined.

Change-Id: I4ca95d6d9e619e7a7296a2c3ecb799683bf70575
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2023-08-23 12:48:26 +02:00
Sandrine Bailleux
f56da5d36d Merge changes from topic "unify-qemu-machines" into integration
* changes:
  refactor(qemu): move options to start of file
  refactor(qemu): keep AArch64 cpu flags in one section
2023-08-22 15:30:33 +02:00
Sandrine Bailleux
4993e8f5ff Merge changes from topic "unify-qemu-machines" into integration
* changes:
  refactor(qemu): handle SPM_MM builds
  refactor(qemu): handle AArch64 flags
  refactor(qemu): common cpu features enablement
  refactor(qemu): common BL31 sources
  refactor(qemu): common BL1/2 sources
  refactor(qemu): move CPU definitions into one place
  refactor(qemu): move FDT stuff into one place
2023-08-22 15:26:23 +02:00