1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun #ifndef __UAPI_CORESIGHT_STM_H_ 3*4882a593Smuzhiyun #define __UAPI_CORESIGHT_STM_H_ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/const.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #define STM_FLAG_TIMESTAMPED _BITUL(3) 8*4882a593Smuzhiyun #define STM_FLAG_MARKED _BITUL(4) 9*4882a593Smuzhiyun #define STM_FLAG_GUARANTEED _BITUL(7) 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun /* 12*4882a593Smuzhiyun * The CoreSight STM supports guaranteed and invariant timing 13*4882a593Smuzhiyun * transactions. Guaranteed transactions are guaranteed to be 14*4882a593Smuzhiyun * traced, this might involve stalling the bus or system to 15*4882a593Smuzhiyun * ensure the transaction is accepted by the STM. While invariant 16*4882a593Smuzhiyun * timing transactions are not guaranteed to be traced, they 17*4882a593Smuzhiyun * will take an invariant amount of time regardless of the 18*4882a593Smuzhiyun * state of the STM. 19*4882a593Smuzhiyun */ 20*4882a593Smuzhiyun enum { 21*4882a593Smuzhiyun STM_OPTION_GUARANTEED = 0, 22*4882a593Smuzhiyun STM_OPTION_INVARIANT, 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #endif 26