virtio-queue v0.15 introduces a new Descriptor API supporting both
split and packed virtqueue.
Update our dependencies and code to work with the new version
of the crate, including updating vhost-user-backend and virtio-vsock.
Updates `vhost-user-backend` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/rust-vmm/vhost/releases)
- [Commits](rust-vmm/vhost@vhost-user-backend-v0.18.0...vhost-user-backend-v0.19.0)
Updates `virtio-queue` from 0.14.0 to 0.15.0
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases)
- [Commits](rust-vmm/vm-virtio@virtio-queue-v0.14.0...virtio-queue-v0.15.0)
Updates `virtio-vsock` from 0.8.0 to 0.9.0
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases)
- [Commits](rust-vmm/vm-virtio@virtio-vsock-v0.8.0...virtio-vsock-v0.9.0)
Signed-off-by: Wenyu Huang <huangwenyuu@outlook.com>
Some hypervisors, e.g. UML, negotiate a queue size larger than `QUEUE_SIZE`
(128), which results in failures. This patch allows users to specify it
using `--max-queue-size <size>`.
Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
For the purpose of "namespacing" them under the enum type.
While at it, move QUEUE_SIZE and NUM_QUEUES as related constants for
VhostUserConsoleBackend.
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Since we know the unknown event value, we might as well specify it in
the error message of Error::HandleEventUnknown to help users and
developers.
While at it, return an error when trying to access vrings with
`device_event` >= QUEUE_SIZE.
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
std::convert::From is included in the prelude, so no need to refer to it
by its full path.
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Human readable text for this error variant was copied from
CouldNotCreateBackend, so adjust it for its own purpose.
Fixes: c739770 ("vhost-device-console: use worker's epoll for input events")
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
The current implementation seems ready to be promoted to the
main workspace since the device supports test coverage have been
increased and the basic functionality is implemented.
Cargo.lock files both in main and staging workspaces are updated.
Support for VIRTIO_CONSOLE_F_SIZE and VIRTIO_CONSOLE_F_EMERG_WRITE
is still missing.
Signed-off-by: Timos Ampelikiotis <t.ampelikiotis@virtualopensystems.com>