Ensure PMF service timestamps are properly aligned on a cache line boundary

When using more than a single service in PMF, it is necessary that the
per-service timestamps begin on a cache line boundary.  Previously it
was possible that two services shared a cache line for their
timestamps.  This made it difficult to reason about cache maintenance
operations within a single service and required a global understanding
of how all services operate.

Change-Id: Iacaae5154a7e19ad4107468e56df9ad082ee371c
This commit is contained in:
dp-arm 2016-09-09 11:39:09 +01:00
parent 77b0532392
commit 2d84b46e96
1 changed files with 3 additions and 1 deletions

View File

@ -71,7 +71,9 @@ typedef struct pmf_svc_desc {
*/
#define PMF_ALLOCATE_TIMESTAMP_MEMORY(_name, _total_id) \
unsigned long long pmf_ts_mem_ ## _name[_total_id] \
__section("pmf_timestamp_array") __used;
__aligned(CACHE_WRITEBACK_GRANULE) \
__section("pmf_timestamp_array") \
__used;
/*
* Convenience macro to validate tid index for the given TS array.