| Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
|
|
changes have been made too, see commit details for more information.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
file type.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
public(CF.fwrk): Add btb file to CF framework.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Removing useless parts of the project too.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
to avoid repeating myself in the code.
|
|
- 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>
|
|
Applied the patch to Iterator.cc.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|
|
repository standards.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
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>
|
|
NetBoot.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
- 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>
|
|
|
|
|
|
|
|
- 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>
|
|
|
|
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
- Make use of BFileDescriptor to provide a single file, or a bunch of
them.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|
|
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
- 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>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|
|
HalKernelMain.cc: Use the correct term for the scheduler init function.
|
|
DRY principle on drv_std_init_ahci.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
- 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>
|
|
|
|
code too (Still WIP)
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|
|
|