summary refs log tree commit diff stats
path: root/include/semihosting
diff options
context:
space:
mode:
authorPierrick Bouvier <pierrick.bouvier@linaro.org>2025-09-22 10:36:55 +0100
committerAlex Bennée <alex.bennee@linaro.org>2025-09-26 09:55:19 +0100
commit9e65902904cdad6d4b131b1791205ae4138c99eb (patch)
treef2ee3fbd44765baf6828c1c24243f771fee34c09 /include/semihosting
parent632308c5912aab0dfad8bc1a1cbe7b37a5e1aeec (diff)
downloadfocaccia-qemu-9e65902904cdad6d4b131b1791205ae4138c99eb.tar.gz
focaccia-qemu-9e65902904cdad6d4b131b1791205ae4138c99eb.zip
include/semihosting/common-semi: extract common_semi API
We transform target/{arm,riscv}/common-semi-target.h headers to proper
compilation units, and use them in arm-compat-semi.c.

This way, we can include only the declaration header (which is target
agnostic), and selectively link the appropriate implementation based on
current target.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20250822150058.18692-8-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20250922093711.2768983-11-alex.bennee@linaro.org>
Diffstat (limited to 'include/semihosting')
-rw-r--r--include/semihosting/common-semi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/semihosting/common-semi.h b/include/semihosting/common-semi.h
index 0a91db7c41..aa511a46f4 100644
--- a/include/semihosting/common-semi.h
+++ b/include/semihosting/common-semi.h
@@ -35,5 +35,11 @@
 #define COMMON_SEMI_H
 
 void do_common_semihosting(CPUState *cs);
+uint64_t common_semi_arg(CPUState *cs, int argno);
+void common_semi_set_ret(CPUState *cs, uint64_t ret);
+bool is_64bit_semihosting(CPUArchState *env);
+bool common_semi_sys_exit_is_extended(CPUState *cs);
+uint64_t common_semi_stack_bottom(CPUState *cs);
+bool common_semi_has_synccache(CPUArchState *env);
 
 #endif /* COMMON_SEMI_H */