arm-trusted-firmware/include/lib
Boyan Karatotev c73686a11c 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
2023-06-29 09:59:06 +01:00
..
bl_aux_params style(docs): fix typo s/flase/false/ 2023-03-21 13:41:39 +01:00
cpus feat(cpus): add support for hermes cpu 2023-06-27 10:49:38 -05:00
el3_runtime refactor(cm): introduce a real manage_extensions_nonsecure() 2023-06-29 09:59:06 +01:00
extensions feat(pmu): introduce pmuv3 lib/extensions folder 2023-06-29 09:59:06 +01:00
fconf feat(fconf): rename 'ns-load-address' to 'secondary-load-address' 2023-02-07 11:26:38 +00:00
gpt_rme fix(gpt_rme): rework delegating/undelegating sequence 2022-03-09 16:08:42 +01:00
libc feat(lib): implement memcpy_s in lib 2023-06-13 11:25:48 +08:00
libfdt feat(libfdt): upgrade libfdt source files 2022-10-19 14:07:46 +01:00
mpmm feat(mpmm): add support for MPMM 2021-10-26 12:15:42 +01:00
pmf build: always prefix section names with . 2023-02-20 18:29:33 +00:00
psa fix(measured-boot): don't strip last non-0 char 2023-05-31 16:40:43 +02:00
psci fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
xlat_mpu fvp_r: load, auth, and transfer from BL1 to BL33 2021-09-30 17:07:11 +01:00
xlat_tables build: always prefix section names with . 2023-02-20 18:29:33 +00:00
zlib Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
bakery_lock.h build: always prefix section names with . 2023-02-20 18:29:33 +00:00
cassert.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
coreboot.h feat(optee): add device tree for coreboot table 2023-05-11 10:46:57 +02:00
debugfs.h debugfs: add SMC channel 2019-12-18 09:59:12 +01:00
mmio.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
object_pool.h fconf: Fix misra issues 2020-02-27 16:14:07 +00:00
optee_utils.h feat(optee): add loading OP-TEE image via an SMC 2023-01-31 10:38:16 -08:00
runtime_instr.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
semihosting.h qemu: Implement qemu_system_off via semihosting. 2020-01-23 10:53:45 +00:00
smccc.h chore(smccc): bump up SMCCC version to 1.4 2023-06-16 13:06:16 +01:00
spinlock.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
utils.h arm: gicv3: Fix compiler dependent behavior 2019-12-10 15:53:44 -06:00
utils_def.h fix: add parenthesis for tests in MIN, MAX and CLAMP macros 2022-12-07 14:16:03 +01:00