mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
target/arm: use the common interface for WRITE0/WRITEC in arm-semi
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>
This commit is contained in:
parent
4cb28db99b
commit
0dc077212f
3 changed files with 30 additions and 25 deletions
|
@ -6,4 +6,6 @@ obj-y = main.o syscall.o strace.o mmap.o signal.o \
|
|||
obj-$(TARGET_HAS_BFLT) += flatload.o
|
||||
obj-$(TARGET_I386) += vm86.o
|
||||
obj-$(TARGET_ARM) += arm/nwfpe/
|
||||
obj-$(TARGET_ARM) += arm/semihost.o
|
||||
obj-$(TARGET_AARCH64) += arm/semihost.o
|
||||
obj-$(TARGET_M68K) += m68k-sim.o
|
||||
|
|
24
linux-user/arm/semihost.c
Normal file
24
linux-user/arm/semihost.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* 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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue