diff --git a/CHANGELOG.md b/CHANGELOG.md index de69145c..0399a047 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,12 @@ # Changelog -## [Unreleased] +## [v0.12.0] ### Added - [[#241]](https://github.com/rust-vmm/vm-memory/pull/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]](https://github.com/rust-vmm/vm-memory/pull/237) Implement `ByteValued` for `i/u128`. ## [v0.11.0] diff --git a/Cargo.toml b/Cargo.toml index 4d34416c..ac30daf7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vm-memory" -version = "0.11.0" +version = "0.12.0" description = "Safe abstractions for accessing the VM physical memory" keywords = ["memory"] categories = ["memory-management"] diff --git a/src/bytes.rs b/src/bytes.rs index 013796b2..24307084 100644 --- a/src/bytes.rs +++ b/src/bytes.rs @@ -155,11 +155,13 @@ byte_valued_type!(u8); byte_valued_type!(u16); byte_valued_type!(u32); byte_valued_type!(u64); +byte_valued_type!(u128); byte_valued_type!(usize); byte_valued_type!(i8); byte_valued_type!(i16); byte_valued_type!(i32); byte_valued_type!(i64); +byte_valued_type!(i128); byte_valued_type!(isize); /// A trait used to identify types which can be accessed atomically by proxy. @@ -362,7 +364,7 @@ pub(crate) mod tests { where T: ByteValued + PartialEq + Debug + Default, { - let mut data = [0u8; 32]; + let mut data = [0u8; 48]; let pre_len = { let (pre, _, _) = unsafe { data.align_to::() }; pre.len() @@ -377,7 +379,7 @@ pub(crate) mod tests { assert_eq!(val.as_mut_slice(), aligned_data); } } - for i in 1..size_of::() { + for i in 1..size_of::().min(align_of::()) { let begin = pre_len + i; let end = begin + size_of::(); let unaligned_data = &mut data[begin..end]; @@ -401,11 +403,13 @@ pub(crate) mod tests { check_byte_valued_type::(); check_byte_valued_type::(); check_byte_valued_type::(); + check_byte_valued_type::(); check_byte_valued_type::(); check_byte_valued_type::(); check_byte_valued_type::(); check_byte_valued_type::(); check_byte_valued_type::(); + check_byte_valued_type::(); check_byte_valued_type::(); }