summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/PageMgr.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-03-25 15:35:28 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-03-25 15:35:28 +0100
commit0ead895f52d24dad009f738037a7795d4e3d840a (patch)
tree863fd1c881fc7bf26ab78b932421e6416bbef288 /dev/kernel/src/PageMgr.cc
parent59dbe4cffc7c633709ef8b45f49c46daf7f74e92 (diff)
kernel: Refactor AHCI I/O path, enhance memory allocators, and cleanup obsolete script
- Removed unused `build_gcc.sh` script. - Namespaced CPU feature flags under `NeOS` and transitioned from enum to unnamed enum for scoping. - Renamed `drv_std_input_output` to `drv_std_input_output_ahci` for clarity. - Improved AHCI driver documentation and added zeroing for read buffers. - Added optional `pad` parameter to memory allocators: `mm_alloc_bitmap`, `mm_new_heap`, `PageMgr::Request`, etc. - Updated bitmap allocator to correctly handle and align with padded sizes. - Added `fPad` field to memory header block. - Fixed `ATA-DMA` mode comment, corrected PRD usage and logic. - Improved code documentation and formatting in `UserProcessScheduler`, `PageMgr`, and related components. - Enhanced safety in process memory cleanup (e.g., `StackReserve` cleanup). Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/PageMgr.cc')
-rw-r--r--dev/kernel/src/PageMgr.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/dev/kernel/src/PageMgr.cc b/dev/kernel/src/PageMgr.cc
index eb7c7e03..6a8622ed 100644
--- a/dev/kernel/src/PageMgr.cc
+++ b/dev/kernel/src/PageMgr.cc
@@ -57,10 +57,10 @@ namespace NeOS
/// @param User user mode?
/// @param ExecDisable disable execution on page?
/// @return
- PTEWrapper PageMgr::Request(Boolean Rw, Boolean User, Boolean ExecDisable, SizeT Sz)
+ PTEWrapper PageMgr::Request(Boolean Rw, Boolean User, Boolean ExecDisable, SizeT Sz, SizeT Pad)
{
// Store PTE wrapper right after PTE.
- VoidPtr ptr = NeOS::HAL::mm_alloc_bitmap(Rw, User, Sz, false);
+ VoidPtr ptr = NeOS::HAL::mm_alloc_bitmap(Rw, User, Sz, NO, Pad);
return PTEWrapper{Rw, User, ExecDisable, reinterpret_cast<UIntPtr>(ptr)};
}