Skip to content
Snippets Groups Projects
Commit cd66f20f authored by Richard Henderson's avatar Richard Henderson
Browse files

semihosting: Create qemu_semihosting_console_write


Will replace qemu_semihosting_console_{outs,outc},
but we need more plumbing first.

Reviewed-by: default avatarLuc Michel <lmichel@kalray.eu>
Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
parent fb08790b
No related branches found
No related tags found
No related merge requests found
......@@ -54,6 +54,18 @@ void qemu_semihosting_console_outc(CPUArchState *env, target_ulong c);
*/
int qemu_semihosting_console_read(CPUState *cs, void *buf, int len);
/**
* qemu_semihosting_console_write:
* @buf: host buffer
* @len: buffer size
*
* Write len bytes from buf to the debug console.
*
* Returns: number of bytes written -- this should only ever be short
* on some sort of i/o error.
*/
int qemu_semihosting_console_write(void *buf, int len);
/**
* qemu_semihosting_log_out:
* @s: pointer to string
......
......@@ -76,3 +76,8 @@ int qemu_semihosting_console_read(CPUState *cs, void *buf, int len)
return ret;
}
int qemu_semihosting_console_write(void *buf, int len)
{
return fwrite(buf, 1, len, stderr);
}
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment