| c73686a1 | 15-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(pmu): introduce pmuv3 lib/extensions folder
The enablement code for the PMU is scattered and difficult to track down. Factor out the feature into its own lib/extensions folder and consolidate t
feat(pmu): introduce pmuv3 lib/extensions folder
The enablement code for the PMU is scattered and difficult to track down. Factor out the feature into its own lib/extensions folder and consolidate the implementation. Treat it is as an architecturally mandatory feature as it is currently.
Additionally, do some cleanup on AArch64. Setting overflow bits in PMCR_EL0 is irrelevant for firmware so don't do it. Then delay the PMU initialisation until the context management stage which simplifies the early environment assembly. One side effect is that the PMU might count before this happens so reset all counters to 0 to prevent any leakage.
Finally, add an enable to manage_extensions_realm() as realm world uses the pmu. This introduces the HPMN fixup to realm world.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ie13a8625820ecc5fbfa467dc6ca18025bf6a9cd3
show more ...
|
| 0ad935f7 | 22-Jun-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "ffa_el3_spmc_fixes" into integration
* changes: fix(tsp): fix destination ID in direct request fix(el3-spm): fix LSP direct message response fix(el3-spm): improve dir
Merge changes from topic "ffa_el3_spmc_fixes" into integration
* changes: fix(tsp): fix destination ID in direct request fix(el3-spm): fix LSP direct message response fix(el3-spm): improve direct messaging validation
show more ...
|
| 48fe24c5 | 15-Nov-2022 |
Marc Bonnici <marc.bonnici@arm.com> |
fix(el3-spm): improve direct messaging validation
Perform additional validation of the source and destination IDs of direct messages. Additionally track the sender of a direct request to allow valid
fix(el3-spm): improve direct messaging validation
Perform additional validation of the source and destination IDs of direct messages. Additionally track the sender of a direct request to allow validating the target of the corresponding direct response.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I8d39d53a02b8333246f1500c79ba04f149459c16
show more ...
|
| 95c56cb1 | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): add comments and cleanup code
No functional change intended.
Change-Id: I08300ec4cb2e11d26c4a108769919d0c474292ff Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
| b8007beb | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): avoid extra loop
Using one loop for the duplicate partition ID check is both simpler and faster.
Change-Id: I0f6fa9ceb1aadf4383fa9be16605c39ad8643a43 Signed-off-by: Demi Marie O
refactor(el3-spmc): avoid extra loop
Using one loop for the duplicate partition ID check is both simpler and faster.
Change-Id: I0f6fa9ceb1aadf4383fa9be16605c39ad8643a43 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 327b5b8b | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): validate memory address alignment
This ensures that addresses shared using FF-A are 4K aligned, as required by the specification.
Change-Id: I8f0a659a095fdb9391398757141d613ac9bf9b42
fix(el3-spmc): validate memory address alignment
This ensures that addresses shared using FF-A are 4K aligned, as required by the specification.
Change-Id: I8f0a659a095fdb9391398757141d613ac9bf9b42 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| e779c1af | 20-Jun-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes Ic58f4966,Ib7b438b8,I400f0f1f into integration
* changes: refactor(el3-spmc): add comments refactor(el3-spmc): move checks after loop refactor(el3-spmc): validate alignment earli
Merge changes Ic58f4966,Ib7b438b8,I400f0f1f into integration
* changes: refactor(el3-spmc): add comments refactor(el3-spmc): move checks after loop refactor(el3-spmc): validate alignment earlier
show more ...
|
| bb6d0a17 | 08-Jun-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(spmd): relax use of EHF with SPMC at S-EL2
Follow up to [1] and [2], for systems implementing the SPMC at S-EL2, it is necessary to leave the option for handling Group0 interrupts (while the nor
fix(spmd): relax use of EHF with SPMC at S-EL2
Follow up to [1] and [2], for systems implementing the SPMC at S-EL2, it is necessary to leave the option for handling Group0 interrupts (while the normal world runs) through the EHF by the use of the EL3_EXCEPTION_HANDLING option. Specifically for RAS, the handling through EHF is still required because the platform function provided by the SPMD doesn't provide the facility to link back to the RAS handling framework.
[1] https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/16047 [2] https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19897
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: Idf8741887904a286fb3f5ab2d754afd2fc78d3b0
show more ...
|
| 794c409f | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): add comments
Change-Id: Ic58f4966159cafa83eec8e6b18a96b0a8b2ce781 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
| 966c63e6 | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): move checks after loop
This makes the code cleaner. No functional change intended.
Change-Id: Ib7b438b830e8e3b7ac6e30d688f5172cbaa58121 Signed-off-by: Demi Marie Obenour <demio
refactor(el3-spmc): move checks after loop
This makes the code cleaner. No functional change intended.
Change-Id: Ib7b438b830e8e3b7ac6e30d688f5172cbaa58121 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 27ac582a | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): validate alignment earlier
Future changes will cause spmc_shmem_obj_get_comp_mrd to panic instead of returning NULL, so be sure that comp_mrd_offset has been validated already.
refactor(el3-spmc): validate alignment earlier
Future changes will cause spmc_shmem_obj_get_comp_mrd to panic instead of returning NULL, so be sure that comp_mrd_offset has been validated already. The existing code checks for 8-byte alignment, but comments in el3_spmc_ffa_memory.h indicate that 16-byte alignment is expected, so require 16-byte alignment.
Change-Id: I400f0f1f163522cb5ea77d4811c91e8b7e655c18 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| a0239da9 | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): add emad_advance()
This will be needed later.
Change-Id: I396b5e1410268d98cf6bf00cd553a5d01123847c Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
| dd94372d | 15-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): validate shmem descriptor alignment
If the size of a shmem descriptor is not a multiple of 16, the descriptor would be unusable, but the problem would be caught much later.
Change-Id
fix(el3-spmc): validate shmem descriptor alignment
If the size of a shmem descriptor is not a multiple of 16, the descriptor would be unusable, but the problem would be caught much later.
Change-Id: I907f3862b55c6341e39a6b8b2e24784127230478 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 91567c38 | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): avoid using EINVAL
Use proper FF-A return code instead.
Change-Id: Ie749ff06339bc137d3baa96f06f0a6160b35abed Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
| 27c02425 | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): avoid descriptor size calc overflow
This ensures that descriptor size calculation does not overflow and removes a bounds check that does not actually work.
Change-Id: If8da2bb1b31294
fix(el3-spmc): avoid descriptor size calc overflow
This ensures that descriptor size calculation does not overflow and removes a bounds check that does not actually work.
Change-Id: If8da2bb1b312941b7f9d0debf3149b984fc3809a Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 43318e4a | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): use uint64_t for 64-bit type
Using uint64_t is cleaner, even though size_t is 64 bits on all platforms el3-spmc supports.
Change-Id: I457deb0b7f3df0749cb5368cceda1bb530d039de Signed-
fix(el3-spmc): use uint64_t for 64-bit type
Using uint64_t is cleaner, even though size_t is 64 bits on all platforms el3-spmc supports.
Change-Id: I457deb0b7f3df0749cb5368cceda1bb530d039de Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 1198ff84 | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): avoid unneeded function call
The information is already available inline. No functional change intended.
Change-Id: I13d2ad62a9315b233d7a5fd3ffcaac3dd01b055c Signed-off-by: Dem
refactor(el3-spmc): avoid unneeded function call
The information is already available inline. No functional change intended.
Change-Id: I13d2ad62a9315b233d7a5fd3ffcaac3dd01b055c Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 48ffc74c | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): move function call out of loop
Hopefully this will be a tiny speedup. No functional change intended.
Change-Id: Ia052c7f9b24d5ece6209a6fa2903b1271215ece7 Signed-off-by: Demi Ma
refactor(el3-spmc): move function call out of loop
Hopefully this will be a tiny speedup. No functional change intended.
Change-Id: Ia052c7f9b24d5ece6209a6fa2903b1271215ece7 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 9526282a | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): crash instead of reading OOB
If it is called on an invalid mtd, out-of-bounds memory reads are likely. Checks elsewhere in the code ensure that the mtd has been validated before
refactor(el3-spmc): crash instead of reading OOB
If it is called on an invalid mtd, out-of-bounds memory reads are likely. Checks elsewhere in the code ensure that the mtd has been validated before calling this function.
Change-Id: If598680a5b79e1786a6e0a213779ec80cbf37494 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 2d4da8e2 | 12-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): prevent total_page_count overflow
size_t is not guaranteed to be 64 bits, although it happens to be 64 bits on all systems that el3-spmc supports.
Change-Id: Ieae11722a15448641de5023
fix(el3-spmc): prevent total_page_count overflow
size_t is not guaranteed to be 64 bits, although it happens to be 64 bits on all systems that el3-spmc supports.
Change-Id: Ieae11722a15448641de50233597ac35869eab574 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 15889d13 | 23-May-2023 |
Harrison Mutai <harrison.mutai@arm.com> |
chore: rename Makalu to Cortex-A715
Change-Id: I017c955cb643e2befb6b01e1b5a07c22172b08b9 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com> |
| 4bb0cdc1 | 25-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I31ec0001,Ib06cd024,I7c11f15d,Ie0d5d4c8,I285f3b59, ... into integration
* changes: fix(el3-spmc): correctly account for emad_offset refactor(el3-spmc): avoid unnecessarily revalida
Merge changes I31ec0001,Ib06cd024,I7c11f15d,Ie0d5d4c8,I285f3b59, ... into integration
* changes: fix(el3-spmc): correctly account for emad_offset refactor(el3-spmc): avoid unnecessarily revalidating offset fix(el3-spmc): only call spmc_shm_check_obj() on complete objects refactor(spmc): assert on out-of-bounds emad access refactor(el3-spmc): spmc_shmem_obj_get_emad() will never fail fix(el3-spmc): validate descriptor headers fix(el3-spmc): use version-dependent minimum descriptor length refactor(el3-spmc): check emad_count offset
show more ...
|
| 4bd8c929 | 09-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I1bfa797e,I0ec7a70e into integration
* changes: fix(tree): correct some typos fix(rockchip): use semicolon instead of comma |
| 1b491eea | 13-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
fix(tree): correct some typos
found using codespell (https://github.com/codespell-project/codespell).
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6
fix(tree): correct some typos
found using codespell (https://github.com/codespell-project/codespell).
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6373
show more ...
|
| ab062f05 | 14-Mar-2023 |
Sona Mathew <SonaRebecca.Mathew@arm.com> |
fix(cpus): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented in EL3, but the flags can be enabled/disabled at a platform level based on a
fix(cpus): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented in EL3, but the flags can be enabled/disabled at a platform level based on arm/non-arm interconnect IP. The ABI helps assist the Kernel in the process of mitigation for the following errata:
Cortex-A715: erratum 2701951 Neoverse V2: erratum 2719103 Cortex-A710: erratum 2701952 Cortex-X2: erratum 2701952 Neoverse N2: erratum 2728475 Neoverse V1: erratum 2701953 Cortex-A78: erratum 2712571 Cortex-A78AE: erratum 2712574 Cortex-A78C: erratum 2712575
EL3 provides an appropriate return value via errata ABI when the kernel makes an SMC call using the EM_CPU_ERRATUM_FEATURES FID with the appropriate erratum ID.
Change-Id: I35bd69d812dba37410dd8bc2bbde20d4955b0850 Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
show more ...
|