Skip to content

Releases: rust-vmm/vm-virtio

virtio-queue v0.5.0

26 Jul 13:30
Compare
Choose a tag to compare

v0.5.0

Added

  • Added getters and setters for the Virtio Queue fields.
  • Added the state method for retrieving the QueueState of a Queue.

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 the QueueState because this is an implementation detail of the notification suppression feature and thus should not be part of the state.
  • Removed QueueGuard and lock_with_memory.

Changed

  • QueueState is now renamed to Queue.
  • QueueStateSync is now renamed to QueueSync.
  • The QueueState structure now represents the state of the Queue without any implementation details. This can be used for implementing save/restore.
  • Initializing a Queue now returns an error in case the max_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

22 Jun 13:31
Compare
Choose a tag to compare

Fixed

  • [#173] Fix potential division by zero in iterator when the queue size is 0.

Changed

  • [#162] Added error handling in the mock interface and the ability to create multiple descriptor chains for testing in order to support running fuzzing.
  • [#174] Updated the avail_idx and used_idx documentation to specify when these functions panic.

virtio-queue-ser v0.2.0

22 Jun 13:32
Compare
Choose a tag to compare

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 of virtio-queue.

virtio-vsock v0.1.0

19 May 15:29
Compare
Choose a tag to compare

v0.1.0

This is the first release of the virtio-vsock crate.

virtio-queue-ser v0.1.0

13 May 10:22
Compare
Choose a tag to compare

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

10 May 11:07
Compare
Choose a tag to compare

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, to QueueStateT and QueueGuard. Also added go_to_previous_position()
    to QueueGuard, 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 now v0.8.0
  • [#161]: Improve the efficiency of needs_notification

Removed

  • [#153]: #[derive(Clone)] for QueueState

virtio-queue v0.2.0

04 Mar 11:25
Compare
Choose a tag to compare

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

22 Dec 07:56
Compare
Choose a tag to compare

Initial version of virtio-queue.