summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src
AgeCommit message (Collapse)Author
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: 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, 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-22fs, HeFS: additional patches regarding tree traversal.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22kernel, {fs,sched}: User RT scheduler fixes and HeFS advancements regarding ↵Amlal El Mahrouss
the B-Tree. - RT Scheduler fixed. - B-Tree improved. 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-21dev, kernel: Made HeFS use a RB-Tree traversal algorithm.Amlal El Mahrouss
- ran format command. - a variation of a red-black tree traversal, with customized fallback mechanism. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-21dev, scheduler: removed unused header included by extension.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-21dev, sched: scheduler security patches.Amlal El Mahrouss
- 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>
2025-04-21dev, kernel, tools, tooling, tex: add mk_app tool, see details.Amlal El Mahrouss
- 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>
2025-04-20dev, kernel: Create WideUtils.cc for wrt_ API.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-20kernel, dev: python script to make an ESP from files.Amlal El Mahrouss
- 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>
2025-04-20fs, kernel(HeFS): Implement `hefs_get_index_node` for tree traversal.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-20kernel, FSKit: cleanup fs and document HeFilesystemParser.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-190.0.1e: Last commit regarding 0.0.1Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-19dev, kernel: Working on a 0.0.1e (for Errata)Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-19dev, kernel, ahci: AHCI related fixes.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-19dev, fs: document HeFS, add Ext2 C++ source file.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-19kernel, mod, boot: extend GPT support.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-18GfxKit: Gave the correct name for FB device.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-18kernel, GfxKit: FIX: Check boundaries to avoid page fault.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-18kernel, IMP: GfxKit: GraphicsKit.Amlal El Mahrouss
kernel, IMP: StorageKit: Remove usage of cleanup method on AHCI, DMA, and PIO. 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-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-13kernel, NeFS.cc: update filesystem description, correcting the shot.Amlal El Mahrouss
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-11fix.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-11fix, mm: rework paging system.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-10kernel, boot: a lot of improvements regarding memory probing.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-08kernel, storage, heap, abi: lots of improvements and tweaks.Amlal El Mahrouss
- 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>
2025-04-06fs/NeFS.cc: `buf` must be zeroed out.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-06fs/nefs: Optimize ::Format method for EPM inside NeFileSystemParser.Amlal El Mahrouss
TL;DR: - Avoiding unecessary delays, when copying filesystem name to part block (EPM) Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-06kernel/storage: use correct if branching to avoid future compiler errors.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-06 adding an align function designed for AHCI's needs and drivemgr'sAmlal El Mahrouss
AHCI detection system. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-05kernel: storage, modules, mbci: implement mbci_read_auth_key, ↵Amlal El Mahrouss
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>
2025-04-02boot/net: rename Boot.S files, clarify EEPROM implication, and prep UDP readAmlal El Mahrouss
- 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>
2025-04-01kernel/wip: SMP tweaks, and code cleanup.Amlal El Mahrouss
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-31meta: ran format.shAmlal 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>
2025-03-31boot: fix framebuffer init and restore boot on real hardwareAmlal El Mahrouss
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>
2025-03-31meta/repository: fix capitalization on my name 'El' instead of 'EL'.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-03-30kernel/crc32.cc: new crc32 table generated from pycrc (just to be sure).Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>