diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2019-05-30 15:35:14 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2019-06-12 17:53:22 +0100 |
commit | 78e24848f6a2923f356d15d8751c644f94a39fd8 (patch) | |
tree | f9a6d5636870a08f820e9186ade7738dd656487f /include/hw/semihosting | |
parent | 3ace9be6d267b2f876ebb34096fe5d9b64a82d9a (diff) |
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')
-rw-r--r-- | include/hw/semihosting/console.h | 25 |
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: |