[Differential] D7185: Add virtio-console support to bhyve

Jakub Klama jakub.klama at uj.edu.pl
Mon Jul 11 21:59:17 UTC 2016


> Wiadomość napisana przez Peter Grehan <grehan at freebsd.org> w dniu 11.07.2016, o godz. 23:52:
> 
> Hi Jakub,
> 
>> The purpose of virtio-console is to create arbitrary bidirectional,
>> host-to-guest communication channels that bypass guest's network
>> stack (don't require working networking in the guest).
> 
> Could virtio-vsock be a better solution for this ? Docker's hyperkit has an implementation, though it appears Linux guest support is very recent.
>   https://github.com/docker/hyperkit/blob/af-vsock/src/pci_virtio_sock.c

virtio-vsock is indeed nice, but guest support is virtually missing. Also, I do think a simple, bidirectional host-to-guest pipe suits just fine for most scenarios where hypervisor wants to control guest or vice versa. Let's do simple things first.

>> But even for
>> using it as the system console, it's a bit better than emulated
>> serial port, because the protocol supports passing console resize
>> events from host to guest.
> 
> It makes for an excellent serial port since it uses descriptor rings for data transfer, but the lack of a simple polled-mode operation (unless the emergency support is used) isn't the best for a system console.

Let me put emergency write support in there. It's just few lines of code.

Jakub


More information about the freebsd-virtualization mailing list