The "test_gpio_process_events_multi_success" test currently hangs with
an update to a newer version of Rust. The code here tries to read the
value, locked, for each GPIO one by one. The values are updated in
another thread with the help of write lock.
More discussion around this issue can be found here.
https://github.com/rust-lang/rust/issues/101194
Taking the lock only once fixes it for now.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
In preparation to upgrade to Rust version 1.63.0, address clippy
warning demanding that 'Eq' be derived when 'PartialEq' is.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Update a number of rust-vmm crates to align to the common version of
vm-memory.
Also update the tests to fix the build.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
The virtio-gpio driver at the guest performs virtio transaction right
from its probe() routine and without this patch, there is a chance that
the backend may miss the notification from the guest, as the
notification may be sent before the eventfd is set at the backend. This
flag makes the master side wait for reply from backend before proceeding
further for each operation.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
get_config() must return only the relevant part of the config, as
requested by the caller, instead of returning entire config structure.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Disable builds for musl, where libgpiod build fails on
rust-vmm-container due to missing tools and headers.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This adds the boilerplate code and its dependencies to get the basic
structure for the gpio crate.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>