Skip to content

Commit e35b4bd

Browse files
committed
Make mmap_unix.rs and mmap_xen.rs not mutually exclusive
Now that all tension between these two modules is resolves (e.g. no more code depends on exactly one of these being defined, and tests can support iterating over multiple supported backends), drop all the `cfg(not(feature = "xen"))` from across the code base. Signed-off-by: Patrick Roy <[email protected]>
1 parent 04439bf commit e35b4bd

File tree

5 files changed

+34
-35
lines changed

5 files changed

+34
-35
lines changed

src/bytes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ pub trait Bytes<A> {
330330
/// * Read bytes from /dev/urandom (uses the `backend-mmap` feature)
331331
///
332332
/// ```
333-
/// # #[cfg(all(feature = "backend-mmap", feature = "rawfd", unix, not(feature = "xen")))]
333+
/// # #[cfg(all(feature = "backend-mmap", feature = "rawfd", unix))]
334334
/// # {
335335
/// # use vm_memory::{Address, GuestMemory, Bytes, GuestAddress, GuestMemoryMmap};
336336
/// # use std::fs::File;

src/guest_memory.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ impl FileOffset {
174174
/// # Examples (uses the `backend-mmap` and `backend-atomic` features)
175175
///
176176
/// ```
177-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
177+
/// # #[cfg(all(feature = "backend-mmap", unix))]
178178
/// # {
179179
/// # use std::sync::Arc;
180180
/// # use vm_memory::{GuestAddress, GuestAddressSpace, GuestMemory, GuestMemoryMmap};
@@ -290,7 +290,7 @@ pub trait GuestMemory {
290290
/// `backend-mmap` feature)
291291
///
292292
/// ```
293-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
293+
/// # #[cfg(all(feature = "backend-mmap", unix))]
294294
/// # {
295295
/// # use vm_memory::{GuestAddress, GuestMemory, GuestMemoryRegion, GuestMemoryMmap};
296296
/// #
@@ -314,7 +314,7 @@ pub trait GuestMemory {
314314
/// # Examples (uses the `backend-mmap` feature)
315315
///
316316
/// ```
317-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
317+
/// # #[cfg(all(feature = "backend-mmap", unix))]
318318
/// # {
319319
/// # use vm_memory::{Address, GuestAddress, GuestMemory, GuestMemoryMmap};
320320
/// #
@@ -426,7 +426,7 @@ pub trait GuestMemory {
426426
/// # Examples (uses the `backend-mmap` feature)
427427
///
428428
/// ```
429-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
429+
/// # #[cfg(all(feature = "backend-mmap", unix))]
430430
/// # {
431431
/// # use vm_memory::{GuestAddress, GuestMemory, GuestMemoryMmap};
432432
/// #
@@ -483,9 +483,9 @@ impl<T: GuestMemory + ?Sized> Bytes<GuestAddress> for T {
483483
/// * Write a slice at guestaddress 0x1000. (uses the `backend-mmap` feature)
484484
///
485485
/// ```
486-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
486+
/// # #[cfg(all(feature = "backend-mmap", unix))]
487487
/// # {
488-
/// # use vm_memory::{Bytes, GuestAddress, mmap::GuestMemoryMmap};
488+
/// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap};
489489
/// #
490490
/// # let start_addr = GuestAddress(0x1000);
491491
/// # let mut gm = GuestMemoryMmap::<()>::from_ranges(&vec![(start_addr, 0x400)])
@@ -511,9 +511,9 @@ impl<T: GuestMemory + ?Sized> Bytes<GuestAddress> for T {
511511
/// * Read a slice of length 16 at guestaddress 0x1000. (uses the `backend-mmap` feature)
512512
///
513513
/// ```
514-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
514+
/// # #[cfg(all(feature = "backend-mmap", unix))]
515515
/// # {
516-
/// # use vm_memory::{Bytes, GuestAddress, mmap::GuestMemoryMmap};
516+
/// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap};
517517
/// #
518518
/// let start_addr = GuestAddress(0x1000);
519519
/// let mut gm = GuestMemoryMmap::<()>::from_ranges(&vec![(start_addr, 0x400)])

src/lib.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ pub use region::{GuestMemoryRegion, GuestRegionCollection, GuestRegionError as E
5656
pub mod io;
5757
pub use io::{ReadVolatile, WriteVolatile};
5858

59-
#[cfg(all(feature = "backend-mmap", not(feature = "xen"), unix))]
59+
#[cfg(all(feature = "backend-mmap", unix))]
6060
mod mmap_unix;
6161

6262
#[cfg(all(feature = "backend-mmap", feature = "xen", unix))]
@@ -68,14 +68,13 @@ mod mmap_windows;
6868
#[cfg(feature = "backend-mmap")]
6969
pub mod mmap;
7070

71-
#[cfg(all(feature = "backend-mmap", feature = "xen", unix))]
72-
pub use mmap::{MmapRange, MmapXenFlags};
73-
7471
#[cfg(all(feature = "xen", unix))]
75-
pub use mmap_xen::{GuestMemoryXen, MmapRegion as MmapRegionXen};
72+
pub use mmap_xen::{GuestMemoryXen, MmapRange, MmapRegion as MmapRegionXen, MmapXenFlags};
7673

77-
#[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
78-
pub use mmap_unix::{Error as MmapRegionError, GuestMemoryMmap, GuestRegionMmap, MmapRegion};
74+
#[cfg(all(feature = "backend-mmap", unix))]
75+
pub use mmap_unix::{
76+
Error as MmapRegionError, GuestMemoryMmap, GuestRegionMmap, MmapRegion, MmapRegionBuilder,
77+
};
7978

8079
#[cfg(windows)]
8180
pub use crate::mmap_windows::{

src/mmap.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@ use std::result;
1919
use crate::bitmap::Bitmap;
2020
use crate::guest_memory::FileOffset;
2121

22-
#[cfg(all(not(feature = "xen"), unix))]
23-
pub use crate::mmap_unix::{Error as MmapRegionError, MmapRegion, MmapRegionBuilder};
24-
25-
#[cfg(all(feature = "xen", unix))]
26-
pub use crate::mmap_xen::{Error as MmapRegionError, MmapRange, MmapRegion, MmapXenFlags};
27-
2822
/// A `Bitmap` that can be created starting from an initial size.
2923
pub trait NewBitmap: Bitmap + Default {
3024
/// Create a new object based on the specified length in bytes.
@@ -90,7 +84,8 @@ pub(crate) mod tests {
9084
use crate::bitmap::BS;
9185
use crate::{
9286
guest_memory, Address, Bytes, GuestAddress, GuestMemory, GuestMemoryError,
93-
GuestMemoryRegion, GuestUsize, MemoryRegionAddress, VolatileMemory, VolatileSlice,
87+
GuestMemoryRegion, GuestUsize, MemoryRegionAddress, MmapRegion, VolatileMemory,
88+
VolatileSlice,
9489
};
9590

9691
use std::io::Write;
@@ -154,7 +149,7 @@ pub(crate) mod tests {
154149
any_backend! {
155150
#[cfg(all(windows, feature = "backend-mmap"))]
156151
Windows[crate::mmap_windows::GuestRegionWindows<()>],
157-
#[cfg(all(unix, feature = "backend-mmap", not(feature = "xen")))]
152+
#[cfg(all(unix, feature = "backend-mmap"))]
158153
Mmap[crate::mmap_unix::GuestRegionMmap<()>],
159154
#[cfg(all(unix, feature = "backend-mmap", feature = "xen"))]
160155
Xen[crate::mmap_xen::MmapRegion]
@@ -173,7 +168,7 @@ pub(crate) mod tests {
173168
)
174169
.unwrap(),
175170
));
176-
#[cfg(all(unix, feature = "backend-mmap", not(feature = "xen")))]
171+
#[cfg(all(unix, feature = "backend-mmap"))]
177172
regions.push(AnyRegion::Mmap(
178173
crate::mmap_unix::GuestRegionMmap::new(
179174
MmapRegion::from_file(f_off.clone(), size).unwrap(),
@@ -183,8 +178,12 @@ pub(crate) mod tests {
183178
));
184179
#[cfg(all(unix, feature = "backend-mmap", feature = "xen"))]
185180
regions.push(AnyRegion::Xen(
186-
MmapRegion::from_range(MmapRange::new_unix(size, Some(f_off.clone()), addr))
187-
.unwrap(),
181+
crate::MmapRegionXen::from_range(crate::MmapRange::new_unix(
182+
size,
183+
Some(f_off.clone()),
184+
addr,
185+
))
186+
.unwrap(),
188187
));
189188
regions
190189
}
@@ -203,14 +202,15 @@ pub(crate) mod tests {
203202
)
204203
.unwrap(),
205204
));
206-
#[cfg(all(unix, feature = "backend-mmap", not(feature = "xen")))]
205+
#[cfg(all(unix, feature = "backend-mmap"))]
207206
regions.push(AnyRegion::Mmap(
208207
crate::mmap_unix::GuestRegionMmap::new(MmapRegion::new(size).unwrap(), addr)
209208
.unwrap(),
210209
));
211210
#[cfg(all(unix, feature = "backend-mmap", feature = "xen"))]
212211
regions.push(AnyRegion::Xen(
213-
MmapRegion::from_range(MmapRange::new_unix(size, None, addr)).unwrap(),
212+
crate::MmapRegionXen::from_range(crate::MmapRange::new_unix(size, None, addr))
213+
.unwrap(),
214214
));
215215
regions
216216
}

src/region.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ pub trait GuestMemoryRegion: Bytes<MemoryRegionAddress, E = GuestMemoryError> {
9797
/// # Examples (uses the `backend-mmap` feature)
9898
///
9999
/// ```
100-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
100+
/// # #[cfg(all(feature = "backend-mmap", unix))]
101101
/// # {
102102
/// # use vm_memory::{GuestAddress, MmapRegion, GuestRegionMmap, GuestMemoryRegion};
103103
/// # use vm_memory::volatile_memory::{VolatileMemory, VolatileSlice, VolatileRef};
@@ -127,7 +127,7 @@ pub trait GuestMemoryRegion: Bytes<MemoryRegionAddress, E = GuestMemoryError> {
127127
/// # Examples (uses the `backend-mmap` feature)
128128
///
129129
/// ```
130-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
130+
/// # #[cfg(all(feature = "backend-mmap", unix))]
131131
/// # {
132132
/// # use vm_memory::{GuestAddress, GuestMemory, GuestMemoryMmap, GuestRegionMmap};
133133
/// let addr = GuestAddress(0x1000);
@@ -302,10 +302,10 @@ impl<R: GuestMemoryRegion> Bytes<MemoryRegionAddress> for R {
302302
/// * Write a slice at guest address 0x1200.
303303
///
304304
/// ```
305-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
305+
/// # #[cfg(all(feature = "backend-mmap", unix))]
306306
/// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap};
307307
/// #
308-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
308+
/// # #[cfg(all(feature = "backend-mmap", unix))]
309309
/// # {
310310
/// # let start_addr = GuestAddress(0x1000);
311311
/// # let mut gm = GuestMemoryMmap::<()>::from_ranges(&vec![(start_addr, 0x400)])
@@ -328,10 +328,10 @@ impl<R: GuestMemoryRegion> Bytes<MemoryRegionAddress> for R {
328328
/// * Read a slice of length 16 at guestaddress 0x1200.
329329
///
330330
/// ```
331-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
331+
/// # #[cfg(all(feature = "backend-mmap", unix))]
332332
/// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap};
333333
/// #
334-
/// # #[cfg(all(feature = "backend-mmap", unix, not(feature = "xen")))]
334+
/// # #[cfg(all(feature = "backend-mmap", unix))]
335335
/// # {
336336
/// # let start_addr = GuestAddress(0x1000);
337337
/// # let mut gm = GuestMemoryMmap::<()>::from_ranges(&vec![(start_addr, 0x400)])

0 commit comments

Comments
 (0)