Expand description

This module holds abstractions that enable tracking the areas dirtied by writes of a specified length to a given offset. In particular, this is used to track write accesses within a GuestMemoryRegion object, and the resulting bitmaps can then be aggregated to build the global view for an entire GuestMemory object.

Structs

AtomicBitmap implements a simple bit map on the page level with test and set operations. It is page-size aware, so it converts addresses to page numbers before setting or clearing the bits.

Traits

Common bitmap operations. Using Higher-Rank Trait Bounds (HRTBs) to effectively define an associated type that has a lifetime parameter, without tagging the Bitmap trait with a lifetime as well.

Trait used to represent that a BitmapSlice is a Bitmap itself, but also satisfies the restriction that slices created from it have the same type as Self.

Trait implemented by types that support creating BitmapSlice objects.

Type Definitions

A BitmapSlice implementation that uses an Arc handle to a Bitmap object.

Helper type alias for referring to the BitmapSlice concrete type associated with an object B: WithBitmapSlice<'a>.

Helper type alias for referring to the BitmapSlice concrete type associated with the memory regions of an object M: GuestMemory.

A BitmapSlice implementation that wraps a reference to a Bitmap object.