| Age | Commit message (Collapse) | Author |
|
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>
|
|
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
OS_DESIGN.drawio
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>
|
|
as a DDK driver.
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>
|
|
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>
|
|
Rename the NetBoot module to BootNet to avoid confusion with Apple's
NetBoot and better reflect the module's role within BootZ.
Updates include:
- Renamed module directory: NetBoot/ → BootNet/
- Renamed files and headers: NetBoot.cc → BootNet.cc, etc.
- Updated build output: netboot.sys → bootnet.sys
- Replaced all references in build scripts, source includes, and user-visible strings
- Fixed typo in SysChk.cc copyright
This unifies naming across modules and reinforces BootZ's modular identity.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
Collapse the EFI namespace into Boot to unify BootZ's interface for firmware
handling. This simplifies calls to functions like Stop(), ThrowError(),
and ExitBootServices(), and improves consistency across boot modules.
Also rename SysChk/Module.cc to SysChk/SysChk.cc for naming consistency
with other modules.
Improve NetBoot fallback path in BootEFI:
- Ensure netboot.sys is read before ExitBootServices() to avoid allocation
issues after exiting firmware services.
- Reuse reader and thread objects if kernel boot fails.
- Update both AMD64 and ARM64 paths to follow the same logic.
Update all call sites to use Boot:: instead of EFI::.
Fixes: broken error handling and memory reads after ExitBootServices()
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
- Renamed __BOOTLDR_STANDALONE__ → __BOOTZ_STANDALONE__ across all modules.
- Introduced NetBoot module to support fallback booting via packets.
- Updated amd64-desktop build to bundle netboot.sys as part of system image.
- NetBoot now properly zeroes out its header and performs sanity check on PatchLength.
- Boot flow now attempts to fallback to NetBoot if neoskrnl.exe fails to start.
- Reorganized disk formatting logic for clarity and better failure recovery.
- HeFS & NeFS minimum disk size lowered (64GiB → 256MiB and 4GiB → 8MiB).
- Renamed `IndexProperty` to `Index` in FSKit::Indexer.
- Moved HintKit → hint/, updated includes and guards.
- Removed deprecated LPC.{cc,h}, replaced by ProcessCodes.h.
- Modernized SystemCalls.h typedefs: SCIObject → Ref, ThreadObject → ThreadRef, etc.
- Updated userland tools `make_app` and `open` with copyright and behavior fixes.
This prepares the BootZ infrastructure for headless/network environments.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
|
|
refactor: rename SCIKit -> user (then libuser.dylib)
boot/modules/netboot: fixed compilation for amd64.
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>
|
|
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>
|
|
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>
|