summary refs log tree commit diff stats
path: root/include/hw/semihosting/console.h
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2019-05-30 15:35:14 +0100
committerAlex Bennée <alex.bennee@linaro.org>2019-06-12 17:53:22 +0100
commit78e24848f6a2923f356d15d8751c644f94a39fd8 (patch)
treef9a6d5636870a08f820e9186ade7738dd656487f /include/hw/semihosting/console.h
parent3ace9be6d267b2f876ebb34096fe5d9b64a82d9a (diff)
downloadfocaccia-qemu-78e24848f6a2923f356d15d8751c644f94a39fd8.tar.gz
focaccia-qemu-78e24848f6a2923f356d15d8751c644f94a39fd8.zip
semihosting: split console_out into string and char versions
This is ostensibly to avoid the weirdness of len looking like it might
come from a guest and sometimes being used. While we are at it fix up
the error checking for the arm-linux-user implementation of the API
which got flagged up by Coverity (CID 1401700).

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'include/hw/semihosting/console.h')
-rw-r--r--include/hw/semihosting/console.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/include/hw/semihosting/console.h b/include/hw/semihosting/console.h
index 9eb45b7c53..cfab572c0c 100644
--- a/include/hw/semihosting/console.h
+++ b/include/hw/semihosting/console.h
@@ -10,17 +10,30 @@
 #define SEMIHOST_CONSOLE_H
 
 /**
- * qemu_semihosting_console_out:
+ * qemu_semihosting_console_outs:
  * @env: CPUArchState
- * @s: host address of guest string
- * @len: length of string or 0 (string is null terminated)
+ * @s: host address of null terminated guest string
  *
- * Send a guest string to the debug console. This may be the remote
- * gdb session if a softmmu guest is currently being debugged.
+ * Send a null terminated guest string to the debug console. This may
+ * be the remote gdb session if a softmmu guest is currently being
+ * debugged.
  *
  * Returns: number of bytes written.
  */
-int qemu_semihosting_console_out(CPUArchState *env, target_ulong s, int len);
+int qemu_semihosting_console_outs(CPUArchState *env, target_ulong s);
+
+/**
+ * qemu_semihosting_console_outc:
+ * @env: CPUArchState
+ * @s: host address of null terminated guest string
+ *
+ * Send single character from guest memory to the debug console. This
+ * may be the remote gdb session if a softmmu guest is currently being
+ * debugged.
+ *
+ * Returns: nothing
+ */
+void qemu_semihosting_console_outc(CPUArchState *env, target_ulong c);
 
 /**
  * qemu_semihosting_log_out: