ladybird/Kernel/VM
Andreas Kling 9c856811b2 Kernel: Add Region helpers for accessing underlying physical pages
Since a Region is basically a view into a potentially larger VMObject,
it was always necessary to include the Region starting offset when
accessing its underlying physical pages.

Until now, you had to do that manually, but this patch adds a simple
Region::physical_page() for read-only access and a physical_page_slot()
when you want a mutable reference to the RefPtr<PhysicalPage> itself.

A lot of code is simplified by making use of this.
2020-04-28 17:05:14 +02:00
..
AnonymousVMObject.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
AnonymousVMObject.h Kernel: Expose the VMObject type of each Region in /proc/PID/vm 2020-02-28 23:25:40 +01:00
ContiguousVMObject.cpp Kernel: Allow contiguous allocations in physical memory 2020-03-08 14:13:30 +01:00
ContiguousVMObject.h Kernel: Allow contiguous allocations in physical memory 2020-03-08 14:13:30 +01:00
InodeVMObject.cpp Kernel: Include the dirty bits when cloning an InodeVMObject 2020-03-01 12:11:50 +01:00
InodeVMObject.h Kernel: Split InodeVMObject into two subclasses 2020-02-28 20:20:35 +01:00
MemoryManager.cpp Kernel: Switch the first-8MB-of-upper-3GB pseudo mappings to 4KB pages 2020-04-13 22:35:37 +02:00
MemoryManager.h Kernel: Switch the first-8MB-of-upper-3GB pseudo mappings to 4KB pages 2020-04-13 22:35:37 +02:00
PageDirectory.cpp Kernel: Add missing #includes now that <AK/StdLibExtras.h> is smaller 2020-03-08 13:06:51 +01:00
PageDirectory.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
PhysicalPage.cpp Kernel: Run clang-format on files 2020-03-22 01:22:32 +01:00
PhysicalPage.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
PhysicalRegion.cpp Kernel: Allow contiguous allocations in physical memory 2020-03-08 14:13:30 +01:00
PhysicalRegion.h Kernel: Allow contiguous allocations in physical memory 2020-03-08 14:13:30 +01:00
PrivateInodeVMObject.cpp Kernel: Split InodeVMObject into two subclasses 2020-02-28 20:20:35 +01:00
PrivateInodeVMObject.h Kernel: Add some InodeVMObject type assertions in Region::clone() 2020-03-01 11:23:10 +01:00
ProcessPagingScope.cpp Kernel: Move ProcessPagingScope to its own files 2020-03-01 15:38:09 +01:00
ProcessPagingScope.h Kernel: Move ProcessPagingScope to its own files 2020-03-01 15:38:09 +01:00
PurgeableVMObject.cpp Kernel: Purging a page should point it back to the shared zero page 2020-02-18 09:56:11 +01:00
PurgeableVMObject.h Kernel: Expose the VMObject type of each Region in /proc/PID/vm 2020-02-28 23:25:40 +01:00
RangeAllocator.cpp AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
RangeAllocator.h Kernel+LibC: Allow sys$mmap() callers to specify address alignment 2020-02-16 12:55:56 +01:00
Region.cpp Kernel: Add Region helpers for accessing underlying physical pages 2020-04-28 17:05:14 +02:00
Region.h Kernel: Add Region helpers for accessing underlying physical pages 2020-04-28 17:05:14 +02:00
SharedInodeVMObject.cpp Kernel: Split InodeVMObject into two subclasses 2020-02-28 20:20:35 +01:00
SharedInodeVMObject.h Kernel: Add some InodeVMObject type assertions in Region::clone() 2020-03-01 11:23:10 +01:00
TypedMapping.h Kernel: Add typed_map<T>(PhysicalAddress) and use it in ACPI parsing 2020-04-09 17:19:11 +02:00
VMObject.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
VMObject.h Kernel: Allow contiguous allocations in physical memory 2020-03-08 14:13:30 +01:00