summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel
AgeCommit message (Collapse)Author
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-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-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
2025-03-16Semaphore.h: Add Type.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-16ADD: BinaryMutex class, and reworking Semaphore class.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-16Variant: Add ::Kind method.Amlal El Mahrouss
2025-03-16AHCI: FIX: Place det || ipm condition before checking for ATAPI/SATA.Amlal El Mahrouss
AHCI: Finish .drawio design of AHCI driver. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-16AHCI+Generic.cc: Remove duplicate Cmd (FIS recv enable + Start Command tbl)Amlal El Mahrouss
2025-03-16AHCI.cc: FIX: Avoid looking on DMA directly.Amlal El Mahrouss
2025-03-16AHCI+Generic.cc: Fix formula for kSATASectorCount.Amlal El Mahrouss
2025-03-16KString.cc: Use this-> in code.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-16FIX: IPEFDylibObject.cc: delete dll_Obj->Get() too, when fBlob is NULL.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-15Refactor critical functions in MemoryMgr.ccAmlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-15KernelMain.cc: Remove Auto Format code.Amlal El Mahrouss
2025-03-15Kernel: Networking code tweaks.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-14TQ-24 && TQ-16: Add build scripts for MBCI, MBCI+Flash, and UFS.Amlal El Mahrouss
META: Along other tweaks and important ARM64 patches. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-14Kernel: Patch UserProcess::Delete, and AHCI identify command.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-14NeFS.cc: better error handling.Amlal El Mahrouss
2025-03-14AHCI: Important tweaks.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
2025-03-14NeFS.cc: Fix broken driver bug.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>