aboutsummaryrefslogtreecommitdiff
path: root/common/syscntl.h
blob: 75d26375b6060be1119f5fa5a38c4c9cbef3a095 (plain)
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
#ifndef _SYSCNTL_H
#define _SYSCNTL_H

typedef struct {
     void *buf_pa;
     void *buf_va;
} smc_interop_t;

typedef struct {
    uint32_t ec;
    uint32_t iss;
    uint32_t far;
    bool log;
    uint32_t action;
    bool taken;
} sys_exception_t;

#define EXCP_ACTION_SKIP 1

#define SEC     0
#define NSEC    1

typedef struct {
    volatile int fail_count;
    volatile int test_count;
} test_control_t;

typedef struct {
    smc_interop_t smc_interop;
    sys_exception_t el3_excp;
    sys_exception_t el1_excp[2];
    uint32_t excp_action;
    bool excp_log;
    test_control_t *test_cntl;
} sys_control_t;

#endif