Refactor Statistical Profiling Extensions implementation
authorDimitris Papastamos <dimitris.papastamos@arm.com>
Fri, 13 Oct 2017 11:06:06 +0000 (12:06 +0100)
committerDimitris Papastamos <dimitris.papastamos@arm.com>
Mon, 20 Nov 2017 09:55:01 +0000 (09:55 +0000)
commit281a08cc6438d868bd1b0bcf19bc6c95207b42ac
treec75a7e1192f49c1d091cbe7d307ec65fe2b196a7
parentc776deed60b3d7f30f3095ee98c3f0b3c815c348
Refactor Statistical Profiling Extensions implementation

Factor out SPE operations in a separate file.  Use the publish
subscribe framework to drain the SPE buffers before entering secure
world.  Additionally, enable SPE before entering normal world.

A side effect of this change is that the profiling buffers are now
only drained when a transition from normal world to secure world
happens.  Previously they were drained also on return from secure
world, which is unnecessary as SPE is not supported in S-EL1.

Change-Id: I17582c689b4b525770dbb6db098b3a0b5777b70a
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
13 files changed:
Makefile
bl31/bl31.mk
include/common/aarch64/el3_common_macros.S
include/lib/aarch64/arch.h
include/lib/aarch64/arch_helpers.h
include/lib/el3_runtime/aarch64/context.h
include/lib/extensions/spe.h [new file with mode: 0644]
include/plat/arm/common/plat_arm.h
lib/el3_runtime/aarch64/context.S
lib/el3_runtime/aarch64/context_mgmt.c
lib/extensions/spe/spe.c [new file with mode: 0644]
plat/arm/board/fvp/fvp_pm.c
plat/arm/common/aarch64/arm_helpers.S