1d4582d30SManish V Badarkhe /* 2*60d330dcSBoyan 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 13*60d330dcSBoyan Karatotev 14d4582d30SManish V Badarkhe #if __aarch64__ 15d4582d30SManish V Badarkhe void sys_reg_trace_enable(cpu_context_t *context); 16*60d330dcSBoyan Karatotev void sys_reg_trace_init_el2_unused(void); 17d4582d30SManish V Badarkhe #else 18*60d330dcSBoyan Karatotev void sys_reg_trace_init_el3(void); 19d4582d30SManish V Badarkhe #endif /* __aarch64__ */ 20d4582d30SManish V Badarkhe 21603a0c6fSAndre Przywara #else /* !ENABLE_SYS_REG_TRACE_FOR_NS */ 22603a0c6fSAndre Przywara 23603a0c6fSAndre Przywara #if __aarch64__ 24603a0c6fSAndre Przywara static inline void sys_reg_trace_enable(cpu_context_t *context) 25603a0c6fSAndre Przywara { 26603a0c6fSAndre Przywara } 27*60d330dcSBoyan Karatotev static inline void sys_reg_trace_disable(cpu_context_t *context) 28*60d330dcSBoyan Karatotev { 29*60d330dcSBoyan Karatotev } 30*60d330dcSBoyan Karatotev static inline void sys_reg_trace_init_el2_unused(void) 31*60d330dcSBoyan Karatotev { 32*60d330dcSBoyan Karatotev } 33603a0c6fSAndre Przywara #else 34*60d330dcSBoyan Karatotev static inline void sys_reg_trace_init_el3(void) 35603a0c6fSAndre Przywara { 36603a0c6fSAndre Przywara } 37603a0c6fSAndre Przywara #endif /* __aarch64__ */ 38*60d330dcSBoyan Karatotev 39603a0c6fSAndre Przywara #endif /* ENABLE_SYS_REG_TRACE_FOR_NS */ 40603a0c6fSAndre Przywara 41d4582d30SManish V Badarkhe #endif /* SYS_REG_TRACE_H */ 42