class VmPageListNode
Defined at line 509 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 511 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void VmPageListNode (const VmPageListNode & )
Defined at line 514 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
void VmPageListNode (VmPageListNode && )
Defined at line 514 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageListNode & operator= (const VmPageListNode & )
Defined at line 514 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageListNode & operator= (VmPageListNode && )
Defined at line 514 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
uint64_t end_offset (uint64_t base_offset)
Defined at line 521 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 535 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 541 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 548 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 556 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 564 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 593 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
const VmPageOrMarker & Lookup (size_t index)
Defined at line 603 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
VmPageOrMarker & Lookup (size_t index)
Defined at line 608 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 614 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 625 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 635 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 645 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 662 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 667 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h
Friends
class VMPLCursor