1 /*
2  * Copyright (c) 2021-2023, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SYS_REG_TRACE_H
8 #define SYS_REG_TRACE_H
9 
10 #include <context.h>
11 
12 #if ENABLE_SYS_REG_TRACE_FOR_NS
13 
14 #if __aarch64__
15 void sys_reg_trace_enable_per_world(per_world_context_t *per_world_ctx);
16 void sys_reg_trace_disable_per_world(per_world_context_t *per_world_ctx);
17 void sys_reg_trace_init_el2_unused(void);
18 #else
19 void sys_reg_trace_init_el3(void);
20 #endif /* __aarch64__ */
21 
22 #else /* !ENABLE_SYS_REG_TRACE_FOR_NS */
23 
24 #if __aarch64__
sys_reg_trace_enable_per_world(per_world_context_t * per_world_ctx)25 static inline void sys_reg_trace_enable_per_world(per_world_context_t *per_world_ctx)
26 {
27 }
sys_reg_trace_disable_per_world(per_world_context_t * per_world_ctx)28 static inline void sys_reg_trace_disable_per_world(per_world_context_t *per_world_ctx)
29 {
30 }
sys_reg_trace_init_el2_unused(void)31 static inline void sys_reg_trace_init_el2_unused(void)
32 {
33 }
34 #else
sys_reg_trace_init_el3(void)35 static inline void sys_reg_trace_init_el3(void)
36 {
37 }
38 #endif /* __aarch64__ */
39 
40 #endif /* ENABLE_SYS_REG_TRACE_FOR_NS */
41 
42 #endif /* SYS_REG_TRACE_H */
43