- [#304] Implement ReadVolatile and WriteVolatile for TcpStream
- [#278 Remove
GuestMemoryIterator
trait, and instead have GuestMemory::iter() returnimpl Iterator
.
- [#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.
- [#275] Fail builds on non 64-bit platforms.
- [#279] Remove restriction from
read_volatile_from
andwrite_volatile_into
that made it copy data it chunks of 4096.
- [#266] Derive
Debug
for several types that were missing it.
- [#274] Drop
Default
as requirement forByteValued
.
- [#256] Implement
WriteVolatile
forstd::io::Stdout
. - [#256] Implement
WriteVolatile
forstd::vec::Vec
. - [#256] Implement
WriteVolatile
forCursor<&mut [u8]>
. - [#256] Implement
ReadVolatile
forCursor<T: AsRef[u8]>
.
- [#247] Add
ReadVolatile
andWriteVolatile
traits which are equivalents ofRead
/Write
with volatile access semantics.
- [#247] Deprecate
Bytes::{read_from, read_exact_from, write_to, write_all_to}
. Instead useReadVolatile
/WriteVolatile
, which do not incur the performance penalty of copying to hypervisor memory due toRead
/Write
being incompatible with volatile semantics (see also #217).
- [#251]: Inserted checks
that verify that the value returned by
VolatileMemory::get_slice
is of the correct length.
- [#244] Deprecate volatile
memory's
as_ptr()
interfaces. The new interfaces to be used instead are:ptr_guard()
andptr_guard_mut()
.
- [#241] mmap_xen: Don't drop the FileOffset while in use #245
- [#241] Add Xen memory
mapping support: Foreign and Grant. Add new API for accessing pointers to
volatile slices, as
as_ptr()
can't be used with Xen's Grant mapping. - [#237] Implement
ByteValued
fori/u128
.
- [#216] Add
GuestRegionMmap::from_region
.
- [#217] Fix vm-memory internally
taking rust-style slices to guest memory in ways that could potentially cause
undefined behavior. Removes/deprecates various
as_slice
/as_slice_mut
methods whose usage violated rust's aliasing rules, as well as an unsoundimpl<'a> VolatileMemory for &'a mut [u8]
.
- [#195]:
mmap::check_file_offset
is doing the correct size validation for block and char devices as well.
- [#198]: atomic: enable 64 bit atomics on ppc64le and s390x.
- [#200]: docs: enable all
features in
docs.rs
. - [#199]: Update the way the dependencies are pulled such that we don't end up with incompatible versions.
- [#190]:
VolatileSlice::read/write
when input slice is empty.
- [#176]: Relax the trait
bounds of
Bytes
auto impl forT: GuestMemory
- [#178]:
MmapRegion::build_raw
no longer requires that the length of the region is a multiple of the page size.
- [#160]: Add
ArcRef
andAtomicBitmapArc
bitmap backend implementations. - [#149]: Implement builder for MmapRegion.
- [#140]: Add dirty bitmap tracking abstractions.
- [#133]: Deprecate
GuestMemory::with_regions()
,GuestMemory::with_regions_mut()
,GuestMemory::map_and_fold()
.
- [#8]: Add GuestMemory method to return an Iterator
- [#120]: Add is_hugetlbfs() to GuestMemoryRegion
- [#126]: Add VolatileSlice::split_at()
- [#128]: Add VolatileSlice::subslice()
- [#100]: Performance degradation after fixing #95.
- [#122]: atomic, Cargo.toml: Update for arc-swap 1.0.0.
- [#109]: Added
build_raw
toMmapRegion
which can be used to operate on externally created mappings. - [#101]: Added
check_range
for GuestMemory which could be used to validate a range of guest memory. - [#115]: Add methods for atomic
access to
Bytes
.
- [#93]: DoS issue when using virtio with rust-vmm/vm-memory.
- [#106]: Asserts trigger on zero-length access.
integer-atomics
is no longer a distinct feature of the crate.
- [#76]: Added
get_slice
andas_volatile_slice
toGuestMemoryRegion
. - [#82]: Added
Clone
bound forGuestAddressSpace::T
, the return value ofGuestAddressSpace::memory()
. - [#88]: Added
as_bytes
forByteValued
which can be used for reading into POD structures from raw bytes.
- Added traits for working with VM memory.
- Added a mmap based implemention for the Guest Memory.