1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:37:35 +00:00

Kernel: Remove some Region construction helpers

It's now up to the caller to provide a VMObject when constructing a new
Region object. This will make it easier to handle things going wrong,
like allocation failures, etc.
This commit is contained in:
Andreas Kling 2020-03-01 11:02:22 +01:00
parent fddc3c957b
commit 88b334135b
4 changed files with 5 additions and 30 deletions

View file

@ -38,16 +38,6 @@
namespace Kernel {
Region::Region(const Range& range, const String& name, u8 access, bool cacheable)
: m_range(range)
, m_vmobject(AnonymousVMObject::create_with_size(size()))
, m_name(name)
, m_access(access)
, m_cacheable(cacheable)
{
MM.register_region(*this);
}
Region::Region(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const String& name, u8 access, bool cacheable)
: m_range(range)
, m_offset_in_vmobject(offset_in_vmobject)
@ -175,13 +165,6 @@ size_t Region::amount_shared() const
return bytes;
}
NonnullOwnPtr<Region> Region::create_user_accessible(const Range& range, const StringView& name, u8 access, bool cacheable)
{
auto region = make<Region>(range, name, access, cacheable);
region->m_user_accessible = true;
return region;
}
NonnullOwnPtr<Region> Region::create_user_accessible(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const StringView& name, u8 access, bool cacheable)
{
auto region = make<Region>(range, move(vmobject), offset_in_vmobject, name, access, cacheable);
@ -196,13 +179,6 @@ NonnullOwnPtr<Region> Region::create_kernel_only(const Range& range, NonnullRefP
return region;
}
NonnullOwnPtr<Region> Region::create_kernel_only(const Range& range, const StringView& name, u8 access, bool cacheable)
{
auto region = make<Region>(range, name, access, cacheable);
region->m_user_accessible = false;
return region;
}
bool Region::should_cow(size_t page_index) const
{
auto& slot = vmobject().physical_pages()[page_index];