class VmObjectPhysical
Defined at line 27 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
VMO representing a physical range of memory
Public Methods
Lock<CriticalMutex> * lock ()
Define the lock retrieval functions differently depending on whether we should be returning a
local lock instance, or the common one in the hierarchy_state_ptr. Due to the TA_RET_CAP
statements we cannot perform |if constexpr| or equivalent indirection in the function body, and
must have two completely different function definitions.
In the absence of a local lock it is assumed, and enforced in vm_object_lock.h, that there is a
shared lock in the hierarchy state. If there is both a local and a shared lock then the local
lock is to be used for the improved lock tracking.
Defined at line 38 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
Lock<CriticalMutex> & lock_ref ()
Defined at line 39 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
VmObject * self_locked ()
Defined at line 41 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
ChildType child_type ()
Defined at line 48 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
bool is_contiguous ()
Defined at line 51 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
bool is_slice ()
Defined at line 52 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
uint64_t parent_user_id ()
Defined at line 53 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
uint64_t size_locked ()
Defined at line 55 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
zx_status_t Create (paddr_tbase,uint64_tsize,fbl::RefPtr<VmObjectPhysical> *vmo)
Defined at line 58 of file ../../zircon/kernel/vm/vm_object_physical.cc
void Unpin (uint64_t offset, uint64_t len)
Defined at line 65 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
void SetUserStreamSize (fbl::RefPtr<StreamSizeManager> ssm)
Defined at line 69 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
bool DebugIsRangePinned (uint64_t offset, uint64_t len)
Physical VMOs are implicitly pinned.
Defined at line 75 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
zx_status_t GetPage (uint64_toffset,uintpf_flags,list_node *alloc_list,MultiPageRequest *page_request,vm_page_t **page,paddr_t *pa)
Defined at line 79 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
void MaybeDeadTransition ()
Defined at line 86 of file ../../zircon/kernel/vm/include/vm/vm_object_physical.h
zx_status_t CreateChildSlice (uint64_toffset,uint64_tsize,boolcopy_name,fbl::RefPtr<VmObject> *child_vmo)
Defined at line 86 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t Lookup (uint64_toffset,uint64_tlen,LookupFunctionlookup_fn)
Defined at line 166 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t LookupContiguous (uint64_toffset,uint64_tlen,paddr_t *out_paddr)
Defined at line 221 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t LookupContiguousLocked (uint64_toffset,uint64_tlen,paddr_t *out_paddr)
Defined at line 226 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t CommitRangePinned (uint64_toffset,uint64_tlen,boolwrite)
Defined at line 195 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t PrefetchRange (uint64_t offset, uint64_t len)
Defined at line 209 of file ../../zircon/kernel/vm/vm_object_physical.cc
void Dump (uint depth, bool verbose)
Defined at line 155 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t SetMappingCachePolicy (arch_mmu_flags_t cache_policy)
Defined at line 241 of file ../../zircon/kernel/vm/vm_object_physical.cc
Friends
class RefPtr