class VmPageListNode
Defined at line 552 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 59 of file ../../zircon/kernel/vm/vm_page_list.cc
VmPlnOwner Create ()
Creates a new VmPageListNode. Must be deleted using the specified deleter.
Defined at line 46 of file ../../zircon/kernel/vm/vm_page_list.cc
void VmPageListNode ()
Defined at line 554 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void VmPageListNode (const VmPageListNode & )
Defined at line 557 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void VmPageListNode (VmPageListNode && )
Defined at line 557 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageListNode & operator= (const VmPageListNode & )
Defined at line 557 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageListNode & operator= (VmPageListNode && )
Defined at line 557 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t end_offset (uint64_t base_offset)
Defined at line 564 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPage (uint64_t base, F func)
for every page or marker in the node call the passed in function.
Defined at line 578 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPage (uint64_t base, F func)
for every page or marker in the node call the passed in function.
Defined at line 584 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPageInRange (uint64_tbase,Ffunc,uint64_tstart_offset,uint64_tend_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 591 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename PTR_TYPE, typename F>
zx_status_t ForEveryPageInRange (uint64_tbase,Ffunc,uint64_tstart_offset,uint64_tend_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 599 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
const VmPageOrMarker * IsOffsetInInterval (uint64_t obj_offset, 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 607 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 636 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
const VmPageOrMarker & Lookup (size_t index)
Defined at line 646 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageOrMarker & Lookup (size_t index)
Defined at line 651 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 657 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 668 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
bool HasNoPageRefOrMarker ()
Returns true if there are no pages, references or markers owned by this node. Meant to check
whether the node has any resource that needs to be returned.
Defined at line 679 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 689 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
template <typename F>
void MergeRangeOnto (uint64_tbase,uint64_tother_base,Fmigrate_fn,VmPageListNode &other,uint64_tstart_offset,uint64_tend_offset,uint64_tother_start_offset)
Defined at line 699 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 716 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 721 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
Friends
class VMPLCursor