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)25static 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)28static inline void sys_reg_trace_disable_per_world(per_world_context_t *per_world_ctx) 29 { 30 } sys_reg_trace_init_el2_unused(void)31static inline void sys_reg_trace_init_el2_unused(void) 32 { 33 } 34 #else sys_reg_trace_init_el3(void)35static 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