mirror of
https://github.com/RGBCube/serenity
synced 2025-05-15 07:04:59 +00:00
Kernel: Remove ability to create kernel-only regions at user addresses
This was only used by the mechanism for mapping executables into each process's own address space. Now that we remap executables on demand when needed for symbolication, this can go away.
This commit is contained in:
parent
e56f8706ce
commit
47beab926d
2 changed files with 8 additions and 12 deletions
|
@ -207,7 +207,7 @@ Region* Process::allocate_region(VirtualAddress vaddr, size_t size, const String
|
|||
return allocate_region(range, name, prot, commit);
|
||||
}
|
||||
|
||||
Region* Process::allocate_region_with_vmobject(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const String& name, int prot, bool user_accessible)
|
||||
Region* Process::allocate_region_with_vmobject(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const String& name, int prot)
|
||||
{
|
||||
ASSERT(range.is_valid());
|
||||
size_t end_in_vmobject = offset_in_vmobject + range.size();
|
||||
|
@ -224,21 +224,17 @@ Region* Process::allocate_region_with_vmobject(const Range& range, NonnullRefPtr
|
|||
return nullptr;
|
||||
}
|
||||
offset_in_vmobject &= PAGE_MASK;
|
||||
Region* region;
|
||||
if (user_accessible)
|
||||
region = &add_region(Region::create_user_accessible(range, move(vmobject), offset_in_vmobject, name, prot_to_region_access_flags(prot)));
|
||||
else
|
||||
region = &add_region(Region::create_kernel_only(range, move(vmobject), offset_in_vmobject, name, prot_to_region_access_flags(prot)));
|
||||
region->map(page_directory());
|
||||
return region;
|
||||
auto& region = add_region(Region::create_user_accessible(range, move(vmobject), offset_in_vmobject, name, prot_to_region_access_flags(prot)));
|
||||
region.map(page_directory());
|
||||
return ®ion;
|
||||
}
|
||||
|
||||
Region* Process::allocate_region_with_vmobject(VirtualAddress vaddr, size_t size, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const String& name, int prot, bool user_accessible)
|
||||
Region* Process::allocate_region_with_vmobject(VirtualAddress vaddr, size_t size, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const String& name, int prot)
|
||||
{
|
||||
auto range = allocate_range(vaddr, size);
|
||||
if (!range.is_valid())
|
||||
return nullptr;
|
||||
return allocate_region_with_vmobject(range, move(vmobject), offset_in_vmobject, name, prot, user_accessible);
|
||||
return allocate_region_with_vmobject(range, move(vmobject), offset_in_vmobject, name, prot);
|
||||
}
|
||||
|
||||
bool Process::deallocate_region(Region& region)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue