xref: /rk3399_ARM-atf/include/lib/extensions/sys_reg_trace.h (revision 956201137588c99483a36df5f3fbb3dedc45a2a0)
1d4582d30SManish V Badarkhe /*
260d330dcSBoyan Karatotev  * Copyright (c) 2021-2023, Arm Limited. All rights reserved.
3d4582d30SManish V Badarkhe  *
4d4582d30SManish V Badarkhe  * SPDX-License-Identifier: BSD-3-Clause
5d4582d30SManish V Badarkhe  */
6d4582d30SManish V Badarkhe 
7d4582d30SManish V Badarkhe #ifndef SYS_REG_TRACE_H
8d4582d30SManish V Badarkhe #define SYS_REG_TRACE_H
9d4582d30SManish V Badarkhe 
10d4582d30SManish V Badarkhe #include <context.h>
11d4582d30SManish V Badarkhe 
12603a0c6fSAndre Przywara #if ENABLE_SYS_REG_TRACE_FOR_NS
1360d330dcSBoyan Karatotev 
14d4582d30SManish V Badarkhe #if __aarch64__
15*461c0a5dSElizabeth Ho void sys_reg_trace_enable_per_world(per_world_context_t *per_world_ctx);
16*461c0a5dSElizabeth Ho void sys_reg_trace_disable_per_world(per_world_context_t *per_world_ctx);
1760d330dcSBoyan Karatotev void sys_reg_trace_init_el2_unused(void);
18d4582d30SManish V Badarkhe #else
1960d330dcSBoyan Karatotev void sys_reg_trace_init_el3(void);
20d4582d30SManish V Badarkhe #endif /* __aarch64__ */
21d4582d30SManish V Badarkhe 
22603a0c6fSAndre Przywara #else /* !ENABLE_SYS_REG_TRACE_FOR_NS */
23603a0c6fSAndre Przywara 
24603a0c6fSAndre Przywara #if __aarch64__
sys_reg_trace_enable_per_world(per_world_context_t * per_world_ctx)25*461c0a5dSElizabeth Ho static inline void sys_reg_trace_enable_per_world(per_world_context_t *per_world_ctx)
26603a0c6fSAndre Przywara {
27603a0c6fSAndre Przywara }
sys_reg_trace_disable_per_world(per_world_context_t * per_world_ctx)28*461c0a5dSElizabeth Ho static inline void sys_reg_trace_disable_per_world(per_world_context_t *per_world_ctx)
2960d330dcSBoyan Karatotev {
3060d330dcSBoyan Karatotev }
sys_reg_trace_init_el2_unused(void)3160d330dcSBoyan Karatotev static inline void sys_reg_trace_init_el2_unused(void)
3260d330dcSBoyan Karatotev {
3360d330dcSBoyan Karatotev }
34603a0c6fSAndre Przywara #else
sys_reg_trace_init_el3(void)3560d330dcSBoyan Karatotev static inline void sys_reg_trace_init_el3(void)
36603a0c6fSAndre Przywara {
37603a0c6fSAndre Przywara }
38603a0c6fSAndre Przywara #endif /* __aarch64__ */
3960d330dcSBoyan Karatotev 
40603a0c6fSAndre Przywara #endif /* ENABLE_SYS_REG_TRACE_FOR_NS */
41603a0c6fSAndre Przywara 
42d4582d30SManish V Badarkhe #endif /* SYS_REG_TRACE_H */
43