xref: /optee_os/lib/libutee/include/pta_invoke_tests.h (revision 76d920d354df0940181bfbd0d7f4a71883e0a2bf)
11bb92983SJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */
2620e4edfSEtienne Carriere /*
3620e4edfSEtienne Carriere  * Copyright (c) 2017, Linaro Limited
4620e4edfSEtienne Carriere  */
5620e4edfSEtienne Carriere 
6620e4edfSEtienne Carriere #ifndef __PTA_INVOKE_TESTS_H
7620e4edfSEtienne Carriere #define __PTA_INVOKE_TESTS_H
8620e4edfSEtienne Carriere 
9620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_UUID \
10620e4edfSEtienne Carriere 		{ 0xd96a5b40, 0xc3e5, 0x21e3, \
11620e4edfSEtienne Carriere 			{ 0x87, 0x94, 0x10, 0x02, 0xa5, 0xd5, 0xc6, 0x1b } }
12620e4edfSEtienne Carriere 
13620e4edfSEtienne Carriere /* Trace some hello string. Parameters are not used/checked. */
14620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_TRACE		0
15620e4edfSEtienne Carriere 
16620e4edfSEtienne Carriere /*
17620e4edfSEtienne Carriere  * Types of parameter drives the test sequences:
18620e4edfSEtienne Carriere  * - test on value parameters
19620e4edfSEtienne Carriere  * - test on SHM memory reference parameters
20620e4edfSEtienne Carriere  * - test on SDP memory reference parameters
21620e4edfSEtienne Carriere  */
22620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_PARAMS		1
23620e4edfSEtienne Carriere 
24620e4edfSEtienne Carriere /* Run some core internal tests. Parameters are not used/checked. */
25620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_SELF_TESTS		2
26620e4edfSEtienne Carriere 
27620e4edfSEtienne Carriere /*
28bb80916bSEtienne Carriere  * Secure data path: check that PTA can copy data from non-secure shared memory
29620e4edfSEtienne Carriere  * to SDP secure memory
30620e4edfSEtienne Carriere  *
31620e4edfSEtienne Carriere  * [in]     memref[0]        source (non-secure shared memory)
32620e4edfSEtienne Carriere  * [out]    memref[1]        destination (SDP secure memory)
33620e4edfSEtienne Carriere  */
34620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_COPY_NSEC_TO_SEC	3
35620e4edfSEtienne Carriere 
36620e4edfSEtienne Carriere /*
37bb80916bSEtienne Carriere  * Secure data path: check that PTA can read data from SDP secure memory and
38620e4edfSEtienne Carriere  * write it back. Data are processed so that client check the expected
39620e4edfSEtienne Carriere  * read/write sequence succeed.
40620e4edfSEtienne Carriere  *
41620e4edfSEtienne Carriere  * [in/out]     memref[0]        SDP secure buffer to read from and write to
42620e4edfSEtienne Carriere  */
43620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_READ_MODIFY_SEC	4
44620e4edfSEtienne Carriere 
45620e4edfSEtienne Carriere /*
46bb80916bSEtienne Carriere  * Secure data path: check that PTA can copy data from SDP secure memory to
47620e4edfSEtienne Carriere  * non-secure shared memory
48620e4edfSEtienne Carriere  *
49620e4edfSEtienne Carriere  * [in]     memref[0]        source (SDP secure memory)
50620e4edfSEtienne Carriere  * [out]    memref[1]        destination (non-secure shared memory)
51620e4edfSEtienne Carriere  */
52620e4edfSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_COPY_SEC_TO_NSEC	5
53620e4edfSEtienne Carriere 
54040bc0f0SJens Wiklander /*
55040bc0f0SJens Wiklander  * Tests FS hash-tree corner cases in error handling
56040bc0f0SJens Wiklander  */
57040bc0f0SJens Wiklander #define PTA_INVOKE_TESTS_CMD_FS_HTREE		6
58040bc0f0SJens Wiklander 
595209c97aSJens Wiklander /*
605209c97aSJens Wiklander  * Tests mutex
615209c97aSJens Wiklander  *
625209c97aSJens Wiklander  * [in]  value[0].a	Test function PTA_MUTEX_TEST_*
635209c97aSJens Wiklander  * [in]  value[0].b	delay number
645209c97aSJens Wiklander  * [out] value[1].a	before lock concurency
655209c97aSJens Wiklander  * [out] value[1].b	during lock concurency
665209c97aSJens Wiklander  */
675209c97aSJens Wiklander #define PTA_MUTEX_TEST_WRITER			0
685209c97aSJens Wiklander #define PTA_MUTEX_TEST_READER			1
695209c97aSJens Wiklander #define PTA_INVOKE_TESTS_CMD_MUTEX		7
705209c97aSJens Wiklander 
71b3fd78c4SJerome Forissier /*
72b3fd78c4SJerome Forissier  * Tests lock dependency checking algorithm
73b3fd78c4SJerome Forissier  */
74b3fd78c4SJerome Forissier #define PTA_INVOKE_TESTS_CMD_LOCKDEP		8
75b3fd78c4SJerome Forissier 
7685898338SJens Wiklander /*
7785898338SJens Wiklander  * These values should match the ones in
7885898338SJens Wiklander  * optee_test/ta/aes_perf/include/ta_aes_perf.h
7985898338SJens Wiklander  */
8085898338SJens Wiklander #define PTA_INVOKE_TESTS_AES_ECB		0
8185898338SJens Wiklander #define PTA_INVOKE_TESTS_AES_CBC		1
8285898338SJens Wiklander #define PTA_INVOKE_TESTS_AES_CTR		2
8385898338SJens Wiklander #define PTA_INVOKE_TESTS_AES_XTS		3
8485898338SJens Wiklander #define PTA_INVOKE_TESTS_AES_GCM		4
8585898338SJens Wiklander 
8685898338SJens Wiklander /*
8785898338SJens Wiklander  * AES performance tests
8885898338SJens Wiklander  *
89c31a368dSMarouene Boubakri  * [in]     value[0].a	Top 16 bits Decrypt, low 16 bits key size in bits
9085898338SJens Wiklander  * [in]     value[0].b	AES mode, one of
9185898338SJens Wiklander  *			PTA_INVOKE_TESTS_AES_{ECB_NOPAD,CBC_NOPAD,CTR,XTS,GCM}
9285898338SJens Wiklander  * [in]     value[1].a	repetition count
9385898338SJens Wiklander  * [in]     value[1].b	unit size
9485898338SJens Wiklander  * [in]     memref[2]	In buffer
9585898338SJens Wiklander  * [in]     memref[3]	Out buffer
9685898338SJens Wiklander  */
9785898338SJens Wiklander #define PTA_INVOKE_TEST_CMD_AES_PERF		9
9885898338SJens Wiklander 
99b213d8bdSEtienne Carriere /*
100b213d8bdSEtienne Carriere  * NULL memory reference parameter
101b213d8bdSEtienne Carriere  *
102b213d8bdSEtienne Carriere  * [in/out] memref[0]	NULL memory reference of size zero
103b213d8bdSEtienne Carriere  */
104b213d8bdSEtienne Carriere #define PTA_INVOKE_TESTS_CMD_MEMREF_NULL	10
105b213d8bdSEtienne Carriere 
106d783b681SEtienne Carriere /*
107d783b681SEtienne Carriere  * Retrieve results of the dt_driver framework internal test
108d783b681SEtienne Carriere  */
109d783b681SEtienne Carriere #define PTA_INVOKE_TESTS_CMD_DT_DRIVER_TESTS	11
110d783b681SEtienne Carriere 
111*76d920d3SRaymond Mao /*
112*76d920d3SRaymond Mao  * Retrieve results of the transfer list internal test
113*76d920d3SRaymond Mao  */
114*76d920d3SRaymond Mao #define PTA_INVOKE_TESTS_CMD_TRANSFER_LIST_TESTS	12
115*76d920d3SRaymond Mao 
116620e4edfSEtienne Carriere #endif /*__PTA_INVOKE_TESTS_H*/
117620e4edfSEtienne Carriere 
118