Releases: rust-vmm/vm-virtio
Releases · rust-vmm/vm-virtio
virtio-queue v0.5.0
v0.5.0
Added
- Added getters and setters for the Virtio Queue fields.
- Added the
state
method for retrieving theQueueState
of aQueue
.
Fixed
- Validate the state of the Virtio Queue when restoring from state and return errors on invalid
input.
Removed
- Removed the wrapper over the Virtio Queue that was wrapping the Guest Memory. VMMs can define this wrapper if needed, but this is no longer provided as part of virtio-queue crate so that the naming scheme can be simplified. As a consequence, a couple of functions now receive the memory as a parameter (more details in the Changed section).
- Removed
num_added
field from theQueueState
because this is an implementation detail of the notification suppression feature and thus should not be part of the state. - Removed
QueueGuard
andlock_with_memory
.
Changed
QueueState
is now renamed toQueue
.QueueStateSync
is now renamed toQueueSync
.- The
QueueState
structure now represents the state of theQueue
without any implementation details. This can be used for implementing save/restore. - Initializing a
Queue
now returns an error in case themax_size
is invalid. - The
Queue
fields are now private and can be updated only through the dedicated setters. - The following Queue methods now receive the memory as a parameter:
iter
,is_valid
,add_used
,needs_notification
,enable_notification
,disable_notification
,avail_idx
,used_idx
. - Use the constant definition from the
virtio-queue
crate.
virtio-queue v0.4.0
virtio-queue-ser v0.2.0
Changed
- Relax the dependency on
virtio-queue
so that we do not need to publish a release of this crate whenever we have a new release ofvirtio-queue
.
virtio-vsock v0.1.0
v0.1.0
This is the first release of the virtio-vsock
crate.
virtio-queue-ser v0.1.0
v0.1.0
This is the first release of the crate, compatible with version 0.3.x
of virtio-queue
.
virtio-queue v0.3.0
v0.3.0
Added
- [#148]:
QueueStateOwnedT
trait that stands
for queue objects which are exclusively owned and accessed by a single thread of execution. - [#148]: Added the
pop_descriptor_chain
method, which can be used to consume descriptor chains from the available ring without
using an iterator, toQueueStateT
andQueueGuard
. Also addedgo_to_previous_position()
toQueueGuard
, which enables decrementing the next available index by one position, which
effectively undoes the consumption of a descriptor chain in some use cases. - [#151]: Added
MockSplitQueue::add_desc_chain()
,
which places a descriptor chain at the specified offset in the descriptor table. - [#153]: Added
QueueStateT::size()
to return
the size of the queue.
Changed
- The minimum version of the
vm-memory
dependency is nowv0.8.0
- [#161]: Improve the efficiency of
needs_notification
Removed
- [#153]:
#[derive(Clone)]
forQueueState
virtio-queue v0.2.0
v0.2.0
Added
- Testing Interface: Added the possibility to initialize a mock descriptor
chain from a list of descriptors. - Added setters and getters for the queue fields required for extending the
Queue
in VMMs.
Fixed
- Apply the appropriate endianness conversion on
used_idx
.
virtio-queue-v0.1.0
Initial version of virtio-queue.