Go to file
Andreea Florescu f1c4742e71 [i2c] reworked the abstractions
The I2cAdapterTrait was introduced because of a need to test the i2c
implementation without having access to a physical device on the host
running the tests. This abstraction though still made the tests pretty
hard to write, so it is now replaced by another abstractions: I2cDevice.

This abstraction is written working backwards from what we DO NOT have
access to on the host where we want to run the tests. This is the i2c
device. So, this abstraction is just abstracting the way all the ioctl
calls that need to be handled by an i2c device. This way, we can test
all the other wrappers that are implemented in this crate.

The abstraction is implemented for a physical device to keep backwards
compatibility with existing code.

This abstraction still needs improvements such as marking the functions
as unsafe. For now the tests are commented out because they need to be
re-written with this abstraction. Since we still have refactoring work
to do (i.e. separate the parsing from the device operation), writing
tests is postponed so that it does not involve duplicated work.

Signed-off-by: Andreea Florescu <fandree@amazon.com>
2021-09-15 17:34:00 +03:00
.cargo Initial commit 2021-05-26 10:18:40 +03:00
.github dependabot: Allow updating dependencies 2021-09-06 12:54:53 +05:30
rust-vmm-ci@ae7db2d98a build(deps): bump rust-vmm-ci from 1311bfa to ae7db2d 2021-09-06 06:57:46 +00:00
src/i2c [i2c] reworked the abstractions 2021-09-15 17:34:00 +03:00
.gitignore Add .gitignore 2021-08-19 09:52:14 +03:00
.gitmodules Initial commit 2021-05-26 10:18:40 +03:00
Cargo.toml Convert to virtual manifest and add i2c workspace 2021-08-19 09:52:14 +03:00
CODEOWNERS i2c: Update CODEOWNERS 2021-08-19 09:52:14 +03:00
coverage_config_x86_64.json i2c: Add tests to cover basic backend operations 2021-09-14 11:00:56 +03:00
LICENSE-APACHE Initial commit 2021-05-26 10:18:40 +03:00
README.md i2c: Update README.md and add one for i2c 2021-08-19 09:52:14 +03:00

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: