summaryrefslogtreecommitdiffhomepage
path: root/dev
AgeCommit message (Collapse)Author
2025-03-25cli(diutil): moved CommandLine.cc to src/Amlal El Mahrouss
ahci(generic): set err_global_get() when probing or command fails, use HbaMemRef when refering to HbaMem* Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-03-25kernel: Refactor AHCI I/O path, enhance memory allocators, and cleanup ↵Amlal El Mahrouss
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>
2025-03-25fix(build&ci): build script was refering to the old HalBoot.asm.Amlal El Mahrouss
2025-03-25refactor(kernel): Refactor MemoryMgr code and log freed address location.Amlal El Mahrouss
feat(setup_amd64): Add 'disk' build step. fix(hal/amd64): Fix warning regarding resb being used inside a non-bss area (using no-op instead). feat(kernelkit/lockdelegate): add new entry to lock delegate's enum (ensure validation). feat(meta): ran format.sh to format files according to .clang-format. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-03-24doc(fix): didn't got the email handle correctly.Amlal El Mahrouss
2025-03-24feat(meta): minor tweaks.Amlal El Mahrouss
2025-03-24kernel(feat): Add basic wide system bug check (memory check), otherAmlal El Mahrouss
changes have been made too, see commit details for more information. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-23feat(meta): move documentation to either drawio/ or /md/ according toAmlal El Mahrouss
file type. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-23feat(SwapDisk.cc): Check for empty fork name in I/O methods.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-23Rename libSCI to libSCIKitAmlal El Mahrouss
2025-03-23kernel(fix): Last fixes in order to build NeKernel, and fix CI.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-23kernel(platform): Remove AXP platform.Amlal El Mahrouss
public(CF.fwrk): Add btb file to CF framework. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-23meta(kernel): Reworked repository's filesystem structure.Amlal El Mahrouss
Removing useless parts of the project too. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-22kernel(tweak): Tweak scheduler interrupt handlerAmlal El Mahrouss
to avoid repeating myself in the code.
2025-03-22kernel(general): Refactor AHCI driver and clean up project structureAmlal El Mahrouss
- Reworked AHCI command setup: fixed command slot indexing and clarified memory setup - Updated AHCI disk initialization to use reference for ATAPI flag - Cleaned up verbose logging in scheduler and IRQ handler for a quieter kernel log - Updated boot image target from fat32.img to neos.img - Renamed and moved documentation files from `doc/` to `docs/` for consistency - Renamed `make_docs.sh` to `osx_docs.sh` to reflect platform-specific intent - Minor formatting improvements in DiskImage struct - Revised ReadMe: clarified mount instructions and removed outdated screenshots Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-22kernel(PCI): Let compare UInt8 (UChar) with PciDeviceKind in Database.hAmlal El Mahrouss
Applied the patch to Iterator.cc. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-21kernel(meta): Remove useless readme.Amlal El Mahrouss
2025-03-21project(format): Ran the run_format.sh, in order to comply withAmlal El Mahrouss
repository standards. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-21kernel(storage): Add two functions, sk_io_read_ahci and sk_io_write_ahci. To ↵Amlal El Mahrouss
avoid using lambdas inside the device initialization expression. This leads to the following: - Better readability. - Much more predictible code. - And a check on *disk* which could've been invalid memory area (NULL address here) Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20NetBoot.cc: Rework NetBoot module, EEPROM flash needs to be implemented for ↵Amlal El Mahrouss
NetBoot. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20Refactored BootKit and DiskImage framework, minor kernel fixesAmlal El Mahrouss
- Refactored BootKit classes: - Renamed `BTextWriter` → `BootTextWriter` - Renamed `BFileReader` → `BootFileReader` - Improved consistency across `BootKit.h`, `BootThread.cc`, and related files. - Updated NetBoot module: - Standardized text writer usage. - Improved error handling for missing patches and EEPROM flash. - DiskImage framework improvements: - Introduced `DI_DISK_IMAGE` struct. - Added new `DIFormatDisk()` and `DIFormatNeFS()` functions. - Improved error handling and structure alignment. - Kernel enhancements: - Updated PE loader structures for better readability. - Renamed PE header fields for consistency. - Improved SwapDisk API structure (`SwapDiskHdr` → `SWAP_DISK_HEADER`). Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20doc: Refactor names in directory.Amlal El Mahrouss
2025-03-20NetBoot.h: Rename NetBootInternetHeader to NETBOOT_INTERNET_HEADER.Amlal El Mahrouss
2025-03-20AXP: Remove unprofessional readme(s).Amlal El Mahrouss
2025-03-20AHCI-Generic.cc: Disk Driver builtin improvements.Amlal El Mahrouss
- Poll for CR in ahci_enable_and_probe. - Init NeFS, not an AHCI device for portability. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20CI: Update Makefile and CI step.Amlal El Mahrouss
2025-03-20Use a generic gcc for the CI.Amlal El Mahrouss
2025-03-20Add CI makefile.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20Tweak Build Makefile for SCI.Amlal El Mahrouss
2025-03-20BootKit.h: Documentation improvements to BDiskFormatFactory.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20BootKit.h: Better logging of the new partition's block.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20BootKit.h: refactor BDiskFormatFactory class.Amlal El Mahrouss
- Make use of BFileDescriptor to provide a single file, or a bunch of them. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-20Boot: Remove its useless ReadMe.Amlal El Mahrouss
2025-03-20DMA.cc: Use UInt32 instead of UIntPtr for the offset.Amlal El Mahrouss
2025-03-19Replace BSD-3 with GPL 3.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-19refactor(kernel): Standardize DMA and AHCI interfaces and enhance GIC handlingAmlal El Mahrouss
- Replace ambiguous WordLength templates with DataKind in `ke_dma_read/write`. - Streamline AHCI driver initialization by directly assigning port implementations. - Rename AHCI methods for clarity (`SetPi` → `SetPortsImplemented`). - Standardize MMIO access by replacing `hal_mmio_read/write` with unified `ke_dma_read/write`. - Improve GIC interrupt handler on ARM64 by explicitly handling scheduler interrupts and ensuring interrupts are ended correctly. - Add debug breakpoint in infinite loop within AP setup for improved debugging. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-19AHCI+Generic.cc: Remove redundant drv_compute_disk_ahci call.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-19HalKernelMain: Better names for rdtsc related variables.Amlal El Mahrouss
2025-03-19BootEFI.cc: Document NVRAM attributes.Amlal El Mahrouss
HalKernelMain.cc: Use the correct term for the scheduler init function.
2025-03-19ADD: AHCI+Generic.cc: ahci_enable_and_probe has been added to apply theAmlal El Mahrouss
DRY principle on drv_std_init_ahci. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-19AHCI+Generic.cc: Remove unused variable 'kAHCICommandIssued'Amlal El Mahrouss
2025-03-18AHCI+Generic.cc: Don't mix Drive and Disk, when logging metadata.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-18feat(AHCI, HAL): Improve AHCI error handling & optimize HAL initializationAmlal El Mahrouss
- Refactored `sk_acquire_ahci_device(Int32 drv_index)` to return `ErrorOr<AHCIDeviceInterface>` for proper error handling instead of returning a raw object. - Moved `sk_init_ahci_device(BOOL atapi)` into the `NeOS` namespace for better encapsulation. - Reduced `HbaMem::Ports` array size from `Ports[32]` to `Ports[1]` to optimize memory usage for single-port AHCI controllers. - Removed manual constructor initialization (`__CTOR_LIST__`, `__DTOR_LIST__`) from HAL, simplifying kernel startup. - Updated `hal_real_init()` to initialize AHCI storage (`sk_init_ahci_device(NO)`) before userland execution. - Refactored `hal_get_phys_address(void* virtual_address)` to use `VoidPtr` for type safety. - Fixed incorrect buffer size (`kSzIdent`) in AHCI driver initialization from `kib_cast(1)` to `512`, ensuring correct sector identification. - Removed redundant drive model string parsing logic. - Refactored AHCI PRD iteration loop to use `prd_i` instead of `i`, improving readability. - Optimized `drv_std_input_output` by simplifying wait loop logic. Overall, this commit improves AHCI error handling, reduces redundant initialization, optimizes memory usage, and cleans up HAL and storage code. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-17TWEAK: Remove extra useless includes in HalKernelMain.ccAmlal El Mahrouss
2025-03-17ADD: Lift manadatory subsystem id on PE32+ kernel image, benchmarkingAmlal El Mahrouss
code too (Still WIP) Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-17META: Made build much more faster (34.4% speed improvement)Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-17IPCMsg.cc: DOC: Better documentation of IPC_MSG::Pass.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-17META: Ran run_format.shAmlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-17IPCMsg.cc: FIX: IPC_MSG::Pass: Fix method algorithm.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-17Atom.h Add space between operator[] and operator|.Amlal El Mahrouss