1 SysLink 3 / Tiler
3 This is the Qnx SysLink IPC that uses the VirtQueue transport to communicate
4 with the sys-bios rpmsg.
6 Source Code:
7 ============
8 - Qnx SysLink Source
9 The source code is located in the gforge01 git tree.
11 git clone ssh://<aid/xid>@gforge01.dal.design.ti.com/gitroot/syslink_qnx
12 branch: sl3_dev
13 Provide enterprise password when prompted.
15 - BIOS RPMSG Source
16 The source code is located in git.omapzoom.org
18 branch: master
19 tag: 2.00.11.31
20 commit-id: 91f6379282230ef5d1818ce8363ce1e64f23cda2
21 patches needed on top for Qnx can be found at:
22 \\dta0866189\SHARE\sl3\patches\sl3_1.05.23\sysbios-rpmsg
23 0001-IPC-Protect-Message-Sending-to-Serialize-Messages.patch
24 0002-WIP-Add-j5-and-j5eco-support.patch
25 0003-Resources-Update-ti811x-resource-table-for-shmem-car.patch
26 0004-Update-number-of-HwSpinlocks.patch
28 Note: For running the benchmarking test, follow the instructions at the
29 top of the MPU-side benchmarking test app.
31 Default firmware files are generated in
32 /sysbios-rpmsg/src/ti/examples/srvmgr/ti_platform_<...>. The folder is
33 named for the platform. For example, for the OMAP5 ipu firmware, the folder
34 is named ti_platform_omap54xx_ipu.
36 Tools:
37 ======
38 - Qnx Momentics IDE 6.5.x
39 For more information please refer to the Wiki:
40 http://opbuwiki.dal.design.ti.com/index.php/QNX_Main_Page#Developer_Setup
41 - OMAP5 BSP Information is available in thie Wiki:
42 http://opbuwiki.dal.design.ti.com/index.php/OMAP5_QNX_BSP
43 - J5Eco BSP Information can be found on this Wiki:
44 http://opbuwiki.dal.design.ti.com/index.php/J5eco_QNX_RPMSG#QNX_J5_eco_BSP
45 - Please refer to the ReadMe in the Bios RPMSG source for the tools
46 required to build the BIOS RPMSG source.
48 Build Instructions (Windows):
49 =============================
50 1) Open a command prompt and change directory to the syslink project
51 directory.
52 2) (Optional) To override the default install root, create a new file named
53 qconf-override.mk with the following contents:
54 INSTALL_ROOT_nto := C:/ide-4.7-workspace/trunk
55 USE_INSTALL_ROOT = 1
56 Set the environment variable QCONF_OVERRIDE as follows:
57 set QCONF_OVERRIDE = C:\ide-4.7-workspace\trunk\qconf-override.mk
58 3) From the command prompt:
59 To build for OMAP5:
60 > make SYSLINK_PLATFORM=omap5430 TILER_PLATFORM=omap5430 SMP=1
61 To build for TI811X (note, there is no tiler support for j5 eco):
62 > make SYSLINK_PLATFORM=ti81xx SYSLINK_VARIANT=TI811X
63 Note: To export the tiler headers and built binaries/libraries to the
64 install root, you can instead run "make install"
66 Note: To build the binaries/libraries with the debug compile options of -g and
67 -O0, add the following to the build command:
69 "SYSLINK_DEBUG=1 TILER_DEBUG=1".
71 Clean Instructions (Windows):
72 =============================
73 1) Open a command prompt and change directory to the syslink project
74 directory.
75 3) From the command prompt:
76 > make clean
78 Build Output:
79 =============
81 Tiler binary and libs:
82 ----------------------
83 \tiler\resmgr\tiler\arm\le.v7\tiler Tiler Resource Manager
84 \tiler\usr\memmgr\arm\so.le.v7\libmemmgr.so Tiler MemMgr API library
85 \tiler\usr\tilerusr\arm\so.le.v7\libtilerusr.so Tiler TilerUsr API library
86 \tiler\usr\utils\arm\so.le.v7\libmemmgr_utils.so Tiler MmemMgr Utils library
88 Tiler samples:
89 --------------
90 \tiler\usr\tests\memmgr\arm\le.v7\memmgr_test Tiler MemMgr test
91 \tiler\usr\tests\tiler\arm\le.v7\tiler_test Tiler parametric test
92 \tiler\usr\tests\tilerusr\arm\le.v7\tilerusr_test Tiler TilerUsr test
93 \tiler\usr\tests\utils\arm\le.v7\utils_test Tiler Utils test
95 SharedMemAllocator binary and libs:
96 -----------------------------------
97 \sharedmemallocator\resmgr\arm\le.v7\shmemallocator ResMgr
98 \sharedmemallocator\usr\arm\so.le.v7\libsharedmemallocator.so User Lib
100 SharedMemAllocator samples:
101 ---------------------------
102 \sharedmemallocator\samples\sharedMemAllocator\usr\arm\le.v7\SharedMemoryAllocatorTestApp
104 SysLink binary and lib (under \ti\syslink\build\Qnx\):
105 ------------------------------------------------------
106 resmgr\arm\le.v7\syslink Syslink Resource Manager
107 lib\arm\so.le.v7\libsyslink_client.so Syslink client library (
108 needed for using HWSpinLock API
109 and running the
110 MQCopy test app)
112 SysLink samples (under \ti\syslink\samples\hlos\):
113 --------------------------------------------------
114 benchmark\usr\arm\le.v7\rpmsg-omx-benchmark Benchmark test
115 MessageQCopy\usr\arm\le.v7\mqcopytestapp MessageQCopy test
116 rpmsg-omx\usr\arm\le.v7\rpmsg-omx-test Rpmsg-omx interface test
117 hwspinlock\usr\arm\le.v7\HwSpinLockTestApp HWSpinLock test
119 Note: If an install root was specified, you will find the above mentioned binaries and
120 libraries in the follwing paths in the install root:
122 <install_root>\bin\
123 -> syslink
124 -> rpmsg-omx-benchmark
125 -> mqcopytestapp
126 -> rpmsg-omx-test
127 -> HwSpinLockTestApp
128 <install_root>\sbin\
129 -> tiler
130 -> memmgr_test
131 -> tiler_test
132 -> tilerusr_test
133 -> utils_test
134 <install_root>\usr\lib
135 -> libmemmgr.so
136 -> libtilerusr.so
137 -> libmemmgr_utils.so
138 -> libsyslink_client.so
140 To Run SysLink/Tiler/SharedMemAllocator:
141 ========================================
143 SharedMemAllocator
144 ------------------
145 On the target, sharedmemallocator can be started by running the following
146 command
147 # shmemallocator
148 No additional command line arguments are required.
149 The default carveouts will be created unless the resource manager
150 source file is modified to define different carveouts.
151 Note: If the source file is modified, then the carveouts will need to be
152 modified in the syslink Platform.c file, and the sysbios-rpmsg resource
153 table file in order for the carveouts to be visible to the remote core.
155 Tiler
156 -----
157 On the target, tiler can be started by running the following command
158 # tiler
159 No additional command line arguments required. To see what options are
160 available, run "use tiler" or view the tiler.use file.
162 SysLink
163 -------
164 On the target, syslink can be started by running the following commad
165 # syslink <proc_name> <ipu_firmware_file> ...
166 The IPU firmware file to be loaded must be specified when starting syslink.
167 The proc_name is the same as the MultiProc name for the proc that is to
168 be loaded and is specific to the platform. Multiple proc_name/file pairs
169 can be listed and all will be loaded.
170 To see what other options may be available, run "use syslink" or view the
171 syslink.use file.
172 For example:
173 - To start syslink with DSP for TI811X:
174 # syslink DSP <dsp_firmware_file>
175 For backward-compatibility with previous OMAP5 releases, the "-f" and "-d"
176 options can be used instead to load IPU and DSP, respectively:
177 # syslink -f <ipu_firmware_file> -d <dsp_firmware_file>
179 Disabling Hibernation and Changing the Hibernation Timeout:
180 =======================================
181 To disable hibernation, use the "-H 0" option when starting syslink:
183 # syslink -f <ducati_firmware_file> -H 0
185 To change the hibernation timeout, use the "-T" option when starting syslink.
186 The value should be in msec:
188 # syslink -f <ducati_firmware_file> -T 10000
190 Remote Core Traces:
191 ===================
192 To see a dump of the remote core trace buffer, simply cat
193 /dev/syslink-trace<proc_id>. Proc_id is the same as the MultiProc procId.
195 For IPU traces for OMAP5:
196 # cat /dev/syslink-trace2
198 For DSP traces for OMAP5 or TI811X:
199 # cat /dev/syslink-trace0
201 Changing SharedMemAllocator Carveouts:
202 ======================================
203 The carveouts used by the SharedMemAllocator are defined in
204 \sharedmemallocator\resmgr\SharedMemoryAllocator.c at in the "blocks" array.
205 In order to modify the addresses/sizes/number of the carveouts, modify this
206 array and then re-build the module.
208 Defining Carveouts for the Remote Cores:
209 ========================================
210 In order to be able to perform the address translation and to have the
211 carveout mapped into the MMU for the remote core, the carveouts must be
212 defined in the sysbio-rpmsg resource table for the cores which need access
213 to them. Carveouts should be added as "devmem" entries in the table, with
214 the virtual and physical addresses given in the entry.
216 The MPU-side Platform.c file for the target should also be updated to define
217 the updated/new carveouts in the Syslink_Override_Params. The carveouts
218 should be listed here for each core which needs access to them.
220 Validating on the TARGET:
221 =============================
223 SysLink standalone tests:
224 -------------------------------------
225 1) Setup the target:
226 Copy the following files to the target:
227 syslink
228 mqcopytestapp
229 rpmsg-omx-test
230 libsyslink_client.so
231 test_omx_ipu.xem3 (for OMAP5 IPU)
232 test_omx_dsp.xe64T (for OMAP5 or TI811X DSP)
234 Note: The binaries are from the sysbios-rpmsg tree, and
235 can be found in the examples folder.
237 3) Start syslink from the terminal:
238 For OMAP5:
239 # /tmp/syslink -f /tmp/test_omx_ipu.xem3 -d /tmp/test_omx_dsp.xe64T -H 0
240 For TI811X:
241 # /tmp/syslink DSP /tmp/test_omx_dsp.xe64T -H 0
243 You will see output like below on the console (OMAP5 output shown as example):
244 # /tmp/syslink -f /tmp/test_omx_ipu.xem3 -d /tmp/test_omx_dsp.xe64T -H 0
245 Starting syslink resource manager...
246 RscTable_process: RscTable version is [1]
247 RscTable_process: vring [256] @ [0xa0000000]
248 RscTable_process: vring [256] @ [0xa0004000]
249 RscTable_process: carveout [IPU_MEM_TEXT] @ da [0x00000000] pa [0xeda00000] len [0x600000]
250 RscTable_process: carveout [IPU_MEM_DATA] @ da [0x80000000] pa [0xee000000] len [0x9c00000]
251 RscTable_process: carveout [IPU_MEM_IPC_DATA] @ da [0x9f000000] pa [0xf7c00000] len [0x100000]
252 RscTable_process: trace [trace:sysm3] @ da [0x9f000000] len [0x8000]
253 RscTable_process: devmem [IPU_MEM_IPC_VRING] @ da [0xa0000000] pa [0xed900000] len [0x100000]
254 RscTable_process: devmem [IPU_MEM_IOBUFS] @ da [0x90000000] pa [0xf7d00000] len [0x5a00000]
255 RscTable_process: devmem [IPU_TILER_MODE_0_1] @ da [0x60000000] pa [0x60000000] len [0x10000000]
256 RscTable_process: devmem [IPU_TILER_MODE_2] @ da [0x70000000] pa [0x70000000] len [0x8000000]
257 RscTable_process: devmem [IPU_TILER_MODE_3] @ da [0x78000000] pa [0x78000000] len [0x8000000]
258 RscTable_process: devmem [IPU_PERIPHERAL_L4CFG] @ da [0xaa000000] pa [0x4a000000] len [0x1000000]
259 RscTable_process: devmem [IPU_PERIPHERAL_L4PER] @ da [0xa8000000] pa [0x48000000] len [0x1000000]
260 RscTable_process: devmem [IPU_IVAHD_CONFIG] @ da [0xba000000] pa [0x5a000000] len [0x1000000]
261 RscTable_process: devmem [IPU_IVAHD_SL2] @ da [0xbb000000] pa [0x5b000000] len [0x1000000]
262 RscTable_process: devmem [IPU_PERIPHERAL_DMM] @ da [0xae000000] pa [0x4e000000] len [0x100000]
263 << DLOAD >> WARNING: '' does not have a dynamic segment; assuming that it is a static executable and it cannot be relocated.
264 Programming Benelli memory regions
265 =========================================
266 VA = [0xa0000000] of size [0x100000] at PA = [0xed900000]
267 VA = [0x0] of size [0x600000] at PA = [0xeda00000]
268 VA = [0x80000000] of size [0x9c00000] at PA = [0xee000000]
269 VA = [0x9f000000] of size [0x100000] at PA = [0xf7c00000]
270 Programming Benelli L4 peripherals
271 =========================================
272 PA [0x60000000] VA [0x60000000] size [0x10000000]
273 PA [0x70000000] VA [0x70000000] size [0x8000000]
274 PA [0x78000000] VA [0x78000000] size [0x8000000]
275 PA [0x4a000000] VA [0xaa000000] size [0x1000000]
276 PA [0x48000000] VA [0xa8000000] size [0x1000000]
277 PA [0x4e000000] VA [0xae000000] size [0x100000]
278 PA [0x5a000000] VA [0xba000000] size [0x1000000]
279 PA [0x5b000000] VA [0xbb000000] size [0x1000000]
280 PA [0x58000000] VA [0xb8000000] size [0x1000000]
281 RscTable_process: RscTable version is [1]
282 RscTable_process: vring [256] @ [0xa0000000]
283 RscTable_process: vring [256] @ [0xa0004000]
284 RscTable_process: carveout [DSP_MEM_TEXT] @ da [0x20000000] pa [0xe0d00000] len [0x100000]
285 RscTable_process: carveout [DSP_MEM_DATA] @ da [0x90000000] pa [0xe0e00000] len [0x100000]
286 RscTable_process: carveout [DSP_MEM_HEAP] @ da [0x90100000] pa [0xe0f00000] len [0x300000]
287 RscTable_process: carveout [DSP_MEM_IPC_DATA] @ da [0x9f000000] pa [0xe1200000] len [0x100000]
288 RscTable_process: trace [trace:dsp] @ da [0x9f000000] len [0x8000]
289 RscTable_process: devmem [DSP_MEM_IPC_VRING] @ da [0xa0000000] pa [0xe0c00000] len [0x100000]
290 RscTable_process: devmem [DSP_MEM_IOBUFS] @ da [0x80000000] pa [0xe1300000] len [0x5a00000]
291 RscTable_process: devmem [DSP_TILER_MODE_0_1] @ da [0x60000000] pa [0x60000000] len [0x10000000]
292 RscTable_process: devmem [DSP_TILER_MODE_2] @ da [0x70000000] pa [0x70000000] len [0x8000000]
293 RscTable_process: devmem [DSP_TILER_MODE_3] @ da [0x78000000] pa [0x78000000] len [0x8000000]
294 RscTable_process: devmem [DSP_PERIPHERAL_L4CFG] @ da [0x4a000000] pa [0x4a000000] len [0x1000000]
295 RscTable_process: devmem [DSP_PERIPHERAL_L4PER] @ da [0x48000000] pa [0x48000000] len [0x1000000]
296 RscTable_process: devmem [DSP_PERIPHERAL_DMM] @ da [0x4e000000] pa [0x4e000000] len [0x100000]
297 << DLOAD >> WARNING: '' does not have a dynamic segment; assuming that it is a static executable and it cannot be relocated.
298 Programming Tesla memory regions
299 =========================================
300 VA = [0xa0000000] of size [0x100000] at PA = [0xe0c00000]
301 VA = [0x20000000] of size [0x100000] at PA = [0xe0d00000]
302 VA = [0x90000000] of size [0x100000] at PA = [0xe0e00000]
303 VA = [0x90100000] of size [0x300000] at PA = [0xe0f00000]
304 VA = [0x9f000000] of size [0x100000] at PA = [0xe1200000]
305 Programming L4 peripherals
306 =========================================
307 VA = [0x60000000] and PA [0x60000000] of size = [0x10000000]
308 VA = [0x70000000] and PA [0x70000000] of size = [0x8000000]
309 VA = [0x78000000] and PA [0x78000000] of size = [0x8000000]
310 VA = [0x4a000000] and PA [0x4a000000] of size = [0x1000000]
311 VA = [0x48000000] and PA [0x48000000] of size = [0x1000000]
312 VA = [0x49000000] and PA [0x49000000] of size = [0x1000000]
313 VA = [0xba000000] and PA [0x5a000000] of size = [0x1000000]
314 Syslink resource manager started
315 #
317 4) rpmsg-omx-test:
318 # rpmsg-omx-test 1 10
320 You will see output like below on the console:
321 # rpmsg-omx-test 10
322 omx_sample: Connected to OMX
323 omx_sample (1): OMX_GetHandle (H264_decoder).
324 msg_id: 99, fxn_idx: 5, data_size: 13, data: OMX_Callback
325 omx_sample (1): Got omx_handle: 0x5c0ffee5
326 omx_sample(1): OMX_SetParameter (0x5c0ffee5)
327 omx_sample (1): Got result 0
328 omx_sample (2): OMX_GetHandle (H264_decoder).
329 msg_id: 99, fxn_idx: 5, data_size: 13, data: OMX_Callback
330 omx_sample (2): Got omx_handle: 0x5c0ffee5
331 omx_sample(2): OMX_SetParameter (0x5c0ffee5)
332 omx_sample (2): Got result 0
334 [...]
336 omx_sample (10): OMX_GetHandle (H264_decoder).
337 msg_id: 99, fxn_idx: 5, data_size: 13, data: OMX_Callback
338 omx_sample (10): Got omx_handle: 0x5c0ffee5
339 omx_sample(10): OMX_SetParameter (0x5c0ffee5)
340 omx_sample (10): Got result 0
341 omx_sample: Closed connection to OMX!
342 #
344 5) mqcopytestapp:
345 # mqcopytestapp 1
347 To see the test app output, run sloginfo:
348 Jan 01 00:00:00 4 42 0 MessageQCopyApp sample application
350 Jan 01 00:00:00 4 42 0 Entered MessageQCopyApp_startup
352 Jan 01 00:00:00 4 42 0 Leaving MessageQCopyApp_startup. Status [0x0]
354 Jan 01 00:00:00 4 42 0 Entered MessageQCopyApp_execute
356 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 0 for handle 6141352 from 50 [hello world!]
357 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 1 for handle 6141352 from 50 [hello world!]
358 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 2 for handle 6141352 from 50 [hello world!]
359 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 3 for handle 6141352 from 50 [hello world!]
360 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 4 for handle 6141352 from 50 [hello world!]
361 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 5 for handle 6141352 from 50 [hello world!]
363 [...]
365 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 495 for handle 6141352 from 50 [hello world!]
366 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 496 for handle 6141352 from 50 [hello world!]
367 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 497 for handle 6141352 from 50 [hello world!]
368 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 498 for handle 6141352 from 50 [hello world!]
369 Jan 01 00:00:00 4 42 0 <1>mqcopy_server_test_cb 499 for handle 6141352 from 50 [hello world!]
370 Jan 01 00:00:00 4 42 0 <1>_MessageQCopy_callback_bufReady: no object for endpoint: 103
372 Jan 01 00:00:00 4 42 0 Leaving MessageQCopyApp_execute. Status [0x0]
374 Jan 01 00:00:00 4 42 0 Entered MessageQCopyApp_shutdown
376 Jan 01 00:00:00 4 42 0 Leaving MessageQCopyApp_shutdown. Status [0x0]
378 # mqcopytestapp 2
380 To see the test app output, run sloginfo:
381 Jan 01 00:00:00 4 42 0 MessageQCopyApp sample application
383 Jan 01 00:00:00 4 42 0 Entered MessageQCopyApp_startup
385 Jan 01 00:00:00 4 42 0 Leaving MessageQCopyApp_startup. Status [0x0]
387 Jan 01 00:00:00 4 42 0 Entered MessageQCopyApp_execute
389 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 0 for handle 6141352 from 50 [hello world!]
390 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 1 for handle 6141352 from 51 [hello world!]
391 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 2 for handle 6141352 from 50 [hello world!]
392 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 3 for handle 6141352 from 51 [hello world!]
393 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 4 for handle 6141352 from 50 [hello world!]
394 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 5 for handle 6141352 from 51 [hello world!]
396 [...]
398 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 495 for handle 6141352 from 51 [hello world!]
399 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 496 for handle 6141352 from 50 [hello world!]
400 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 497 for handle 6141352 from 51 [hello world!]
401 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 498 for handle 6141352 from 50 [hello world!]
402 Jan 01 00:00:00 4 42 0 <1>mqcopy_client_test_cb 499 for handle 6141352 from 51 [hello world!]
403 Jan 01 00:00:00 4 42 0 <1>_MessageQCopy_callback_bufReady: no object for endpoint: 103
405 Jan 01 00:00:00 4 42 0 <1>_MessageQCopy_callback_bufReady: no object for endpoint: 103
407 Jan 01 00:00:00 4 42 0 Leaving MessageQCopyApp_execute. Status [0x0]
409 Jan 01 00:00:00 4 42 0 <1>_MessageQCopy_callback_bufReady: no object for endpoint: 103
411 Jan 01 00:00:00 4 42 0 Entered MessageQCopyApp_shutdown
413 Jan 01 00:00:00 4 42 0 Leaving MessageQCopyApp_shutdown. Status [0x0]
415 6) HwSpinLockTestApp:
416 Note: Use the test_omx_dsp to run this test.
418 # HwSpinLockTestApp
420 You will see output like below on the console:
422 # HwSpinLockTestApp
423 PROC=> HwSpinlock_create(0) CREATED
425 PROC=> lock (0) entered
427 PROC=> return from HwSpinlock_leave(0)
428 HwSpinlock_delete(token0): PASSED
430 PROC=> HwSpinlock_create(1) CREATED
432 PROC=> lock (1) entered
434 PROC=> return from HwSpinlock_leave(1)
435 HwSpinlock_delete(token1): PASSED
437 PROC=> HwSpinlock_create(1) CREATED
439 PROC=> lock (2) entered
441 PROC=> return from HwSpinlock_leave(2)
442 HwSpinlock_delete(token2): PASSED
443 #
445 Tiler Standalone Tests:
446 -----------------------
448 1) Setup the target
450 Copy the following to the target:
452 tiler
453 memmgr_test
454 tilerusr_test
455 utils_test
456 libmemmgr.so
457 libtilerusr.so
458 libmemmgr_utils.so
460 2) Start tiler from the terminal:
461 # tiler
463 You will see output like below on the console:
464 # tiler
465 configured grow size is 16
466 configured grow size is 16
467 tiler: Unable to register to low memory event: Function not implemented
469 3) memmgr_test (Note: this test takes a long time on Virtio)
470 # memmgr_test
471 TEST # 1 - alloc_1D_test(4096, 0)
472 TEST_DESC - Allocate & Free 4096b 1D buffer
473 ==> TEST OK
474 so far FAILED: 0, SUCCEEDED: 1, UNAVAILABLE: 0
475 TEST # 2 - alloc_2D_test(64, 64, PIXEL_FMT_8BIT)
476 TEST_DESC - Allocate & Free 64x64x1b 1D buffer
477 ==> TEST OK
479 [...]
481 TEST # 103 - star_test(1000, 10)
482 TEST_DESC - Random set of 1000 Allocs/Maps and Frees/UnMaps for 10 slots
483 ==> TEST OK
484 so far FAILED: 0, SUCCEEDED: 103, UNAVAILABLE: 0
485 so far FAILED: 0, SUCCEEDED: 103, UNAVAILABLE: 0
486 FAILED: 0, SUCCEEDED: 103, UNAVAILABLE: 0
488 4) tilerusr_test (Note: this test takes a long time on Virtio)
489 # tilerusr_test
490 TEST # 1 - alloc_1D_test(4096, 0)
491 TEST_DESC - Allocate & Free 4096b 1D buffer
492 ==> TEST OK
493 so far FAILED: 0, SUCCEEDED: 1, UNAVAILABLE: 0
494 TEST # 2 - alloc_2D_test(64, 64, PIXEL_FMT_8BIT)
495 TEST_DESC - Allocate & Free 64x64x1b 1D buffer
496 ==> TEST OK
498 [...]
500 TEST # 79 - star_test(1000, 10)
501 TEST_DESC - Random set of 1000 Allocs/Maps and Frees/UnMaps for 10 slots
502 ==> TEST OK
503 so far FAILED: 0, SUCCEEDED: 79, UNAVAILABLE: 0
504 so far FAILED: 0, SUCCEEDED: 79, UNAVAILABLE: 0
505 FAILED: 0, SUCCEEDED: 79, UNAVAILABLE: 0
507 5) utils_test
508 # utils_test
509 TEST # 1 - test_new()
510 TEST_DESC - ==> TEST OK
511 so far FAILED: 0, SUCCEEDED: 1, UNAVAILABLE: 0
512 TEST # 2 - test_list()
513 TEST_DESC - ==> TEST OK
514 so far FAILED: 0, SUCCEEDED: 2, UNAVAILABLE: 0
516 [...]
518 TEST # 7 - test_math()
519 TEST_DESC - ==> TEST OK
520 so far FAILED: 0, SUCCEEDED: 7, UNAVAILABLE: 0
521 so far FAILED: 0, SUCCEEDED: 7, UNAVAILABLE: 0
522 FAILED: 0, SUCCEEDED: 7, UNAVAILABLE: 0