| 6482255d | 29-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(fvp_r): remove unused files and clean up makefiles" into integration |
| 88c22737 | 11-Oct-2021 |
johpow01 <john.powell@arm.com> |
refactor(fvp_r): remove unused files and clean up makefiles
This patch removes files that are not used by TF-R as well as removes unused generic files from the TF-R makefile.
Signed-off-by: John Po
refactor(fvp_r): remove unused files and clean up makefiles
This patch removes files that are not used by TF-R as well as removes unused generic files from the TF-R makefile.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Idb15ac295dc77fd38735bf2844efdb73e6f7c89b
show more ...
|
| 68120783 | 05-May-2021 |
Chris Kay <chris.kay@arm.com> |
feat(mpmm): add support for MPMM
MPMM - the Maximum Power Mitigation Mechanism - is an optional microarchitectural feature present on some Armv9-A cores, introduced with the Cortex-X2, Cortex-A710 a
feat(mpmm): add support for MPMM
MPMM - the Maximum Power Mitigation Mechanism - is an optional microarchitectural feature present on some Armv9-A cores, introduced with the Cortex-X2, Cortex-A710 and Cortex-A510 cores.
MPMM allows the SoC firmware to detect and limit high activity events to assist in SoC processor power domain dynamic power budgeting and limit the triggering of whole-rail (i.e. clock chopping) responses to overcurrent conditions.
This feature is enabled via the `ENABLE_MPMM` build option. Configuration can be done via FCONF by enabling `ENABLE_MPMM_FCONF`, or by via the plaform-implemented `plat_mpmm_topology` function.
Change-Id: I77da82808ad4744ece8263f0bf215c5a091c3167 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 742ca230 | 19-Aug-2021 |
Chris Kay <chris.kay@arm.com> |
feat(amu): enable per-core AMU auxiliary counters
This change makes AMU auxiliary counters configurable on a per-core basis, controlled by `ENABLE_AMU_AUXILIARY_COUNTERS`.
Auxiliary counters can be
feat(amu): enable per-core AMU auxiliary counters
This change makes AMU auxiliary counters configurable on a per-core basis, controlled by `ENABLE_AMU_AUXILIARY_COUNTERS`.
Auxiliary counters can be described via the `HW_CONFIG` device tree if the `ENABLE_AMU_FCONF` build option is enabled, or the platform must otherwise implement the `plat_amu_topology` function.
A new phandle property for `cpu` nodes (`amu`) has been introduced to the `HW_CONFIG` specification to allow CPUs to describe the view of their own AMU:
``` cpu0: cpu@0 { ...
amu = <&cpu0_amu>; }; ```
Multiple cores may share an `amu` handle if they implement the same set of auxiliary counters.
AMU counters are described for one or more AMUs through the use of a new `amus` node:
``` amus { cpu0_amu: amu-0 { #address-cells = <1>; #size-cells = <0>;
counter@0 { reg = <0>;
enable-at-el3; };
counter@n { reg = <n>;
... }; }; }; ```
This structure describes the **auxiliary** (group 1) AMU counters. Architected counters have architecturally-defined behaviour, and as such do not require DTB entries.
These `counter` nodes support two properties:
- The `reg` property represents the counter register index. - The presence of the `enable-at-el3` property determines whether the firmware should enable the counter prior to exiting EL3.
Change-Id: Ie43aee010518c5725a3b338a4899b0857caf4c28 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| e747a59b | 24-May-2021 |
Chris Kay <chris.kay@arm.com> |
refactor(amu): refactor enablement and context switching
This change represents a general refactoring to clean up old code that has been adapted to account for changes required to enable dynamic aux
refactor(amu): refactor enablement and context switching
This change represents a general refactoring to clean up old code that has been adapted to account for changes required to enable dynamic auxiliary counters.
Change-Id: Ia85e0518f3f65c765f07b34b67744fc869b9070d Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 31d3cc25 | 25-May-2021 |
Chris Kay <chris.kay@arm.com> |
refactor(amu): detect auxiliary counters at runtime
This change decouples the group 1 counter macros to facilitate dynamic detection at runtime. These counters remain disabled - we will add dynamic
refactor(amu): detect auxiliary counters at runtime
This change decouples the group 1 counter macros to facilitate dynamic detection at runtime. These counters remain disabled - we will add dynamic enablement of them in a later patch.
Change-Id: I820d05f228d440643bdfa308d030bd51ebc0b35a Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 81e2ff1f | 25-May-2021 |
Chris Kay <chris.kay@arm.com> |
refactor(amu): detect architected counters at runtime
This change removes the `AMU_GROUP0_COUNTERS_MASK` and `AMU_GROUP0_MAX_COUNTERS` preprocessor definitions, instead retrieving the number of grou
refactor(amu): detect architected counters at runtime
This change removes the `AMU_GROUP0_COUNTERS_MASK` and `AMU_GROUP0_MAX_COUNTERS` preprocessor definitions, instead retrieving the number of group 0 counters dynamically through `AMCGCR_EL0.CG0NC`.
Change-Id: I70e39c30fbd5df89b214276fac79cc8758a89f72 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 1fd685a7 | 25-May-2021 |
Chris Kay <chris.kay@arm.com> |
refactor(amu): conditionally compile auxiliary counter support
This change reduces preprocessor dependencies on the `AMU_GROUP1_NR_COUNTERS` and `AMU_GROUP1_COUNTERS_MASK` definitions, as these valu
refactor(amu): conditionally compile auxiliary counter support
This change reduces preprocessor dependencies on the `AMU_GROUP1_NR_COUNTERS` and `AMU_GROUP1_COUNTERS_MASK` definitions, as these values will eventually be discovered dynamically.
In their stead, we introduce the `ENABLE_AMU_AUXILIARY_COUNTERS` build option, which will enable support for dynamically detecting and enabling auxiliary AMU counters.
This substantially reduces the amount of memory used by platforms that know ahead of time that they do not have any auxiliary AMU counters.
Change-Id: I3d998aff44ed5489af4857e337e97634d06e3ea1 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 33b9be6d | 26-May-2021 |
Chris Kay <chris.kay@arm.com> |
refactor(amu): factor out register accesses
This change introduces a small set of register getters and setters to avoid having to repeatedly mask and shift in complex code.
Change-Id: Ia372f60c5efb
refactor(amu): factor out register accesses
This change introduces a small set of register getters and setters to avoid having to repeatedly mask and shift in complex code.
Change-Id: Ia372f60c5efb924cd6eeceb75112e635ad13d942 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| b4b726ea | 24-May-2021 |
Chris Kay <chris.kay@arm.com> |
refactor(amu)!: privatize unused AMU APIs
This change reduces the exposed surface area of the AMU API in order to simplify the refactoring work in following patches. The functions and definitions pr
refactor(amu)!: privatize unused AMU APIs
This change reduces the exposed surface area of the AMU API in order to simplify the refactoring work in following patches. The functions and definitions privatized by this change are not used by other parts of the code-base today.
BREAKING CHANGE: The public AMU API has been reduced to enablement only to facilitate refactoring work. These APIs were not previously used.
Change-Id: Ibf6174fb5b3949de3c4ba6847cce47d82a6bd08c Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 9b43d098 | 19-May-2021 |
Chris Kay <chris.kay@arm.com> |
build(amu): introduce `amu.mk`
This change introduces the `amu.mk` Makefile, used to remove the need to manually include AMU sources into the various build images. Makefiles requiring the list of AM
build(amu): introduce `amu.mk`
This change introduces the `amu.mk` Makefile, used to remove the need to manually include AMU sources into the various build images. Makefiles requiring the list of AMU sources are expected to include this file and use `${AMU_SOURCES}` to retrieve them.
Change-Id: I3d174033ecdce6439a110d776f0c064c67abcfe0 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| e04da4c8 | 20-May-2021 |
Chris Kay <chris.kay@arm.com> |
build(fconf)!: clean up source collection
Including the FCONF Makefile today automatically places the FCONF sources into the source list of the BL1 and BL2 images. This may be undesirable if, for in
build(fconf)!: clean up source collection
Including the FCONF Makefile today automatically places the FCONF sources into the source list of the BL1 and BL2 images. This may be undesirable if, for instance, FCONF is only required for BL31.
This change moves the BL1 and BL2 source appends out of the common Makefile to where they are required.
BREAKING CHANGE: FCONF is no longer added to BL1 and BL2 automatically when the FCONF Makefile (`fconf.mk`) is included. When including this Makefile, consider whether you need to add `${FCONF_SOURCES}` and `${FCONF_DYN_SOURCES}` to `BL1_SOURCES` and `BL2_SOURCES`.
Change-Id: Ic028eabb7437ae95a57c5bcb7821044d31755c77 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 4cb576a0 | 15-Oct-2021 |
johpow01 <john.powell@arm.com> |
fix(cpu): correct Demeter CPU name
This patch changes Cortex Demeter to Neoverse Demeter.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I7306d09ca60e101d0a96c9ceff9845422d75c160 |
| fb9e5f7b | 19-Aug-2021 |
johpow01 <john.powell@arm.com> |
feat(cpu): add support for Hunter CPU
This patch adds the basic CPU library code to support the Hunter CPU in TF-A. This CPU is based on the Makalu core so that library code was adapted as the basis
feat(cpu): add support for Hunter CPU
This patch adds the basic CPU library code to support the Hunter CPU in TF-A. This CPU is based on the Makalu core so that library code was adapted as the basis for this patch.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I956b2dc0f43da7cec3e015252392e2694363e1b3
show more ...
|
| 33d99fdb | 19-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(lib/optee): correct signedness comparison" into integration |
| 0271be0d | 18-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(psci): require validate_power_state to expose CPU_SUSPEND" into integration |
| 392547c3 | 18-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(errata_report): correct typo" into integration |
| a1d5ac6a | 28-Apr-2021 |
Samuel Holland <samuel@sholland.org> |
feat(psci): require validate_power_state to expose CPU_SUSPEND
psci_cpu_suspend unconditionally calls psci_validate_power_state, which asserts that the platform implements ops->validate_power_state.
feat(psci): require validate_power_state to expose CPU_SUSPEND
psci_cpu_suspend unconditionally calls psci_validate_power_state, which asserts that the platform implements ops->validate_power_state. To avoid a failure at runtime, do not expose CPU_SUSPEND unless that callback is implemented. This also allows a platform to provide SYSTEM_SUSPEND without providing CPU_SUSPEND.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I5dafb7845f482ab3af03a9de562def41dd70189e
show more ...
|
| eab78e9b | 10-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured_boot): remove passing of BL2 hash via device tree
Subsequent patches will provide a solution to do the BL2 hash measurement and recording in BL1 itself, hence in preparation to ado
refactor(measured_boot): remove passing of BL2 hash via device tree
Subsequent patches will provide a solution to do the BL2 hash measurement and recording in BL1 itself, hence in preparation to adopt that solution remove the logic of passing BL2 hash measurement to BL2 component via TB_FW config.
Change-Id: Iff9b3d4c6a236a33b942898fcdf799cbab89b724 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 21d2be83 | 10-Nov-2020 |
Yann Gautier <yann.gautier@st.com> |
fix(lib/optee): correct signedness comparison
Avoid compilation errors with -Wsign-compare : "comparison of integer expressions of different signedness" by changing type of num to uint32_t. And chan
fix(lib/optee): correct signedness comparison
Avoid compilation errors with -Wsign-compare : "comparison of integer expressions of different signedness" by changing type of num to uint32_t. And change init_load_addr check.
Change-Id: I891e4a288a964ffdb52129813ba8652c5bcf85b2 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| 1d651211 | 06-Oct-2021 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "za/feat_rme" into integration
* changes: refactor(gpt): productize and refactor GPT library feat(rme): disable Watchdog for Arm platforms if FEAT_RME enabled docs(rme
Merge changes from topic "za/feat_rme" into integration
* changes: refactor(gpt): productize and refactor GPT library feat(rme): disable Watchdog for Arm platforms if FEAT_RME enabled docs(rme): add build and run instructions for FEAT_RME fix(plat/fvp): bump BL2 stack size fix(plat/fvp): allow changing the kernel DTB load address refactor(plat/arm): rename ARM_DTB_DRAM_NS region macros refactor(plat/fvp): update FVP platform DTS for FEAT_RME feat(plat/arm): add GPT initialization code for Arm platforms feat(plat/fvp): add memory map for FVP platform for FEAT_RME refactor(plat/arm): modify memory region attributes to account for FEAT_RME feat(plat/fvp): add RMM image support for FVP platform feat(rme): add GPT Library feat(rme): add ENABLE_RME build option and support for RMM image refactor(makefile): remove BL prefixes in build macros feat(rme): add context management changes for FEAT_RME feat(rme): add Test Realm Payload (TRP) feat(rme): add RMM dispatcher (RMMD) feat(rme): run BL2 in root world when FEAT_RME is enabled feat(rme): add xlat table library changes for FEAT_RME feat(rme): add Realm security state definition feat(rme): add register definitions and helper functions for FEAT_RME
show more ...
|
| 322e60a6 | 06-Oct-2021 |
Yann Gautier <yann.gautier@st.com> |
fix(errata_report): correct typo
Change wrong __arch64__ to __aarch64__.
Change-Id: I750fdb16958e0eadf8aebe24bec0e14488fa4787 Signed-off-by: Yann Gautier <yann.gautier@st.com> |
| f19dc624 | 16-Jun-2021 |
johpow01 <john.powell@arm.com> |
refactor(gpt): productize and refactor GPT library
This patch updates and refactors the GPT library and fixes bugs.
- Support all combinations of PGS, PPS, and L0GPTSZ parameters. - PPS and PGS are
refactor(gpt): productize and refactor GPT library
This patch updates and refactors the GPT library and fixes bugs.
- Support all combinations of PGS, PPS, and L0GPTSZ parameters. - PPS and PGS are set at runtime, L0GPTSZ is read from GPCCR_EL3. - Use compiler definitions to simplify code. - Renaming functions to better suit intended uses. - MMU enabled before GPT APIs called. - Add comments to make function usage more clear in GPT library. - Added _rme suffix to file names to differentiate better from the GPT file system code. - Renamed gpt_defs.h to gpt_rme_private.h to better separate private and public code. - Renamed gpt_core.c to gpt_rme.c to better conform to TF-A precedent.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I4cbb23b0f81e697baa9fb23ba458aa3f7d1ed919
show more ...
|
| de278f33 | 05-Oct-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(errata): workaround for Cortex-A710 erratum 2058056" into integration |
| e2f4b434 | 05-Oct-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes If7dec725,Iedcb84a7,Ife0a4bec into integration
* changes: errata: workaround for Cortex-A78 erratum 2132060 errata: workaround for Neoverse-V1 erratum 2108267 fix(errata): workar
Merge changes If7dec725,Iedcb84a7,Ife0a4bec into integration
* changes: errata: workaround for Cortex-A78 erratum 2132060 errata: workaround for Neoverse-V1 erratum 2108267 fix(errata): workaround for Neoverse-N2 erratum 2138953
show more ...
|