Le 6/16/20 à 4:52 PM, Alex Bennée a écrit :
kon...@adacore.com writes:
From: KONRAD Frederic <frederic.kon...@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.kon...@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);