1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00

Refactor the virtual memory object model a bit:

Process now has a number of Regions.
Each Region is backed by a VMObject.
A VMObject can be file-backed or anonymous. These can be shared.
This commit is contained in:
Andreas Kling 2018-11-08 14:35:30 +01:00
parent 3c8064a787
commit 862f108cb5
6 changed files with 165 additions and 31 deletions

View file

@ -59,8 +59,8 @@ ByteBuffer procfs$pid_vm(Process& process)
region->linearAddress.offset(region->size - 1).get(),
region->size,
region->name.characters());
for (size_t i = 0; i < region->physical_pages.size(); ++i) {
auto& physical_page = region->physical_pages[i];
for (size_t i = 0; i < region->vmo().page_count(); ++i) {
auto& physical_page = region->vmo().physical_pages()[i];
ptr += ksprintf(ptr, "P%x%s(%u) ",
physical_page ? physical_page->paddr().get() : 0,
region->cow_map.get(i) ? "!" : "",