serenity/Kernel/Memory
Idan Horowitz 827322c139 Kernel: Stop allocating physical pages for mapped MMIO regions
As MMIO is placed at fixed physical addressed, and does not need to be
backed by real RAM physical pages, there's no need to use PhysicalPage
instances to track their pages.
This results in slightly reduced allocations, but more importantly
makes MMIO addresses which end up after the normal RAM ranges work,
like 64-bit PCI BARs usually are.
2024-05-17 15:38:28 -06:00
..
AddressSpace.cpp Kernel: Allow relaxing cleanup task rules during system shutdown 2023-07-15 00:12:01 +02:00
AddressSpace.h Kernel+Userland: Convert process syscall region enforce flag to SetOnce 2024-05-14 12:41:51 -06:00
AllocationStrategy.h Kernel: Rename Kernel/VM/ to Kernel/Memory/ 2021-08-06 14:05:58 +02:00
AnonymousVMObject.cpp Kernel: Mark cloned volatile purgeable AnonymousVMOjects as purged 2023-12-22 10:57:59 +01:00
AnonymousVMObject.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
InodeVMObject.cpp Kernel: Use RefPtr instead of LockRefPtr for PhysicalPage 2022-08-24 18:35:41 +02:00
InodeVMObject.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
MappedROM.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
MemoryManager.cpp Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
MemoryManager.h Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
MemorySections.h Kernel/Memory: Split the MemoryManager.h file from user address checks 2023-08-09 21:06:54 -06:00
MMIOVMObject.cpp Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
MMIOVMObject.h Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
PageFaultResponse.h Kernel: Send SIGBUS to threads that use after valid Inode mmaped range 2022-09-26 20:00:34 +03:00
PhysicalAddress.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
PhysicalPage.cpp Kernel: Make NNRP<PhysicalPage const> possible 2023-02-21 00:54:04 +01:00
PhysicalPage.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
PhysicalRegion.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
PhysicalRegion.h Kernel: Stop using NonnullLockRefPtrVector 2023-03-06 23:46:36 +01:00
PhysicalZone.cpp Kernel: Add implied auto qualifiers in Memory 2022-01-09 23:29:57 -08:00
PhysicalZone.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
PrivateInodeVMObject.cpp AK: Rename Bitmap::try_create() to ::create() 2022-12-22 15:48:53 +01:00
PrivateInodeVMObject.h Kernel: Handle mmap requests on zero-length data file inodes safely 2022-09-16 14:55:45 +03:00
Region.cpp Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
Region.h Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
RegionTree.cpp Kernel: Move Random.{h,cpp} code to Security subdirectory 2023-06-04 21:32:34 +02:00
RegionTree.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
RingBuffer.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
RingBuffer.h Kernel: Add an initial implementation of virtio-net driver 2023-07-11 00:49:11 -06:00
ScatterGatherList.cpp Kernel/ScatterGatherList: Add region_name as a part of try_create API 2023-05-19 22:04:37 +02:00
ScatterGatherList.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
ScopedAddressSpaceSwitcher.cpp Kernel: Move InterruptDisabler to the Interrupts subdirectory 2023-06-04 21:32:34 +02:00
ScopedAddressSpaceSwitcher.h Kernel: Implement ScopedAddressSpaceSwitcher using PageDirectory 2023-04-06 21:19:58 +03:00
SharedFramebufferVMObject.cpp Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
SharedFramebufferVMObject.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
SharedInodeVMObject.cpp AK: Rename Bitmap::try_create() to ::create() 2022-12-22 15:48:53 +01:00
SharedInodeVMObject.h Kernel: Handle mmap requests on zero-length data file inodes safely 2022-09-16 14:55:45 +03:00
TypedMapping.h Kernel: Stop allocating physical pages for mapped MMIO regions 2024-05-17 15:38:28 -06:00
VirtualAddress.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
VirtualRange.cpp Kernel+LibC: Move name length constants to Kernel/API from limits.h 2023-01-21 10:43:59 -07:00
VirtualRange.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
VMObject.cpp AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
VMObject.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00