class ZeroRange
Defined at line 230 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
The remaining bits of an interval type store any information specific to the type of interval
being tracked. The ZeroRange class is defined here to group together the encoding of these bits
specific to IntervalType::Zero.
Public Members
static const int kAlignBits
static const uint64_t kDirtyStateBits
static const int kDirtyStateShift
static const uint64_t kAwaitingCleanLengthShift
Public Methods
void ZeroRange (uint32_t val)
Defined at line 235 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void ZeroRange (uint32_t val, DirtyState state)
Defined at line 250 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint32_t value ()
Defined at line 255 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
DirtyState GetDirtyState ()
Defined at line 262 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void SetDirtyState (DirtyState state)
Defined at line 266 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void SetAwaitingCleanLength (uint64_t len)
The AwaitingCleanLength will always be a page-aligned length, so we can mask out the low
kPageShift bits and store only the upper bits.
Defined at line 282 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t GetAwaitingCleanLength ()
Defined at line 291 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
Enumerations
enum DirtyState
| Name | Value |
|---|---|
| Untracked | 0 |
| Clean | 1 |
| Dirty | 2 |
| NumStates | 3 |
The various dirty states that a zero interval can be in. Refer to VmCowPages::DirtyState for
an explanation of the states. Note that an AwaitingClean state is not encoded in the interval
state bits. This information is instead stored using the AwaitingCleanLength for convenience,
where a non-zero length indicates that the interval is AwaitingClean. Doing this affords
more convenient splitting and merging of intervals.
Defined at line 243 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h