Module vm_memory::bitmap

source ·
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 Aliases§

  • 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.