summaryrefslogtreecommitdiffstats
path: root/semihosting
diff options
context:
space:
mode:
authorRichard Henderson2022-05-01 21:42:37 +0200
committerRichard Henderson2022-06-28 01:05:52 +0200
commitcd66f20f614bb492e4e5be11e4b65d58b4a046ca (patch)
tree52b91ede9cb6138a2629ee1d826af4a8ac2b3814 /semihosting
parentsemihosting: Cleanup chardev init (diff)
downloadqemu-cd66f20f614bb492e4e5be11e4b65d58b4a046ca.tar.gz
qemu-cd66f20f614bb492e4e5be11e4b65d58b4a046ca.tar.xz
qemu-cd66f20f614bb492e4e5be11e4b65d58b4a046ca.zip
semihosting: Create qemu_semihosting_console_write
Will replace qemu_semihosting_console_{outs,outc}, but we need more plumbing first. Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'semihosting')
-rw-r--r--semihosting/console.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/semihosting/console.c b/semihosting/console.c
index 1d16a290c4..540aa0cd4b 100644
--- a/semihosting/console.c
+++ b/semihosting/console.c
@@ -169,6 +169,15 @@ int qemu_semihosting_console_read(CPUState *cs, void *buf, int len)
return ret;
}
+int qemu_semihosting_console_write(void *buf, int len)
+{
+ if (console.chr) {
+ return qemu_chr_write_all(console.chr, (uint8_t *)buf, len);
+ } else {
+ return fwrite(buf, 1, len, stderr);
+ }
+}
+
void qemu_semihosting_console_init(Chardev *chr)
{
console.chr = chr;