qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 1/2] semihosting: defer connect_chardevs a little more to


From: Fred Konrad
Subject: Re: [PATCH v1 1/2] semihosting: defer connect_chardevs a little more to use serialx
Date: Fri, 26 Jun 2020 12:06:44 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0



Le 6/16/20 à 4:52 PM, Alex Bennée a écrit :

konrad@adacore.com writes:

From: KONRAD Frederic <frederic.konrad@adacore.com>

With that we can just use chardev=serial0.

I don't quite follow what this means.

./aarch64-softmmu/qemu-system-aarch64 -cpu max -monitor none -chardev=serial0 
-M virt -display none -semihosting -kernel ./tests/tcg/aarch64-softmmu/memory
qemu-system-aarch64: -chardev=serial0: invalid option

./aarch64-softmmu/qemu-system-aarch64 -cpu max -monitor none -chardev 
id=serial0 -M virt -display none -semihosting -kernel 
./tests/tcg/aarch64-softmmu/memory
qemu-system-aarch64: -chardev id=serial0: chardev: "serial0" missing backend

The run:

./aarch64-softmmu/qemu-system-aarch64 -cpu max -serial mon:stdio -M virt 
-display none -semihosting -kernel ./tests/tcg/aarch64-softmmu/memory

works fine without this patch.

Hi Alex, and sorry for the delay,

I meant `-semihosting-config chardev=serial0`.  I suspect your last command-line
will print any string sent to semihosting to stderr by default.



Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
---
  softmmu/vl.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index f669c06..9b8b48a 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -4123,8 +4123,6 @@ void qemu_init(int argc, char **argv, char **envp)
qemu_opts_foreach(qemu_find_opts("chardev"),
                        chardev_init_func, NULL, &error_fatal);
-    /* now chardevs have been created we may have semihosting to connect */
-    qemu_semihosting_connect_chardevs();
#ifdef CONFIG_VIRTFS
      qemu_opts_foreach(qemu_find_opts("fsdev"),
@@ -4271,6 +4269,9 @@ void qemu_init(int argc, char **argv, char **envp)
      if (foreach_device_config(DEV_DEBUGCON, debugcon_parse) < 0)
          exit(1);
+ /* now chardevs have been created we may have semihosting to connect */
+    qemu_semihosting_connect_chardevs();
+
      /* If no default VGA is requested, the default is "none".  */
      if (default_vga) {
          vga_model = get_default_vga_model(machine_class);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]