summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit
AgeCommit message (Collapse)Author
2025-05-04meta(format.sh): format codebase.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-04feat(kernel): update core scheduler enums.Amlal
why? - to avoid clashes with other values in memory. why? (regarding previous commit on HeFS) - faster lookups and the name being not shown clearly on disk is a plus. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-01kernel: mmap the blob to VMAddress in PEFCodeMgr, alongside other fixes ↵Amlal
regarding memory leaks. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-01dev, kernel: HeFS spec and tooling, and PEF spec updates.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-30kernel, sched: worked on a pending ticket (process rebalancing)Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-29dev(kernel, HeFS): reworking filesystem to find an hybrid solution regarding ↵Amlal
memory footprint (unstable changes) Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-29kernel: Figuring out the EPM header bug; where it gets duplicated when ↵Amlal
writing an IND. (HeFS) Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-28dev, kernel: HeFS, Tooling: reworked the mkfs.hefs tool for the new filesystem.Amlal
other/related: - Add new KPC codes. - Final refactors for HeFS's Format method. - Dma pool improvements. - Better standard disk I/O names. - Add mm_memory_fence function inside HalPagingMgrAMD64.cc Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-27dev, kernel: refactor and improve parts of the kernel, related to I/OAmlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-27dev: fixes and improvements, codebase formating too.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-26dev, kernel and user: codebase additions and work in progress 'tactical pause'Amlal
why? - HeFS's Formating needs some thought before being layed out, that's the kind of thing that bites hard in the ass. - Alongside those changes I improved parts of the kernel too. Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-26dev, kernel: add kernel on when the traversal hits 0 (it should never happen)Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-26dev, kernel: saving work in progress code regarding scheduler and filesystem.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev, kernel: improve nefs format method, hefs format method.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev: compiler error fixes.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev: better .clang-format, ran format command.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev, kernel: debug protocol tweaks.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev, kernel: fix kDebugTypeLen, made it inline to avoid linker errors.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler: fully implement traversal and cleanup.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler and heap related work.Amlal
- Replacing USER_HEAP_LIST with HEAP_HEAP_TREE. - Reworked Signal struct. - Add Team spinner inside ARM64 HAL too. Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler, timer: hw timer and scheduler improvements.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-24dev, tooling: Improve the tools and frameworks on userspace.Amlal El Mahrouss
Details: - See commit details for more. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-24dev, kernel: Update Status to kKilled, and not kFinished whenAmlal El Mahrouss
constructing process. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-24dev, kernel: HeFS patches and starting to implement filesystem.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-23dev, kernel: necessary refactors regarding future changes.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-23dev, kernel, boot: disk i/o and scheduler warning fixes.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-23dev, kernel: scheduler and disk swap refactors.Amlal El Mahrouss
Details: - Reworked SCSI groundwork to prepare for a Generic SCSI driver. - Refatored scheduler's code with the new coding style for structs. - Add Leak and LeakBlob inside PROCESS_IMAGE struct. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22dev, kernel: WiP changes done to kernel and SysChk module.Amlal El Mahrouss
- Getting SysChk to work again. - Refactor scheduler. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22dev, boot: fix bootloader link error caused by `kTeams`Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22dev, kernel: Milestone towards 0.0.2, see details.Amlal El Mahrouss
Details: - Added support for 512 process teams (kTeams array). - New SwitchTeam() API in UserProcessScheduler. - Kernel main loop rotates active team every 200ms. - Renamed syscall tables for clarity (kSyscalls → kSysCalls, etc.). - Replaced kKernelMaxSystemCalls with kMaxDispatchCallCount. - Updated call sites to match new naming. - Bumped format version to 0x0101. - Added reserved fields to HEFS_BOOT_NODE for future use. - Changed inode indexing logic to operate on (start, size) pairs. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22dev, kernel: VEPM WiP implementation, and syschk fixes in WiP.Amlal El Mahrouss
- 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>
2025-04-19dev, sched: last commit before 0.0.1.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-18kernel, boot: improvements and tweaks on the kernel's filesystems.Amlal El Mahrouss
- 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>
2025-04-17dev, kernel: Finish recovering files.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-17kernel, boot: recovering lost changes because of some git issue.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-15fix, kernel, boot, mod: Fixing issues regarding the boot flow and theAmlal El Mahrouss
kernel. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-14bootloader, netboot: integrate EFI_SIMPLE_NETWORK_PROTOCOL for HTTP-based ↵Amlal El Mahrouss
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>
2025-04-13dev, scheduler, ahci, dev: Refactor scheduler, and fix minor mistakes.Amlal El Mahrouss
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>
2025-04-11big commit, for pedantic CI.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-11tweak kernel, boot: use -Wall, -Werror, -Wpedantic now.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-10dev, meta: minor tweaks and improvements.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-08pci, Device.h: remove unused function prototypes.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-08pci, Device.h: use sizeof UInt32 instead of relying on a number.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-08pci, Device.h: minor tweaks.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-03fmt/pef.h: correcting minor mistakes.Amlal El Mahrouss
2025-04-03kernel/pci: document Device class.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-01kernel/storage, pio, ahci, dma: a lot of patches and fixes according to ↵Amlal El Mahrouss
StorageKit specs and cleaned up DMA driver for a future more robust implementation. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-01boot, kernel, modules: unify gfx headers, fix AHCI LBA48, standardize ModuleMainAmlal El Mahrouss
- 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>
2025-03-31boot/efi: a set of important patches regarding efi bootz.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-03-31storage: unify naming for drive protocol interfaceAmlal El Mahrouss
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>