| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
the B-Tree.
- RT Scheduler fixed.
- B-Tree improved.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Currently working on VEPM and adapting it to SysChk.
- Refactor DriveMgr for VEPM.
- Fix warnings in HeFS.cc, ALIGN(8) on HeFS.h
- Update PIO modules to use VEPM.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- ran format command.
- a variation of a red-black tree traversal, with customized
fallback mechanism.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Regarding process spawning and process exit safer with
boundary checks and pointer checks.
- Made the method HasMP smarter, with assert as kHandoverHeader
is expected to be valid.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Patch HeFS implementation file, working on a allocation
function now.
- Generated LaTeX specs from source code.
- Add mk.{hefs, nefs} tools for future formatting (with diutil
first)
- Add python tool to generate user apps for NeKernel.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Started implementing the wrt_* APIs (Wide string functions)
- Make user.sys link now, need to implement more syscalls.
- Tiny HEFS refactors too.
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>
|
|
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>
|
|
kernel, IMP: StorageKit: Remove usage of cleanup method on AHCI, DMA,
and PIO.
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>
|
|
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>
|
|
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>
|
|
TL;DR:
- Avoiding unecessary delays, when copying filesystem name to part block
(EPM)
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>
|
|
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>
|
|
- 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>
|
|
|
|
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>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Renamed `fDriveKind` to `fProtocol` across kernel storage subsystems
to clarify its purpose as a protocol identifier (e.g., "AHCI", "ATA-")
rather than a general "kind" classification.
Updated all affected header and source files:
- DriveMgr, HeFS, AHCI, ATADeviceInterface, and NeFS now consistently
reference `fProtocol()` instead of `fDriveKind()`.
- Added streaming operators (`<<`, `>>`) to AHCI and ATA device
interfaces for improved mountpoint interaction.
- Promoted `GetPortsImplemented()` and `SetPortsImplemented()` to
public for AHCI device configuration.
- Added null checks and protocol verification logic in stream operators.
This refactor improves clarity and consistency when working with
storage devices across the kernel.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Framebuffer mode selection now defaults gracefully when the expected resolution is unavailable.
EFI binaries now boot successfully on physical hardware using a fixed image base and simplified jump logic.
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>
|
|
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>
|
|
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>
|