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: Alex Bennée
Subject: Re: [PATCH v1 1/2] semihosting: defer connect_chardevs a little more to use serialx
Date: Thu, 16 Jul 2020 11:14:00 +0100
User-agent: mu4e 1.5.4; emacs 28.0.50

Fred Konrad <konrad@adacore.com> writes:

> Le 6/26/20 à 12:06 PM, Fred Konrad a écrit :
>> 
>> 
>> 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.
>
> Does that make sense?  BTW the second patch fixes a bug, it might be 
> interesting
> to have it in 5.1.

Right - can confirm the difference between:

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

and

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

is where the data ends up. I've slightly amended the commit message for
the 1/1 to make it clearer.

Queued to for-5.1/fixes-for-rc1, thanks.

>
> Cheers,
> Fred
>
>> 
>>>
>>>>
>>>> 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);
>>>
>>>


-- 
Alex Bennée



reply via email to

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