[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 52/53] semihosting: Remove qemu_semihosting_console_outs
From: |
Luc Michel |
Subject: |
Re: [PATCH v4 52/53] semihosting: Remove qemu_semihosting_console_outs |
Date: |
Mon, 27 Jun 2022 10:42:19 +0200 |
User-agent: |
Mutt/1.9.4 (2018-02-28) |
On 13:45 Tue 07 Jun , Richard Henderson wrote:
> This function has been replaced by *_write.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <lmichel@kalray.eu>
> ---
> include/semihosting/console.h | 13 ----------
> linux-user/semihost.c | 17 ------------
> semihosting/console.c | 49 -----------------------------------
> 3 files changed, 79 deletions(-)
>
> diff --git a/include/semihosting/console.h b/include/semihosting/console.h
> index d6c1cc58ab..20c31d89d4 100644
> --- a/include/semihosting/console.h
> +++ b/include/semihosting/console.h
> @@ -11,19 +11,6 @@
>
> #include "cpu.h"
>
> -/**
> - * qemu_semihosting_console_outs:
> - * @env: CPUArchState
> - * @s: host address of null terminated guest string
> - *
> - * 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_outs(CPUArchState *env, target_ulong s);
> -
> /**
> * qemu_semihosting_console_read:
> * @cs: CPUState
> diff --git a/linux-user/semihost.c b/linux-user/semihost.c
> index f8bc8889f3..cee62a365c 100644
> --- a/linux-user/semihost.c
> +++ b/linux-user/semihost.c
> @@ -16,23 +16,6 @@
> #include "user-internals.h"
> #include <termios.h>
>
> -int qemu_semihosting_console_outs(CPUArchState *env, target_ulong addr)
> -{
> - int len = target_strlen(addr);
> - void *s;
> - if (len < 0){
> - qemu_log_mask(LOG_GUEST_ERROR,
> - "%s: passed inaccessible address " TARGET_FMT_lx,
> - __func__, addr);
> - return 0;
> - }
> - s = lock_user(VERIFY_READ, addr, (long)(len + 1), 1);
> - g_assert(s); /* target_strlen has already verified this will work */
> - len = write(STDERR_FILENO, s, len);
> - unlock_user(s, addr, 0);
> - return len;
> -}
> -
> /*
> * For linux-user we can safely block. However as we want to return as
> * soon as a character is read we need to tweak the termio to disable
> diff --git a/semihosting/console.c b/semihosting/console.c
> index f6fab5933a..c84ab97ab6 100644
> --- a/semihosting/console.c
> +++ b/semihosting/console.c
> @@ -47,55 +47,6 @@ int qemu_semihosting_log_out(const char *s, int len)
> }
> }
>
> -/*
> - * A re-implementation of lock_user_string that we can use locally
> - * instead of relying on softmmu-semi. Hopefully we can deprecate that
> - * in time. Copy string until we find a 0 or address error.
> - */
> -static GString *copy_user_string(CPUArchState *env, target_ulong addr)
> -{
> - CPUState *cpu = env_cpu(env);
> - GString *s = g_string_sized_new(128);
> - uint8_t c;
> -
> - do {
> - if (cpu_memory_rw_debug(cpu, addr++, &c, 1, 0) == 0) {
> - if (c) {
> - s = g_string_append_c(s, c);
> - }
> - } else {
> - qemu_log_mask(LOG_GUEST_ERROR,
> - "%s: passed inaccessible address " TARGET_FMT_lx,
> - __func__, addr);
> - break;
> - }
> - } while (c!=0);
> -
> - return s;
> -}
> -
> -static void semihosting_cb(CPUState *cs, uint64_t ret, int err)
> -{
> - if (err) {
> - qemu_log("%s: gdb console output failed (%d)", __func__, err);
> - }
> -}
> -
> -int qemu_semihosting_console_outs(CPUArchState *env, target_ulong addr)
> -{
> - GString *s = copy_user_string(env, addr);
> - int out = s->len;
> -
> - if (use_gdb_syscalls()) {
> - gdb_do_syscall(semihosting_cb, "write,2,%x,%x", addr, s->len);
> - } else {
> - out = qemu_semihosting_log_out(s->str, s->len);
> - }
> -
> - g_string_free(s, true);
> - return out;
> -}
> -
> #define FIFO_SIZE 1024
>
> static int console_can_read(void *opaque)
> --
> 2.34.1
>
>
>
>
> To declare a filtering error, please use the following link :
> https://www.security-mail.net/reporter.php?mid=29a4.629fd909.2884b.0&r=lmichel%40kalrayinc.com&s=qemu-devel-bounces%2Blmichel%3Dkalrayinc.com%40nongnu.org&o=%5BPATCH+v4+52%2F53%5D+semihosting%3A+Remove+qemu_semihosting_console_outs&verdict=C&c=8ee0b8982c8025f3b6af275d795772fa0673b149
>
--
- [PATCH v4 46/53] semihosting: Add GuestFDConsole, (continued)
- [PATCH v4 46/53] semihosting: Add GuestFDConsole, Richard Henderson, 2022/06/07
- [PATCH v4 43/53] semihosting: Expand qemu_semihosting_console_inc to read, Richard Henderson, 2022/06/07
- [PATCH v4 51/53] semihosting: Use console_out_gf for SYS_WRITE0, Richard Henderson, 2022/06/07
- [PATCH v4 50/53] semihosting: Remove qemu_semihosting_console_outc, Richard Henderson, 2022/06/07
- [PATCH v4 52/53] semihosting: Remove qemu_semihosting_console_outs, Richard Henderson, 2022/06/07
- [PATCH v4 53/53] semihosting: Create semihost_sys_poll_one, Richard Henderson, 2022/06/07
- [PATCH v4 44/53] semihosting: Cleanup chardev init, Richard Henderson, 2022/06/07