aboutsummaryrefslogtreecommitdiff
path: root/include/trustzone/kree/tz_mod.h
blob: 556a194b10390e122e1a2e08b51ae69f5df5d24b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef TZ_MOD_H
#define TZ_MOD_H


 /*****************************************************************************
 * MODULE DEFINITION
 *****************************************************************************/
#define MODULE_NAME	    "[MTEE_MOD]"
#define TZ_DEV_NAME        "trustzone"
#define MAJOR_DEV_NUM   197

 /*****************************************************************************
 * IOCTL DEFINITION
 *****************************************************************************/
#define MTEE_IOC_MAGIC       'T'
#define MTEE_CMD_OPEN_SESSION   _IOWR(MTEE_IOC_MAGIC,  1, struct kree_session_cmd_param)
#define MTEE_CMD_CLOSE_SESSION  _IOWR(MTEE_IOC_MAGIC,  2, struct kree_session_cmd_param)
#define MTEE_CMD_TEE_SERVICE    _IOWR(MTEE_IOC_MAGIC,  3, struct kree_tee_service_cmd_param)
#define MTEE_CMD_SHM_REG        _IOWR(MTEE_IOC_MAGIC,  4, struct kree_tee_service_cmd_param)
#define MTEE_CMD_SHM_UNREG      _IOWR(MTEE_IOC_MAGIC,  5, struct kree_tee_service_cmd_param)


#define DEV_IOC_MAXNR       (10)

// param for open/close session
struct kree_session_cmd_param
{
    int ret;
    int handle;
    void *data;
};

// param for tee service call
struct kree_tee_service_cmd_param
{
    int ret;
    int handle;
    unsigned int command;
    unsigned int paramTypes;
    void *param;
};

// param for shared memory
struct kree_sharedmemory_cmd_param
{
    int ret;
    uint32_t session;
    uint32_t mem_handle;
    uint32_t command;
    void *buffer;
    uint32_t size;
    uint32_t control; // 0 = write, 1 = read only
};



#endif /* end of DEVFINO_H */