Re: [PATCH 0/1] virtio: add driver for virtio_console devices

2023-06-18 Thread Bin Meng
Hi Paul,

On Wed, Jun 14, 2023 at 1:36 AM Ying-Chun Liu (PaulLiu)
 wrote:
>
>
>
> On 2023/6/9 17:27, Bin Meng wrote:
> > Hi,
> >
> > On Tue, Jun 6, 2023 at 9:26 PM Ying-Chun Liu (PaulLiu)
> >  wrote:
> >>
> >> This is an implementation of single-character virtio-console. Part of the
> >> patch is based on barebox implementations.
> >>
> >> To test the patch, we can build qemu_arm64_defconfig target. Enable
> >> CONFIG_VIRTIO_CONSOLE. And run qemu-system-aarch64 with
> >>   -device virtio-serial-pci,id=virtio-serial0 \
> >>   -chardev file,id=charconsole0,path=/tmp/serialconsolelog \
> >>   -device virtconsole,chardev=charconsole0,id=console0 \
> >>
> >
> > With this command, it still uses the on-board UART but not
> > virtio-console. Would you please post test instructions on using
> > virtio-console as the U-Boot serial console? Thanks!
> >
>
> Hi Bin,
>
> Yes. The way to test this is.
> I compile U-boot for qemu_arm64_defconfig
> Enable the following configs manually.
> CONFIG_VIRTIO_CONSOLE=y
> CONFIG_CONSOLE_MUX=y
> CONFIG_SYS_CONSOLE_IS_IN_ENV=y
>
> Now run qemu with the following commands.
> qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
> -device virtio-serial-pci,id=virtio-serial0 \
> -chardev file,id=charconsole0,path=/tmp/serialconsolelog \
> -device virtconsole,chardev=charconsole0,id=console0 \
> -bios /tmp/uboot-qemu-clang/u-boot.bin
>
> In U-boot prompt,
> we run
> 1. virtio scan
> 2. coninfo
> In coninfo, we can see there is a new console device called virtio-console#XX
> Then.
> 3. setenv stdout pl011@900,virtio-console#XX
> And then all the output will also be output to /tmp/serialconsolelog on host.
>
> This is the minimum example of testing the driver.
> If we want to test it more then we might need to modify the -chardev to not 
> use a file.
> For example, we can use a telnet server.
> -chardev socket,id=charconsole0,host=127.0.0.1,port=10023,telnet=on,server
>
> After set stdin and stdout to pl011@900,virtio-console#XX
> We can use "telnet localhost 10023" to access the U-boot prompt in qemu.
>

Thanks for the instructions. Is it possible to test the virtio-console
driver as the U-Boot boot console?

I suspect we need to add the DM_FLAG_PRE_RELOC flag here and there in
the virtio subsystem?

Regards,
Bin


Re: [PATCH 0/1] virtio: add driver for virtio_console devices

2023-06-13 Thread Ying-Chun Liu (PaulLiu)




On 2023/6/9 17:27, Bin Meng wrote:

Hi,

On Tue, Jun 6, 2023 at 9:26 PM Ying-Chun Liu (PaulLiu)
 wrote:


This is an implementation of single-character virtio-console. Part of the
patch is based on barebox implementations.

To test the patch, we can build qemu_arm64_defconfig target. Enable
CONFIG_VIRTIO_CONSOLE. And run qemu-system-aarch64 with
  -device virtio-serial-pci,id=virtio-serial0 \
  -chardev file,id=charconsole0,path=/tmp/serialconsolelog \
  -device virtconsole,chardev=charconsole0,id=console0 \



With this command, it still uses the on-board UART but not
virtio-console. Would you please post test instructions on using
virtio-console as the U-Boot serial console? Thanks!



Hi Bin,

Yes. The way to test this is.
I compile U-boot for qemu_arm64_defconfig
Enable the following configs manually.
CONFIG_VIRTIO_CONSOLE=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_CONSOLE_IS_IN_ENV=y

Now run qemu with the following commands.
qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
-device virtio-serial-pci,id=virtio-serial0 \
-chardev file,id=charconsole0,path=/tmp/serialconsolelog \
-device virtconsole,chardev=charconsole0,id=console0 \
-bios /tmp/uboot-qemu-clang/u-boot.bin

In U-boot prompt,
we run
1. virtio scan
2. coninfo
In coninfo, we can see there is a new console device called virtio-console#XX
Then.
3. setenv stdout pl011@900,virtio-console#XX
And then all the output will also be output to /tmp/serialconsolelog on host.

This is the minimum example of testing the driver.
If we want to test it more then we might need to modify the -chardev to not use 
a file.
For example, we can use a telnet server.
-chardev socket,id=charconsole0,host=127.0.0.1,port=10023,telnet=on,server

After set stdin and stdout to pl011@900,virtio-console#XX
We can use "telnet localhost 10023" to access the U-boot prompt in qemu.

Yours,
Paul



Re: [PATCH 0/1] virtio: add driver for virtio_console devices

2023-06-09 Thread Bin Meng
Hi,

On Tue, Jun 6, 2023 at 9:26 PM Ying-Chun Liu (PaulLiu)
 wrote:
>
> This is an implementation of single-character virtio-console. Part of the
> patch is based on barebox implementations.
>
> To test the patch, we can build qemu_arm64_defconfig target. Enable
> CONFIG_VIRTIO_CONSOLE. And run qemu-system-aarch64 with
>  -device virtio-serial-pci,id=virtio-serial0 \
>  -chardev file,id=charconsole0,path=/tmp/serialconsolelog \
>  -device virtconsole,chardev=charconsole0,id=console0 \
>

With this command, it still uses the on-board UART but not
virtio-console. Would you please post test instructions on using
virtio-console as the U-Boot serial console? Thanks!

> When in U-boot console, type "dm tree" and we should be able to see the
> virtio-console device.
>
> A. Cody Schuffelen (1):
>   virtio: add driver for virtio_console devices
>
>  drivers/virtio/Kconfig  |   8 ++
>  drivers/virtio/Makefile |   1 +
>  drivers/virtio/virtio-uclass.c  |   1 +
>  drivers/virtio/virtio_console.c | 158 
>  include/virtio.h|   2 +
>  5 files changed, 170 insertions(+)
>  create mode 100644 drivers/virtio/virtio_console.c
>
> --

Regards,
Bin


[PATCH 0/1] virtio: add driver for virtio_console devices

2023-06-06 Thread Ying-Chun Liu (PaulLiu)
This is an implementation of single-character virtio-console. Part of the
patch is based on barebox implementations.

To test the patch, we can build qemu_arm64_defconfig target. Enable
CONFIG_VIRTIO_CONSOLE. And run qemu-system-aarch64 with
 -device virtio-serial-pci,id=virtio-serial0 \
 -chardev file,id=charconsole0,path=/tmp/serialconsolelog \
 -device virtconsole,chardev=charconsole0,id=console0 \

When in U-boot console, type "dm tree" and we should be able to see the
virtio-console device.

A. Cody Schuffelen (1):
  virtio: add driver for virtio_console devices

 drivers/virtio/Kconfig  |   8 ++
 drivers/virtio/Makefile |   1 +
 drivers/virtio/virtio-uclass.c  |   1 +
 drivers/virtio/virtio_console.c | 158 
 include/virtio.h|   2 +
 5 files changed, 170 insertions(+)
 create mode 100644 drivers/virtio/virtio_console.c

-- 
2.39.2