Add Performance Measurement Framework(PMF)
This patch adds Performance Measurement Framework(PMF) in the
ARM Trusted Firmware. PMF is implemented as a library and the
SMC interface is provided through ARM SiP service.

The PMF provides capturing, storing, dumping and retrieving the
time-stamps, by enabling the development of services by different
providers, that can be easily integrated into ARM Trusted Firmware.
The PMF capture and retrieval APIs can also do appropriate cache
maintenance operations to the timestamp memory when the caller
indicates so.

`pmf_main.c` consists of core functions that implement service
registration, initialization, storing, dumping and retrieving
the time-stamp.
`pmf_smc.c` consists SMC handling for registered PMF services.
`pmf.h` consists of the macros that can be used by the PMF service
providers to register service and declare time-stamp functions.
`pmf_helpers.h` consists of internal macros that are used by `pmf.h`

By default this feature is disabled in the ARM trusted firmware.
To enable it set the boolean flag `ENABLE_PMF` to 1.

NOTE: The caller is responsible for specifying the appropriate cache
maintenance flags and for acquiring/releasing appropriate locks
before/after capturing/retrieving the time-stamps.

Change-Id: Ib45219ac07c2a81b9726ef6bd9c190cc55e81854
1 parent f9455ce commit a31d8983f42153b0448103bdd47e1f4c9c093765
@Yatharth Kochar Yatharth Kochar authored on 11 Mar 2016
Soby Mathew committed on 16 Jun 2016
Showing 8 changed files
View
Makefile
View
bl31/bl31.ld.S
View
bl31/bl31.mk
View
docs/user-guide.md
View
include/lib/pmf.h 0 → 100644
View
include/lib/pmf_helpers.h 0 → 100644
View
lib/pmf/pmf_main.c 0 → 100644
View
lib/pmf/pmf_smc.c 0 → 100644