We will shortly need this function in mte_helper.c. It's also a bit too large for inlining, for something that is on an exceptional path.
Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- target/arm/internals.h | 4 ++++ target/arm/tlb_helper.c | 8 +++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index ae99725d2b..967d1319de 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -500,6 +500,10 @@ static inline uint32_t syn_wfx(int cv, int cond, int ti, bool is_16bit) (cv << 24) | (cond << 20) | ti; } +uint32_t merge_syn_data_abort(uint32_t template_syn, unsigned int target_el, + bool same_el, bool ea, bool s1ptw, + bool is_write, int fsc); + /* Update a QEMU watchpoint based on the information the guest has set in the * DBGWCR<n>_EL1 and DBGWVR<n>_EL1 registers. */ diff --git a/target/arm/tlb_helper.c b/target/arm/tlb_helper.c index b35dc8a011..e8cf39f7d9 100644 --- a/target/arm/tlb_helper.c +++ b/target/arm/tlb_helper.c @@ -10,11 +10,9 @@ #include "internals.h" #include "exec/exec-all.h" -static inline uint32_t merge_syn_data_abort(uint32_t template_syn, - unsigned int target_el, - bool same_el, bool ea, - bool s1ptw, bool is_write, - int fsc) +uint32_t merge_syn_data_abort(uint32_t template_syn, unsigned int target_el, + bool same_el, bool ea, bool s1ptw, + bool is_write, int fsc) { uint32_t syn; -- 2.25.1