diff options
author | Richard Henderson | 2022-05-02 03:02:53 +0200 |
---|---|---|
committer | Richard Henderson | 2022-06-28 01:10:47 +0200 |
commit | 7281550cfb30738f0d4bc5113e92780b8a38ec78 (patch) | |
tree | 5246c45eaf68b4db4cede4898010c749d97d12c6 /semihosting | |
parent | semihosting: Remove qemu_semihosting_console_outc (diff) | |
download | qemu-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.c | 11 |
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: |