[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [RFC PATCH 10/11] target/mips: convert UHI_p
From: |
Aleksandar Markovic |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [RFC PATCH 10/11] target/mips: convert UHI_plog to use common semihosting code |
Date: |
Mon, 20 May 2019 17:53:20 +0200 |
On May 14, 2019 6:02 PM, "Alex Bennée" <address@hidden> wrote:
>
> Rather than printing directly to stdout lets use our common
> semihosting code. There is one minor difference in that the output
> currently defaults to stderr instead of stdout however this can be
> controlled by connecting semihosting to a chardev.
>
> Signed-off-by: Alex Bennée <address@hidden>
> ---
Reviewed-by: Aleksandar Markovic <address@hidden>
> target/mips/mips-semi.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/target/mips/mips-semi.c b/target/mips/mips-semi.c
> index eac8374fb34..35bdfd7c77e 100644
> --- a/target/mips/mips-semi.c
> +++ b/target/mips/mips-semi.c
> @@ -23,6 +23,7 @@
> #include "exec/helper-proto.h"
> #include "exec/softmmu-semi.h"
> #include "hw/semihosting/semihost.h"
> +#include "hw/semihosting/console.h"
>
> typedef enum UHIOp {
> UHI_exit = 1,
> @@ -329,13 +330,12 @@ void helper_do_semihosting(CPUMIPSState *env)
> p2 = strstr(p, "%d");
> if (p2) {
> int char_num = p2 - p;
> - char *buf = g_malloc(char_num + 1);
> - strncpy(buf, p, char_num);
> - buf[char_num] = '\0';
> - gpr[2] = printf("%s%d%s", buf, (int)gpr[5], p2 + 2);
> - g_free(buf);
> + GString *s = g_string_new_len(p, char_num);
> + g_string_append_printf(s, "%d%s", (int)gpr[5], p2 + 2);
> + gpr[2] = qemu_semihosting_log_out(s->str, s->len);
> + g_string_free(s, true);
> } else {
> - gpr[2] = printf("%s", p);
> + gpr[2] = qemu_semihosting_log_out(p, strlen(p));
> }
> FREE_TARGET_STRING(p, gpr[4]);
> break;
> --
> 2.20.1
>
>
- [Qemu-arm] [RFC PATCH 02/11] semihosting: introduce CONFIG_SEMIHOSTING, (continued)
- [Qemu-arm] [RFC PATCH 02/11] semihosting: introduce CONFIG_SEMIHOSTING, Alex Bennée, 2019/05/14
- [Qemu-arm] [RFC PATCH 03/11] semihosting: implement a semihosting console, Alex Bennée, 2019/05/14
- [Qemu-arm] [RFC PATCH 04/11] semihosting: enable chardev backed output for console, Alex Bennée, 2019/05/14
- [Qemu-arm] [RFC PATCH 07/11] target/arm: add LOG_UNIMP messages to arm-semi, Alex Bennée, 2019/05/14
- [Qemu-arm] [RFC PATCH 09/11] target/mips: only build mips-semi for softmmu, Alex Bennée, 2019/05/14
- [Qemu-arm] [RFC PATCH 10/11] target/mips: convert UHI_plog to use common semihosting code, Alex Bennée, 2019/05/14
- Re: [Qemu-arm] [Qemu-devel] [RFC PATCH 10/11] target/mips: convert UHI_plog to use common semihosting code,
Aleksandar Markovic <=
- [Qemu-arm] [RFC PATCH 01/11] semihosting: move semihosting configuration into its own directory, Alex Bennée, 2019/05/14
- [Qemu-arm] [RFC PATCH 06/11] target/arm: use the common interface for WRITE0/WRITEC in arm-semi, Alex Bennée, 2019/05/14