From 0ead895f52d24dad009f738037a7795d4e3d840a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 25 Mar 2025 15:35:28 +0100 Subject: 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 --- dev/kernel/src/PageMgr.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'dev/kernel/src/PageMgr.cc') 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(ptr)}; } -- cgit v1.2.3