kernel/vm: Consolidate implementations of VMTranslationMap::UnmapArea.
This adds some new parameters to UnmapPage and UnmapPages. The important one is a "_flags" pointer to UnmapPage, which if specified will be filled with the page flags instead of PageUnmapped() being called (and Flush() won't be invoked, either.) This removes the remaining PAGE_STATE_* changes from VM architecture code. Change-Id: Iacbc424dd8a75a79986edcd7f04d15a10f773c87 Reviewed-on: https://review.haiku-os.org/c/haiku/+/8728 Tested-by: Commit checker robot <[email protected]> Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
783347df2b
commit
7651b97c0a
@@ -44,9 +44,12 @@ public:
|
||||
|
||||
// map not locked
|
||||
virtual status_t UnmapPage(VMArea* area, addr_t address,
|
||||
bool updatePageQueue) = 0;
|
||||
bool updatePageQueue,
|
||||
bool deletingAddressSpace = false,
|
||||
uint32* _flags = NULL) = 0;
|
||||
virtual void UnmapPages(VMArea* area, addr_t base,
|
||||
size_t size, bool updatePageQueue);
|
||||
size_t size, bool updatePageQueue,
|
||||
bool deletingAddressSpace = false);
|
||||
virtual void UnmapArea(VMArea* area,
|
||||
bool deletingAddressSpace,
|
||||
bool ignoreTopCachePageFlags);
|
||||
|
||||
Reference in New Issue
Block a user