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_t base, uint64_t size, 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_t offset, uint pf_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_t offset, uint64_t size, bool copy_name, fbl::RefPtr<VmObject> * child_vmo)
Defined at line 86 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t Lookup (uint64_t offset, uint64_t len, LookupFunction lookup_fn)
Defined at line 166 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t LookupContiguous (uint64_t offset, uint64_t len, paddr_t * out_paddr)
Defined at line 221 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t LookupContiguousLocked (uint64_t offset, uint64_t len, paddr_t * out_paddr)
Defined at line 226 of file ../../zircon/kernel/vm/vm_object_physical.cc
zx_status_t CommitRangePinned (uint64_t offset, uint64_t len, bool write)
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 (uint32_t cache_policy)
Defined at line 241 of file ../../zircon/kernel/vm/vm_object_physical.cc
Friends
class RefPtr