Added VMCache::DebugHasPage() and DebugLookupPage() for use in the kernel

debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36228 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2010-04-13 17:18:57 +00:00
parent 09418c869b
commit 86875ad9d1
3 changed files with 25 additions and 0 deletions

View File

@ -153,6 +153,9 @@ public:
virtual void AcquireStoreRef(); virtual void AcquireStoreRef();
virtual void ReleaseStoreRef(); virtual void ReleaseStoreRef();
virtual bool DebugHasPage(off_t offset);
vm_page* DebugLookupPage(off_t offset);
public: public:
VMArea* areas; VMArea* areas;
list_link consumer_link; list_link consumer_link;

View File

@ -40,6 +40,7 @@ public:
virtual status_t Commit(off_t size, int priority); virtual status_t Commit(off_t size, int priority);
virtual bool HasPage(off_t offset); virtual bool HasPage(off_t offset);
virtual bool DebugHasPage(off_t offset);
virtual status_t Read(off_t offset, const iovec* vecs, virtual status_t Read(off_t offset, const iovec* vecs,
size_t count, uint32 flags, size_t count, uint32 flags,

View File

@ -1239,6 +1239,27 @@ VMCache::ReleaseStoreRef()
} }
/*! Kernel debugger version of HasPage().
Does not do any locking.
*/
bool
VMCache::DebugHasPage(off_t offset)
{
// default that works for all subclasses that don't lock anyway
return HasPage(offset);
}
/*! Kernel debugger version of LookupPage().
Does not do any locking.
*/
vm_page*
VMCache::DebugLookupPage(off_t offset)
{
return pages.Lookup((page_num_t)(offset >> PAGE_SHIFT));
}
/*! Wakes up threads waiting for page events. /*! Wakes up threads waiting for page events.
\param page The page for which events occurred. \param page The page for which events occurred.
\param events The mask of events that occurred. \param events The mask of events that occurred.