From 079d9024be604135ca2016e2bc63e55c013bea39 Mon Sep 17 00:00:00 2001 From: Timos Ampelikiotis Date: Tue, 9 Jan 2024 13:39:34 +0000 Subject: [PATCH] vhost-device-console: Add initial implementation The device was tested with: 1) Upstream QEMU's vhost-user-device qemu-system-x86_64 \ \ -machine ,memory-backend=mem0 \ -object memory-backend-memfd,id=mem0,size= \ # size == -m size -chardev socket,id=con0,path=/tmp/console.sock0 \ -device vhost-user-device-pci,chardev=con0,virtio-id=3,num_vqs=4,config_size=12 \ ... 2) A new QEMU vhost-user-console device which can be found in the following repo: - https://github.com/virtualopensystems/qemu/tree/vhu-console-rfc For more information, please check the README.md file under staging/vhost-device-console/. Co-authored-by: dorindabassey <53014273+dorindabassey@users.noreply.github.com> Signed-off-by: Timos Ampelikiotis --- README.md | 1 + staging/Cargo.toml | 1 + staging/coverage_config_x86_64.json | 2 +- staging/vhost-device-console/CHANGELOG.md | 15 + staging/vhost-device-console/Cargo.toml | 37 + staging/vhost-device-console/LICENSE-APACHE | 1 + .../vhost-device-console/LICENSE-BSD-3-Clause | 1 + staging/vhost-device-console/README.md | 138 ++ staging/vhost-device-console/src/backend.rs | 313 ++++ staging/vhost-device-console/src/console.rs | 44 + staging/vhost-device-console/src/main.rs | 69 + .../vhost-device-console/src/vhu_console.rs | 1283 +++++++++++++++++ .../src/virtio_console.rs | 60 + 13 files changed, 1964 insertions(+), 1 deletion(-) create mode 100644 staging/vhost-device-console/CHANGELOG.md create mode 100644 staging/vhost-device-console/Cargo.toml create mode 120000 staging/vhost-device-console/LICENSE-APACHE create mode 120000 staging/vhost-device-console/LICENSE-BSD-3-Clause create mode 100644 staging/vhost-device-console/README.md create mode 100644 staging/vhost-device-console/src/backend.rs create mode 100644 staging/vhost-device-console/src/console.rs create mode 100644 staging/vhost-device-console/src/main.rs create mode 100644 staging/vhost-device-console/src/vhu_console.rs create mode 100644 staging/vhost-device-console/src/virtio_console.rs diff --git a/README.md b/README.md index f3fb8cd..221d7d8 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Here is the list of device backends in **staging**: - [Video](https://github.com/rust-vmm/vhost-device/blob/main/staging/vhost-device-video/README.md) - [Can](https://github.com/rust-vmm/vhost-device/blob/main/staging/vhost-device-can/README.md) +- [Console](https://github.com/rust-vmm/vhost-device/blob/main/staging/vhost-device-console/README.md)