Commit 2b3ce7b8 authored by danh-arm's avatar danh-arm Committed by GitHub
Browse files

Merge pull request #748 from dp-arm/dp/arm-sip

BL31 runtime instrumentation fixes and documentation update
parents 2fef96a3 bfef6106
...@@ -466,6 +466,12 @@ performed. ...@@ -466,6 +466,12 @@ performed.
Note: `TRUSTED_BOARD_BOOT` is currently not supported when `LOAD_IMAGE_V2` Note: `TRUSTED_BOARD_BOOT` is currently not supported when `LOAD_IMAGE_V2`
is enabled. is enabled.
* `ENABLE_RUNTIME_INSTRUMENTATION`: Boolean option to enable runtime
instrumentation which injects timestamp collection points into
Trusted Firmware to allow runtime performance to be measured.
Currently, only PSCI is instrumented. Enabling this option enables
the `ENABLE_PMF` build option as well. Default is 0.
#### ARM development platform specific build options #### ARM development platform specific build options
* `ARM_TSP_RAM_LOCATION`: location of the TSP binary. Options: * `ARM_TSP_RAM_LOCATION`: location of the TSP binary. Options:
......
...@@ -81,9 +81,14 @@ uintptr_t std_svc_smc_handler(uint32_t smc_fid, ...@@ -81,9 +81,14 @@ uintptr_t std_svc_smc_handler(uint32_t smc_fid,
uint64_t ret; uint64_t ret;
#if ENABLE_RUNTIME_INSTRUMENTATION #if ENABLE_RUNTIME_INSTRUMENTATION
/*
* Flush cache line so that even if CPU power down happens
* the timestamp update is reflected in memory.
*/
PMF_WRITE_TIMESTAMP(rt_instr_svc, PMF_WRITE_TIMESTAMP(rt_instr_svc,
RT_INSTR_ENTER_PSCI, RT_INSTR_ENTER_PSCI,
PMF_NO_CACHE_MAINT, PMF_CACHE_MAINT,
get_cpu_data(cpu_data_pmf_ts[CPU_DATA_PMF_TS0_IDX])); get_cpu_data(cpu_data_pmf_ts[CPU_DATA_PMF_TS0_IDX]));
#endif #endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment