summaryrefslogtreecommitdiffstats
path: root/semihosting
diff options
context:
space:
mode:
authorRichard Henderson2022-05-02 03:02:53 +0200
committerRichard Henderson2022-06-28 01:10:47 +0200
commit7281550cfb30738f0d4bc5113e92780b8a38ec78 (patch)
tree5246c45eaf68b4db4cede4898010c749d97d12c6 /semihosting
parentsemihosting: Remove qemu_semihosting_console_outc (diff)
downloadqemu-7281550cfb30738f0d4bc5113e92780b8a38ec78.tar.gz
qemu-7281550cfb30738f0d4bc5113e92780b8a38ec78.tar.xz
qemu-7281550cfb30738f0d4bc5113e92780b8a38ec78.zip
semihosting: Use console_out_gf for SYS_WRITE0
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'semihosting')
-rw-r--r--semihosting/arm-compat-semi.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c
index d61b773f98..1a1e2a6960 100644
--- a/semihosting/arm-compat-semi.c
+++ b/semihosting/arm-compat-semi.c
@@ -437,8 +437,15 @@ void do_common_semihosting(CPUState *cs)
break;
case TARGET_SYS_WRITE0:
- ret = qemu_semihosting_console_outs(env, args);
- common_semi_set_ret(cs, ret);
+ {
+ ssize_t len = target_strlen(args);
+ if (len < 0) {
+ common_semi_dead_cb(cs, -1, EFAULT);
+ } else {
+ semihost_sys_write_gf(cs, common_semi_dead_cb,
+ &console_out_gf, args, len);
+ }
+ }
break;
case TARGET_SYS_WRITE: