23 #ifndef _RTDM_UAPI_TESTING_H
24 #define _RTDM_UAPI_TESTING_H
26 #include <linux/types.h>
28 #define RTTST_PROFILE_VER 2
30 typedef struct rttst_bench_res {
38 typedef struct rttst_interm_bench_res {
39 struct rttst_bench_res last;
40 struct rttst_bench_res overall;
41 } rttst_interm_bench_res_t;
43 typedef struct rttst_overall_bench_res {
44 struct rttst_bench_res result;
48 } rttst_overall_bench_res_t;
50 #define RTTST_TMBENCH_INVALID -1
51 #define RTTST_TMBENCH_TASK 0
52 #define RTTST_TMBENCH_HANDLER 1
54 typedef struct rttst_tmbench_config {
60 int histogram_bucketsize;
62 } rttst_tmbench_config_t;
64 struct rttst_swtest_task {
70 #define RTTST_SWTEST_FPU 0x1
71 #define RTTST_SWTEST_USE_FPU 0x2
72 #define RTTST_SWTEST_FREEZE 0x4
93 struct rttst_swtest_error {
98 #define RTTST_RTDM_NORMAL_CLOSE 0
99 #define RTTST_RTDM_DEFER_CLOSE_CONTEXT 1
101 #define RTTST_RTDM_MAGIC_PRIMARY 0xfefbfefb
102 #define RTTST_RTDM_MAGIC_SECONDARY 0xa5b9a5b9
104 #define RTTST_HEAPCHECK_ZEROOVRD 1
105 #define RTTST_HEAPCHECK_SHUFFLE 2
106 #define RTTST_HEAPCHECK_PATTERN 4
107 #define RTTST_HEAPCHECK_HOT 8
109 struct rttst_heap_parms {
116 struct rttst_heap_stats {
130 struct rttst_heap_stathdr {
132 struct rttst_heap_stats *buf;
135 #define RTIOC_TYPE_TESTING RTDM_CLASS_TESTING
141 #define RTDM_SUBCLASS_TIMERBENCH 0
143 #define RTDM_SUBCLASS_IRQBENCH 1
145 #define RTDM_SUBCLASS_SWITCHTEST 2
147 #define RTDM_SUBCLASS_RTDMTEST 3
149 #define RTDM_SUBCLASS_HEAPCHECK 4
156 #define RTTST_RTIOC_INTERM_BENCH_RES \
157 _IOWR(RTIOC_TYPE_TESTING, 0x00, struct rttst_interm_bench_res)
159 #define RTTST_RTIOC_TMBENCH_START \
160 _IOW(RTIOC_TYPE_TESTING, 0x10, struct rttst_tmbench_config)
162 #define RTTST_RTIOC_TMBENCH_STOP \
163 _IOWR(RTIOC_TYPE_TESTING, 0x11, struct rttst_overall_bench_res)
165 #define RTTST_RTIOC_SWTEST_SET_TASKS_COUNT \
166 _IOW(RTIOC_TYPE_TESTING, 0x30, __u32)
168 #define RTTST_RTIOC_SWTEST_SET_CPU \
169 _IOW(RTIOC_TYPE_TESTING, 0x31, __u32)
171 #define RTTST_RTIOC_SWTEST_REGISTER_UTASK \
172 _IOW(RTIOC_TYPE_TESTING, 0x32, struct rttst_swtest_task)
174 #define RTTST_RTIOC_SWTEST_CREATE_KTASK \
175 _IOWR(RTIOC_TYPE_TESTING, 0x33, struct rttst_swtest_task)
177 #define RTTST_RTIOC_SWTEST_PEND \
178 _IOR(RTIOC_TYPE_TESTING, 0x34, struct rttst_swtest_task)
180 #define RTTST_RTIOC_SWTEST_SWITCH_TO \
181 _IOR(RTIOC_TYPE_TESTING, 0x35, struct rttst_swtest_dir)
183 #define RTTST_RTIOC_SWTEST_GET_SWITCHES_COUNT \
184 _IOR(RTIOC_TYPE_TESTING, 0x36, __u32)
186 #define RTTST_RTIOC_SWTEST_GET_LAST_ERROR \
187 _IOR(RTIOC_TYPE_TESTING, 0x37, struct rttst_swtest_error)
189 #define RTTST_RTIOC_SWTEST_SET_PAUSE \
190 _IOW(RTIOC_TYPE_TESTING, 0x38, __u32)
192 #define RTTST_RTIOC_RTDM_DEFER_CLOSE \
193 _IOW(RTIOC_TYPE_TESTING, 0x40, __u32)
195 #define RTTST_RTIOC_RTDM_ACTOR_GET_CPU \
196 _IOR(RTIOC_TYPE_TESTING, 0x41, __u32)
198 #define RTTST_RTIOC_RTDM_PING_PRIMARY \
199 _IOR(RTIOC_TYPE_TESTING, 0x42, __u32)
201 #define RTTST_RTIOC_RTDM_PING_SECONDARY \
202 _IOR(RTIOC_TYPE_TESTING, 0x43, __u32)
204 #define RTTST_RTIOC_HEAP_CHECK \
205 _IOR(RTIOC_TYPE_TESTING, 0x44, struct rttst_heap_parms)
207 #define RTTST_RTIOC_HEAP_STAT_COLLECT \
208 _IOR(RTIOC_TYPE_TESTING, 0x45, int)
parameter for the RTTST_RTIOC_SWTEST_SWITCH_TO syscall
Definition: testing.h:82
unsigned int switch_mode
If the mode should be switched: 0 for no switch, 1 for switch.
Definition: testing.h:90
unsigned int to
Index of the thread that should run.
Definition: testing.h:87
unsigned int from
Index of the thread that should be replaced.
Definition: testing.h:84