1/* 2 * Copyright (c) 2019, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7#ifndef PMF_ASM_MACROS_S 8#define PMF_ASM_MACROS_S 9 10#define PMF_TS_SIZE 8 11 12 /* 13 * This macro calculates the address of the per-cpu timestamp 14 * for the given service name and local timestamp id. 15 * Clobbers: r0 - r4 16 */ 17 .macro pmf_calc_timestamp_addr _name, _tid 18 mov r4, lr 19 bl plat_my_core_pos 20 mov lr, r4 21 ldr r1, =__PERCPU_TIMESTAMP_SIZE__ 22 mov r2, #(\_tid * PMF_TS_SIZE) 23 mla r0, r0, r1, r2 24 ldr r1, =pmf_ts_mem_\_name 25 add r0, r0, r1 26 .endm 27 28#endif /* PMF_ASM_MACROS_S */ 29