diff options
| author | Boyan Karatotev <boyan.karatotev@arm.com> | 2025-12-04 15:23:08 +0000 |
|---|---|---|
| committer | Boyan Karatotev <boyan.karatotev@arm.com> | 2026-01-07 17:46:00 +0000 |
| commit | ef545e81134013639a8cde489d16786ddaf9daca (patch) | |
| tree | 27dfe560aceb5bb1fcdc5085d1ff581e72368f25 | |
| parent | e9730867dbee4620e1af008e224108b1f2265ac0 (diff) | |
| download | arm-trusted-firmware-ef545e81134013639a8cde489d16786ddaf9daca.tar.gz arm-trusted-firmware-ef545e81134013639a8cde489d16786ddaf9daca.zip | |
feat(per-cpu): migrate AArch32 amu_ctx to per-cpu framework
Brings it in line with AArch64.
Change-Id: I9333ea9cf07679735da169dae0fe90a8856d9801
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
| -rw-r--r-- | lib/extensions/amu/aarch32/amu.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/extensions/amu/aarch32/amu.c b/lib/extensions/amu/aarch32/amu.c index 91e585b09..770823c2c 100644 --- a/lib/extensions/amu/aarch32/amu.c +++ b/lib/extensions/amu/aarch32/amu.c @@ -14,10 +14,11 @@ #include <common/debug.h> #include <lib/el3_runtime/pubsub_events.h> #include <lib/extensions/amu.h> +#include <lib/per_cpu/per_cpu.h> #include <plat/common/platform.h> -amu_regs_t amu_ctx[PLATFORM_CORE_COUNT]; +PER_CPU_DEFINE(amu_regs_t, amu_ctx); static inline __unused uint32_t read_amcgcr_cg1nc(void) { @@ -80,7 +81,7 @@ static void *amu_context_save(const void *arg) } unsigned int core_pos = *(unsigned int *)arg; - amu_regs_t *ctx = &amu_ctx[core_pos]; + amu_regs_t *ctx = PER_CPU_CUR(amu_ctx); /* Disable all counters so we can write to them safely later */ write_amcntenclr0(AMCNTENCLR0_Pn_MASK); @@ -164,7 +165,7 @@ static void *amu_context_restore(const void *arg) } unsigned int core_pos = *(unsigned int *)arg; - amu_regs_t *ctx = &amu_ctx[core_pos]; + amu_regs_t *ctx = PER_CPU_CUR(amu_ctx); write64_amevcntr00(read_amu_grp0_ctx_reg(ctx, 0)); write64_amevcntr01(read_amu_grp0_ctx_reg(ctx, 1)); |
