diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2019-05-13 21:49:43 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2019-05-28 10:28:50 +0100 |
commit | a331c6d774123fd3fdb916e58539920727dd2cbd (patch) | |
tree | 250a372269d6e844a5b2bfcc623a7875f300317c /include | |
parent | 16932bb761e52c2ca9397b57af5bdc5bdc5ae6a4 (diff) |
semihosting: implement a semihosting console
This provides two functions for handling console output that handle
the common backend behaviour for semihosting.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/semihosting/console.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/hw/semihosting/console.h b/include/hw/semihosting/console.h new file mode 100644 index 0000000000..30e66ae20a --- /dev/null +++ b/include/hw/semihosting/console.h @@ -0,0 +1,38 @@ +/* + * Semihosting Console + * + * Copyright (c) 2019 Linaro Ltd + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef _SEMIHOST_CONSOLE_H_ +#define _SEMIHOST_CONSOLE_H_ + +/** + * qemu_semihosting_console_out: + * @env: CPUArchState + * @s: host address of guest string + * @len: length of string or 0 (string is null terminated) + * + * Send a 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); + +/** + * qemu_semihosting_log_out: + * @s: pointer to string + * @len: length of string + * + * Send a string to the debug output. Unlike console_out these strings + * can't be sent to a remote gdb instance as they don't exist in guest + * memory. + * + * Returns: number of bytes written + */ +int qemu_semihosting_log_out(const char *s, int len); + +#endif /* _SEMIHOST_CONSOLE_H_ */ |