mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-11-15 03:27:49 +01:00
kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup
This commit is contained in:
parent
6a85f7225d
commit
7b279ab863
@ -128,10 +128,6 @@ namespace ams::kern::arch::arm64 {
|
|||||||
return this->page_table.MakeAndOpenPageGroup(out, address, num_pages, state_mask, state, perm_mask, perm, attr_mask, attr);
|
return this->page_table.MakeAndOpenPageGroup(out, address, num_pages, state_mask, state, perm_mask, perm, attr_mask, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
Result MakeAndOpenPageGroupContiguous(KPageGroup *out, KProcessAddress address, size_t num_pages, u32 state_mask, u32 state, u32 perm_mask, u32 perm, u32 attr_mask, u32 attr) {
|
|
||||||
return this->page_table.MakeAndOpenPageGroupContiguous(out, address, num_pages, state_mask, state, perm_mask, perm, attr_mask, attr);
|
|
||||||
}
|
|
||||||
|
|
||||||
Result InvalidateProcessDataCache(KProcessAddress address, size_t size) {
|
Result InvalidateProcessDataCache(KProcessAddress address, size_t size) {
|
||||||
return this->page_table.InvalidateProcessDataCache(address, size);
|
return this->page_table.InvalidateProcessDataCache(address, size);
|
||||||
}
|
}
|
||||||
|
@ -345,7 +345,6 @@ namespace ams::kern {
|
|||||||
Result UnmapPageGroup(KProcessAddress address, const KPageGroup &pg, KMemoryState state);
|
Result UnmapPageGroup(KProcessAddress address, const KPageGroup &pg, KMemoryState state);
|
||||||
|
|
||||||
Result MakeAndOpenPageGroup(KPageGroup *out, KProcessAddress address, size_t num_pages, u32 state_mask, u32 state, u32 perm_mask, u32 perm, u32 attr_mask, u32 attr);
|
Result MakeAndOpenPageGroup(KPageGroup *out, KProcessAddress address, size_t num_pages, u32 state_mask, u32 state, u32 perm_mask, u32 perm, u32 attr_mask, u32 attr);
|
||||||
Result MakeAndOpenPageGroupContiguous(KPageGroup *out, KProcessAddress address, size_t num_pages, u32 state_mask, u32 state, u32 perm_mask, u32 perm, u32 attr_mask, u32 attr);
|
|
||||||
|
|
||||||
Result InvalidateProcessDataCache(KProcessAddress address, size_t size);
|
Result InvalidateProcessDataCache(KProcessAddress address, size_t size);
|
||||||
|
|
||||||
|
@ -2039,29 +2039,6 @@ namespace ams::kern {
|
|||||||
return ResultSuccess();
|
return ResultSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
Result KPageTableBase::MakeAndOpenPageGroupContiguous(KPageGroup *out, KProcessAddress address, size_t num_pages, u32 state_mask, u32 state, u32 perm_mask, u32 perm, u32 attr_mask, u32 attr) {
|
|
||||||
/* Ensure that the page group isn't null. */
|
|
||||||
MESOSPHERE_ASSERT(out != nullptr);
|
|
||||||
|
|
||||||
/* Make sure that the region we're mapping is valid for the table. */
|
|
||||||
const size_t size = num_pages * PageSize;
|
|
||||||
R_UNLESS(this->Contains(address, size), svc::ResultInvalidCurrentMemory());
|
|
||||||
|
|
||||||
/* Lock the table. */
|
|
||||||
KScopedLightLock lk(this->general_lock);
|
|
||||||
|
|
||||||
/* Check if state allows us to create the group. */
|
|
||||||
R_TRY(this->CheckMemoryStateContiguous(address, size, state_mask | KMemoryState_FlagReferenceCounted, state | KMemoryState_FlagReferenceCounted, perm_mask, perm, attr_mask, attr));
|
|
||||||
|
|
||||||
/* Create a new page group for the region. */
|
|
||||||
R_TRY(this->MakePageGroup(*out, address, num_pages));
|
|
||||||
|
|
||||||
/* Open a new reference to the pages in the group. */
|
|
||||||
out->Open();
|
|
||||||
|
|
||||||
return ResultSuccess();
|
|
||||||
}
|
|
||||||
|
|
||||||
Result KPageTableBase::InvalidateProcessDataCache(KProcessAddress address, size_t size) {
|
Result KPageTableBase::InvalidateProcessDataCache(KProcessAddress address, size_t size) {
|
||||||
/* Check that the region is in range. */
|
/* Check that the region is in range. */
|
||||||
R_UNLESS(this->Contains(address, size), svc::ResultInvalidCurrentMemory());
|
R_UNLESS(this->Contains(address, size), svc::ResultInvalidCurrentMemory());
|
||||||
|
Loading…
Reference in New Issue
Block a user