mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 03:17:35 +00:00
Kernel: Teach Region how to remap itself
Now remapping (i.e flushing kernel metadata to the CPU page tables) is done by simply calling Region::remap().
This commit is contained in:
parent
3dce0f23f4
commit
4bf1a72d21
7 changed files with 15 additions and 19 deletions
|
@ -75,7 +75,7 @@ NonnullOwnPtr<Region> Region::clone()
|
|||
#endif
|
||||
// Set up a COW region. The parent (this) region becomes COW as well!
|
||||
ensure_cow_map().fill(true);
|
||||
MM.remap_region(current->process().page_directory(), *this);
|
||||
remap();
|
||||
auto clone_region = Region::create_user_accessible(m_range, m_vmobject->clone(), m_offset_in_vmo, m_name, m_access);
|
||||
clone_region->ensure_cow_map();
|
||||
return clone_region;
|
||||
|
@ -220,3 +220,9 @@ void Region::map(PageDirectory& page_directory)
|
|||
{
|
||||
MM.map_region_at_address(page_directory, *this, vaddr());
|
||||
}
|
||||
|
||||
void Region::remap()
|
||||
{
|
||||
ASSERT(m_page_directory);
|
||||
MM.map_region_at_address(*m_page_directory, *this, vaddr());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue