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 ReleaseStoreRef();
virtual bool DebugHasPage(off_t offset);
vm_page* DebugLookupPage(off_t offset);
public:
VMArea* areas;
list_link consumer_link;

View File

@ -40,6 +40,7 @@ public:
virtual status_t Commit(off_t size, int priority);
virtual bool HasPage(off_t offset);
virtual bool DebugHasPage(off_t offset);
virtual status_t Read(off_t offset, const iovec* vecs,
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.
\param page The page for which events occurred.
\param events The mask of events that occurred.