Skip to content

Releases: rust-vmm/vm-memory

vm-memory-v0.17.0

06 Oct 16:31
Compare
Choose a tag to compare

Changelog

[v0.17.0]

Added

  • [#311] Allow compiling without the ReadVolatile and WriteVolatile implementations
  • [#312] GuestRegionContainer, a generic container of GuestMemoryRegions, generalizing GuestMemoryMmap (which
    is now a type alias for GuestRegionContainer<GuestRegionMmap>).
  • [#338] Make GuestMemoryAtomic always implement Clone.
  • [#338] Make GuestAddressSpace a subtrait of Clone.
  • [#339] Add GuestMemory::get_slices()

Changed

  • [#307] Move read_volatile_from, read_exact_volatile_from,
    write_volatile_to and write_all_volatile_to functions from the GuestMemory trait to the Bytes trait.
  • [#312]: Give GuestMemory::find_region and GuestMemory::num_regions
    a default implementation, based on linear search.
  • [#312]: Provide a marker trait, GuestMemoryRegionBytes, which enables a default implementation of Bytes<MemoryRegionAddress>
    for a GuestMemoryRegion if implemented.
  • [#312]: Adjust error types returned from GuestMemoryMmap::from_ranges[_with_files]
    and GuestRegionMmap::from_range to be separate from the error type returned by GuestRegionCollection functions.
    Change return type of GuestRegionMmap::new from Result to Option.
  • [#324] GuestMemoryRegion::bitmap() now returns a BitmapSlice. Accessing the full bitmap is now possible only if the type of the memory region is know, for example with MmapRegion::bitmap().
  • [#339] Implement Bytes::load() and Bytes::store() with get_slices() instead of to_region_addr()

Removed

  • [#307] Remove deprecated functions Bytes::read_from, Bytes::read_exact_from,
    Bytes::write_to, Bytes::write_all_to, GuestMemory::as_slice, GuestMemory::as_slice_mut, GuestMemory::with_regions,
    GuestMemory::with_regions_mut, GuestMemory::map_and_fold, VolatileSlice::as_ptr, VolatileRef::as_ptr, and
    VolatileArrayRef::as_ptr.
  • [#320] Drop check_file_offset check when using MmapRegionBuilder.
    The mmap(2) syscall itself already validates that offset and length are valid, and trying to replicate this check
    in userspace ended up being imperfect.

Fixed

  • [#339] Fix Bytes::read() and Bytes::write() not to ignore try_access()'s count parameter

Deprecated

  • [#349] Deprecate GuestMemory::try_access(). Use GuestMemory::get_slices() instead.

vm-memory-v0.16.2

30 May 16:15
Compare
Choose a tag to compare

Changelog

[v0.16.2]

  • [#328] Support vmm-sys-util 0.14.0

vm-memory-v0.16.1

11 Nov 07:57
Compare
Choose a tag to compare

Changelog

[v0.16.1]

Added

  • [#304] Implement ReadVolatile and WriteVolatile for TcpStream

vm-memory-v0.16.0

09 Oct 09:41
Compare
Choose a tag to compare

Changelog

Upcoming version

[v0.16.0]

Added

  • [#287] Support for RISC-V 64-bit platform.
  • [#299] atomic_bitmap: support enlarging the bitmap.

Changed

  • [#278 Remove GuestMemoryIterator trait, and instead have GuestMemory::iter() return impl Iterator.

vm-memory-v0.15.0

05 Sep 07:36
Compare
Choose a tag to compare

Changelog

[v0.15.0]

Added

  • [#270] atomic_bitmap: add capability to reset bits range
  • [#285] Annotated modules in lib.rs to indicate their feature
    dependencies such that it is reflected in the docs, enhancing documentation clarity for users.

Changed

  • [#275] Fail builds on non 64-bit platforms.

Fixed

  • [#279] Remove restriction from read_volatile_from and write_volatile_into
    that made it copy data it chunks of 4096.

vm-memory-v0.14.1

11 Mar 10:21
Compare
Choose a tag to compare

Changelog

[v0.14.1]

Fixed

  • [#279] Remove restriction from read_volatile_from and write_volatile_into that made it copy data it chunks of 4096.

vm-memory-v0.14.0

08 Jan 09:54
Compare
Choose a tag to compare

Changelog

[v0.14.0]

Added

  • [#266] Derive Debug for several types that were missing it.

Changed

  • [#274] Drop Default as requirement for ByteValued.

vm-memory-v0.13.1

16 Oct 10:37
Compare
Choose a tag to compare

Changelog

[v0.13.1]

Added

  • [#256] Implement WriteVolatile for std::io::Stdout.
  • [#256] Implement WriteVolatile for std::vec::Vec.
  • [#256] Implement WriteVolatile for Cursor<&mut [u8]>.
  • [#256] Implement ReadVolatile for Cursor<T: AsRef[u8]>.

vm-memory-v0.13.0

22 Sep 10:34
Compare
Choose a tag to compare

Changelog

[v0.13.0]

Added

  • [#247] Add ReadVolatile and
    WriteVolatile traits which are equivalents of Read/Write with volatile
    access semantics.

Changed

  • [#247] Deprecate
    Bytes::{read_from, read_exact_from, write_to, write_all_to}. Instead use
    ReadVolatile/WriteVolatile, which do not incur the performance penalty
    of copying to hypervisor memory due to Read/Write being incompatible
    with volatile semantics (see also #217).

vm-memory-v0.12.2

01 Sep 12:37
Compare
Choose a tag to compare

Changelog

[v0.12.2]

Fixed

  • [#251]: Inserted checks that verify that the value returned by VolatileMemory::get_slice is of
    the correct length.

Deprecated

  • [#244] Deprecate volatile memory's as_ptr() interfaces. The new interfaces to be used instead are:
    ptr_guard() and ptr_guard_mut().