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 Hostatic 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 Hostatic 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 Karatotevstatic inline void sys_reg_trace_init_el2_unused(void) 3260d330dcSBoyan Karatotev { 3360d330dcSBoyan Karatotev } 34603a0c6fSAndre Przywara #else sys_reg_trace_init_el3(void)3560d330dcSBoyan Karatotevstatic 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