Add tests to validate processing of descriptors and read/write data. The design is based on the virtio_queue::mock::MockSplitQueue implementation, which is used to add a set of descriptors to the memory. The same memory is then processed via DescriptorChain and the same set of descriptors magically appear. This patch adds various tests for success and failure and also validate the data read or written. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> |
||
|---|---|---|
| .cargo | ||
| .github | ||
| rust-vmm-ci@aee82cf0a4 | ||
| src/i2c | ||
| .gitignore | ||
| .gitmodules | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CODEOWNERS | ||
| coverage_config_x86_64.json | ||
| LICENSE-APACHE | ||
| README.md | ||
vhost-device
Design
This repository hosts various 'vhost-user' device backends in their own crates. See their individual README.md files for specific information about those crates.
Here is the list of device backends that we support:
Separation of Concerns
The binaries built by this repository can be run with any VMM which can act as a vhost-user master. Typically they have been tested with QEMU although the rust-vmm project does provide a vhost-user master crate for rust based VMMs.
While it's possible to implement all parts of the backend inside the vhost-device workspace consideration should be given to separating the VirtQueue handling and response logic to a crate in vm-virtio devices. This way a monolithic rust-vmm VMM implementation can reuse the core logic to service the virtio requests directly in the application.