xref: /optee_os/lib/libutee/include/pta_gprof.h (revision b1d7375c01ec8bcbf3561d27425d320afed23bce)
1*1bb92983SJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */
2883c4be3SJerome Forissier /*
3883c4be3SJerome Forissier  * Copyright (c) 2016, Linaro Limited
4883c4be3SJerome Forissier  */
5883c4be3SJerome Forissier 
6883c4be3SJerome Forissier #ifndef __PTA_GPROF_H
7883c4be3SJerome Forissier #define __PTA_GPROF_H
8883c4be3SJerome Forissier 
9883c4be3SJerome Forissier /*
10883c4be3SJerome Forissier  * Interface to the gprof pseudo-TA, which is used by libutee to control TA
11883c4be3SJerome Forissier  * profiling and forward data to tee-supplicant.
12883c4be3SJerome Forissier  */
13883c4be3SJerome Forissier 
14883c4be3SJerome Forissier #define PTA_GPROF_UUID { 0x2f6e0d48, 0xc574, 0x426d, { \
15883c4be3SJerome Forissier 			 0x82, 0x4e, 0x40, 0x19, 0x8c, 0xde, 0x5c, 0xac } }
16883c4be3SJerome Forissier 
17883c4be3SJerome Forissier /*
18883c4be3SJerome Forissier  * Send TA profiling data (gmon.out format) to tee-supplicant
19883c4be3SJerome Forissier  * Data may be sent in several chunks: first set id to 0, then re-use the
20883c4be3SJerome Forissier  * allocated value in subsequent calls.
21883c4be3SJerome Forissier  *
22883c4be3SJerome Forissier  * [in/out] value[0].a: id
23883c4be3SJerome Forissier  * [in]     memref[1]: profiling data
24883c4be3SJerome Forissier  */
25883c4be3SJerome Forissier #define PTA_GPROF_SEND			0
26883c4be3SJerome Forissier 
27883c4be3SJerome Forissier /*
28883c4be3SJerome Forissier  * Start PC sampling of a user TA session
29883c4be3SJerome Forissier  *
30883c4be3SJerome Forissier  * [in/out] memref[0]: sampling buffer
31883c4be3SJerome Forissier  * [in]     value[1].a: offset: the lowest PC value in the TA
32883c4be3SJerome Forissier  * [in]     value[1].b: scale: histogram scaling factor
33883c4be3SJerome Forissier  */
34883c4be3SJerome Forissier #define PTA_GPROF_START_PC_SAMPLING	1
35883c4be3SJerome Forissier 
36883c4be3SJerome Forissier /*
37883c4be3SJerome Forissier  * Stop PC sampling of a user TA session and retrieve data
38883c4be3SJerome Forissier  *
39883c4be3SJerome Forissier  * [out] value[0].a: sampling frequency
40883c4be3SJerome Forissier  */
41883c4be3SJerome Forissier #define PTA_GPROF_STOP_PC_SAMPLING	2
42883c4be3SJerome Forissier 
43883c4be3SJerome Forissier #endif /* __PTA_GPROF_H */
44