Now we have a common semihosting console interface use that for our string output. However ARM is currently unique in also supporting semihosting for linux-user so we need to replicate the API in linux-user. If other architectures gain this support we can move the file later. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
25 lines
617 B
C
25 lines
617 B
C
/*
|
|
* ARM Semihosting Console Support
|
|
*
|
|
* Copyright (c) 2019 Linaro Ltd
|
|
*
|
|
* Currently ARM is unique in having support for semihosting support
|
|
* in linux-user. So for now we implement the common console API but
|
|
* just for arm linux-user.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "cpu.h"
|
|
#include "hw/semihosting/console.h"
|
|
#include "qemu.h"
|
|
|
|
int qemu_semihosting_console_out(CPUArchState *env, target_ulong addr, int len)
|
|
{
|
|
void *s = lock_user_string(addr);
|
|
len = write(STDERR_FILENO, s, len ? len : strlen(s));
|
|
unlock_user(s, addr, 0);
|
|
return len;
|
|
}
|