diff options
author | Andre Przywara <andre.przywara@arm.com> | 2022-11-17 16:42:09 +0000 |
---|---|---|
committer | Andre Przywara <andre.przywara@arm.com> | 2023-03-22 13:33:22 +0000 |
commit | 603a0c6faef4194bd58fd2104971e4100648ed1c (patch) | |
tree | ac38eac04820a0536508f35f615f68ff2ad92f71 /include/lib | |
parent | d7f3ed3655b85223583d8c2d9e719f364266ef26 (diff) | |
download | arm-trusted-firmware-603a0c6faef4194bd58fd2104971e4100648ed1c.tar.gz |
refactor(cpufeat): enable SYS_REG_TRACE for FEAT_STATE_CHECKED
At the moment we only support access to the trace unit by system
registers (SYS_REG_TRACE) to be either unconditionally compiled in, or
to be not supported at all.
Add support for runtime detection (ENABLE_SYS_REG_TRACE_FOR_NS=2), by
adding is_feat_sys_reg_trace_supported(). That function considers both
build time settings and runtime information (if needed), and is used
before we access SYS_REG_TRACE related registers.
The FVP platform decided to compile in support unconditionally (=1),
even though this is an optional feature, so it is not available with the
FVP model's default command line.
Change that to the now supported dynamic option (=2), so the right
decision can be made by the code at runtime.
Change-Id: I450a574a4f6bd9fc269887037049c94c906f54b2
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Diffstat (limited to 'include/lib')
-rw-r--r-- | include/lib/extensions/sys_reg_trace.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/lib/extensions/sys_reg_trace.h b/include/lib/extensions/sys_reg_trace.h index 74470fee2..5915c5547 100644 --- a/include/lib/extensions/sys_reg_trace.h +++ b/include/lib/extensions/sys_reg_trace.h @@ -9,10 +9,24 @@ #include <context.h> +#if ENABLE_SYS_REG_TRACE_FOR_NS #if __aarch64__ void sys_reg_trace_enable(cpu_context_t *context); #else void sys_reg_trace_enable(void); #endif /* __aarch64__ */ +#else /* !ENABLE_SYS_REG_TRACE_FOR_NS */ + +#if __aarch64__ +static inline void sys_reg_trace_enable(cpu_context_t *context) +{ +} +#else +static inline void sys_reg_trace_enable(void) +{ +} +#endif /* __aarch64__ */ +#endif /* ENABLE_SYS_REG_TRACE_FOR_NS */ + #endif /* SYS_REG_TRACE_H */ |