| Age | Commit message (Collapse) | Author |
|
kernel, IMP: StorageKit: Remove usage of cleanup method on AHCI, DMA,
and PIO.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- HeFS requires a 4gb disk at minimum now.
- make_app fully supports STEPS.
- Errata of NeFS.tex, add HeFS.tex.
- Better boot flow.
- New filesystems for FileMgr.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
at IVT.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
kernel.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
kernel fetching
- Added BootNet module to support network boot using EFI_SIMPLE_NETWORK_PROTOCOL
- Replaced ModuleMain with BootloaderMain as unified entry point
- Implemented EFI protocol discovery, startup, and logging for netboot
- Updated linker scripts, GDB configs, and build targets accordingly
- Laid groundwork for full HTTP/TCP/IP bootloader logic
- Improved kernel handoff logic and memory allocation fallback handling
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Add kDeviceTypeATA in DeviceMgr.h, making NeKernel aware that ATA
devices can exist too.
The scheduler now won't have to reimplement new classes, I refactor the
names to signal that, and they're already generic enough to signal that.
The AHCI-Generic driver got cleaned up of any irrelevant code, such as
aligning the newly allocated pointer.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Please read the commit details for in-depth insights.
- Add stack smash prevention code.
- Better prevention in BitMap Mgr.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
AHCI detection system.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
driver.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
mbci_test_mmio, test DMA on AHCI too.
- Alongside fixes for BootNet, SysChk, and refactor for KernelScheduler, and
MemoryMgr.
- IMPORTANT: Add MBCI specs.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Renamed Boot.S → BootNetStartup.S and SysChk/Boot.S → SysChkStartup.S for clarity
- Replaced BOOTNET_INTERNET_HEADER.ImpliesEEPROM with ImpliesProgram to better reflect the generic reprogramming intent
- Introduced `bootnet_read_udp_packet()` stub for future UDP packet parsing from bootnet.json
- Minor alignment and comment fixes in various headers (CoreBoot, EPM, Json)
- Updated HalPagingMgr to use PageStore instead of NE_PAGE_STORE
- Boot time now prints cycles since start; triggered fs_init_nefs() earlier during HAL init
- Prep for extended MBCI and master structure support in COREBOOT_LINEAR_EXEC
- Numerous cleanups across DMA, NewKit, and Json parsing to prep for extended patching and block-level bootstrap
This lays groundwork for richer NetBoot infrastructure in NeKernel and aligns naming and structure conventions across subsystems.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
StorageKit specs and
cleaned up DMA driver for a future more robust implementation.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Consolidated CoreGfx headers:
* Renamed `FBMgr.h` to `CoreGfx.h`
* Renamed `TextMgr.h` → `TextGfx.h`, `MathMgr.h` → `MathGfx.h`, and `AccessibilityMgr.h` → `CoreAccess.h`
* Updated all includes across bootloader, HAL, and kernel to use new names
- Standardized EFI entrypoint:
* Replaced `Main` with `ModuleMain` in EFI boot sources and linker flags
* Updated GDB and build scripts accordingly
- Improved AHCI identify logic:
* Added full 48-bit LBA extraction (words 100–102)
* Fallback to 28-bit if LBA48 not supported
* Refactored `drv_get_size` and `drv_std_detected` into separate `#ifdef __AHCI__` region
- DiskImage framework improvements:
* Namespaced API into `DI` namespace
* Split implementation: `DiskImage+EPM.cc` and `DiskImage+NeFS.cc`
* Updated CLI tool accordingly
- KernelTest framework:
* Namespaced macros and classes with `KT_`
* Changed test result to use `MUST_PASS` and boolean return
- Misc:
* Corrected minor logic in `NetworkDevice::Name()`
* Bumped down KernelKit and NewKit versions to 0.0.1
* Renamed `HalUtils.asm` → `HalUtilsAPI.asm`
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
standards.
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
as a DDK driver.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Normalize descriptor loading logic under Register64.
Prefix low-level port and MSR functions with hal_ for consistency.
Improve APIC init flow to reflect MADT-based IRQ routing.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
sched: refactor: refactor scheduler file names, for future additions.
xcoff: refactor: document and improve XCOFF for NeFS (regarding Ne's FW)
codemgr: refactor: make a difference between kernel and user processes.
refactor: document project overall.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
mbci: reintroduce NeKernel's MBCI.
cfkit: rename: CFKit -> CF
libuser: rename ErrKind to ErrRef.
coregfx: fix last unconsistent things about the module.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
sched: Fix redundancy in NeKernel's user scheduler macros, refactored
the other files using the redundant macros too.
part one of a series of commit for NeKernel.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
|
|
needed to treat them as commands.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
This patch begins a major cleanup and enhancement of AHCI I/O handling:
- Refactored AHCI command setup logic to prepare FIS and PRDT entries more correctly.
- Fixed miscalculation of 48-bit LBA extraction from IDENTIFY response.
- Rewrote PRDT loop to increment physical address per entry instead of recomputing offsets.
- Replaced read/write/identify branching with unified ternary logic for clarity.
- Ensured proper stopping and reinitialization of command engine before issuing commands.
- Explicitly remap and zero command list base, FIS base, and command table areas.
- Made command slot lookup more robust.
- Added fallback wait after command completion to avoid SRBSY/SRDRQ residue.
- Dropped misused `YES` flag in read/write call sites — now passed only when needed.
Also includes:
- Minor cleanup in `BootKit.h` (whitespace).
- NeFS debug message clarified to avoid accidental fork overwrites.
This is a **work-in-progress** rework of the AHCI path. Next steps will involve:
- More robust error recovery.
- Support for non-512 sector drives.
- Support for multiple ports and NCQ.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
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>
|
|
Removing useless parts of the project too.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
|