class VmPageListNode
Defined at line 508 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
Public Members
static const size_t kPageFanOut
Public Methods
void ~VmPageListNode ()
Defined at line 63 of file ../../zircon/kernel/vm/vm_page_list.cc
VmPlnOwner Create (uint64_t offset)
Creates a new VmPageListNode. Must be deleted using the specified deleter.
Defined at line 53 of file ../../zircon/kernel/vm/vm_page_list.cc
void VmPageListNode (uint64_t offset)
Defined at line 510 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void VmPageListNode (const VmPageListNode & )
Defined at line 513 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void VmPageListNode (VmPageListNode && )
Defined at line 513 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageListNode & operator= (const VmPageListNode & )
Defined at line 513 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageListNode & operator= (VmPageListNode && )
Defined at line 513 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t offset ()
accessors
Defined at line 521 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t GetKey ()
Defined at line 522 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t end_offset ()
Defined at line 524 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void set_offset (uint64_t offset)
Defined at line 535 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPage (F func)
for every page or marker in the node call the passed in function.
Defined at line 542 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPage (F func)
for every page or marker in the node call the passed in function.
Defined at line 548 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPageInRange (F func, uint64_t start_offset, uint64_t end_offset)
for every page or marker in the node in the range call the passed in function. The range is
assumed to be within the nodes object range.
Defined at line 555 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPageInRange (F func, uint64_t start_offset, uint64_t end_offset)
for every page or marker in the node in the range call the passed in function. The range is
assumed to be within the nodes object range.
Defined at line 562 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
const VmPageOrMarker * IsOffsetInInterval (uint64_t off)
Checks if the given offset is part of an interval involving this node. This method cannot find
the full interval, since that may require looking at an additional node, but can determine if
in an interval or not. Returns any interval sentinel found, otherwise a nullptr.
Defined at line 569 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
const VmPageOrMarker * NodeStartsInInterval ()
Check if this node begins in an interval, that is if an interval start was in a preceding node
and this nodes contains the end. If the first non-empty slot is an interval end it is returned,
otherwise we cannot have started in an interval and a nullptr is returned.
Defined at line 598 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
const VmPageOrMarker & Lookup (size_t index)
Defined at line 608 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageOrMarker & Lookup (size_t index)
Defined at line 614 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
bool IsEmpty ()
A node is empty if it contains no pages, page interval sentinels, references, or markers.
Defined at line 621 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
bool HasNoPageOrRef ()
Returns true if there are no pages or references owned by this node. Meant to check whether the
node has any resource that needs to be returned.
Defined at line 632 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
bool HasNoIntervalSentinel ()
Returns true if there are no interval sentinels owned by this node.
Defined at line 642 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename F>
void MergeRangeOnto (F migrate_fn, VmPageListNode & other, uint64_t start_offset, uint64_t end_offset, uint64_t other_start_offset)
Defined at line 652 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t NodeOffset (uint64_t offset)
Converts the supplied offset into a VmPageListNode base offset.
Defined at line 667 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t NodeIndex (uint64_t offset)
Converts the supplied offset into a VmPageListNode index.
Defined at line 672 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
Friends
class VMPLCursor