summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-06-02Merge pull request #34 from 0xf00sec/0xf00sec-patch-2Amlal El Mahrouss
Revise rt_* mem APIs
2025-06-02Revise rt_* mem APIs0xf00sec
2025-06-01Revise rt_* mem APIs0xf00sec
2025-06-01Merge pull request #33 from 0xf00sec/0xf00sec-patch-1Amlal El Mahrouss
Heap Overflow in `rt_copy_memory`
2025-06-01Heap Overflow in `rt_copy_memory`0xf00sec
To avoid directly affecting the API that relies on null-termination, this patch applies a minimal fix by removing the overflow without adding bounds checks or changing the function signature.
2025-06-01feat: Be more flexible when the OS is not SMP-aware.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-31fix: fix path of libSystem inside x64 setup script.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-30refactor: Format codebase and fix warning in UserProcessScheduler.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-30global: architectural changes, see commit details.Amlal El Mahrouss
refactor: Refactor libSystem, user frameworks, and preparing for OpenMSG. feat: Jail info client structure (libSystem) feat: Document what the RTime is doing starting from line 504. feat: use `int 50` instead of `syscall` for now. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-30refactor: Refactor IDeviceObject to DeviceInterface and its usages.Amlal El Mahrouss
refactor: Cleanup UPS (UserProcessScheduler) implementation. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-29feat: UserProcessScheduler: reset UTime when exiting.Amlal El Mahrouss
feat: drawio: Rename OS_DESIGN to SYSTEM_DESIGN. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-29feat: Improve libSystem's architecture and implementation.Amlal El Mahrouss
fix: Fix NeKit's Ref, and ErrorOr classes. fix: Fix userland tools. next: - Finish the latest tickets and then release nekernel 0.0.3 Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-29fix: Fix CIAmlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-29fix: Fix Ref class, which caused memory leaks on the kernel.0.0.2e3Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-28feat: update ReadMe.Amlal El Mahrouss
2025-05-27fix: X64Chrono: Elapsed time was backward.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-27feat: generic_kits: Add X64Chrono inside BenchKit.Amlal El Mahrouss
refactor: libSystem: Refactored as a whole. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-27feat: Assign ThreadID to APIC's ProcessID when initialzing APs.Amlal El Mahrouss
refactor: Cleanup copyright headers and source code. feat: Add PrinterNetworkDevice, and DBGNetworkDevice. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-27fix: DBG_TRAP being called before IDT is setup.Amlal El Mahrouss
refactor: rename HalSyscallEntry to HAL_DISPATCH_ENTRY. also: - Better hashing function in ArchKit: Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-27refactor: rename mm_make_ptr_flags to mm_set_ptr_flags.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-26feat!: Add IFS layer within DriveMgr, and IFS API.Amlal El Mahrouss
also: - Use ThreadID in AP system. - Refactor kernel according to new IFS layer. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-26feat: Validate stack_ptr and task switch.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-26fix: remove useless process_index variable.Amlal El Mahrouss
Located in mp_get_current_task, we just need to push thrdid to the stack now. Since we don't do any modulos anymore. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-26fix(HAL/AP): Fix task getter function inside AP system.Amlal El Mahrouss
why: - It used to modulo the index value, which will index an invalid index. - Also refactored the function name to mp_get_current_task. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-25kernel!: lots of changes, see commit details.Amlal El Mahrouss
refactor(hal): unify file naming and drop redundant architecture suffixes feat(build): rename kernel and bootloader to 'ne_kernel' and 'ne_bootz' refactor(memory): replace mm_get_phys_address with mm_get_page_addr feat(bitmap): track bitmap allocator usage and add out-of-memory error fix(heap): correct heap magic naming and alignment logic chore(fs): downgrade HeFS disk size check to warning chore(tools): clean up formatting in 'ping' and 'manual' docs(design): update OS_DESIGN.drawio to reflect Hypr86 and new layout Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-24feat(ZXD): Update file format.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-24feat(kernel): Better syscall routing, also added new tools.Amlal El Mahrouss
what: - ping, manual have been added. - Rework RtlCurrentPID to SchedGetCurrentProcessID. - Cleanup codebase overall. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-24feat(nekit)!: Change dbg_break_point to DBG_TRAP.Amlal El Mahrouss
BREAKING CHANGE: renamed symbol to match the codebase's macro style. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat(kernel/libSystem): Lots of improvements, see below.Amlal El Mahrouss
what: - Reworked NetworkDevice. - Reworked RTL8139 driver. - Don't assert fCleanup on NetworkDevice destructor. - Add new Ref types in libSystem. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat(krnl, libSystem, boot): Make space for LibSystem inside HandoverAmlal El Mahrouss
boot structure. what: - Mostly related to the libSystem.sys library. - Updated the implementation of it, the specs, and added new APIs. - Fixed the hooks inside AsmProc.h Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23refactor(kernel): Refactor HeapMgr functions.Amlal El Mahrouss
what: - mm_new_ptr is now mm_alloc_ptr. - mm_delete_ptr is now mm_free_ptr. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat!(Kernel): Improvements on the BitMapMgr, HTS, and UPS.Amlal El Mahrouss
other: - Add ZXD header file. - Reworking AMD64 interrupts. - Improved HTS's design implementation. - Improved UPS's balancing implementation. breaking changes: - Rename MemoryMgr to HeapMgr. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat!(kernel): Rename NewKit to NeKit.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-21feat(hal/DescriptorLoader): Wrap IDTLoader::Load under the MKC macro.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-21feat(kernel): Architectural changes, and introducing a kKernelVM.Amlal El Mahrouss
see code for more details. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-21feat(kernel): source code improvements.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-20wip: feat(kernel): Add stub for ring-3 switch on the AP side of theAmlal El Mahrouss
scheduling system. why? - To let the code run in user mode, as specified in the design. next: - Debug the #06 interrupt when switching to task. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-19fix(chk.efi): fix link error on AHCI config.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-19dev(tweaks): use HandoverTable enum for deducing BS or ST indices.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-19feat(kernel, sched): Architectural improvements, and cleaned upAmlal El Mahrouss
the codebase from previous implementations that didn't work/scale well. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-18feat(sched_desgin): better architecture for the HTS.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-18dev(sched): Improvements and work in progress fixes.Amlal El Mahrouss
what? - The main algorithm got improved for real time tasks, and SMP usage. - The SMP usage was present before, I just reintroduced it after realizing that it won't scale well from what I have right now. - Also removed weird implementations quirks from previous sketch. - Such as the core 0 being reserved for the boot core. - Also moved FS init code after IDT initalization. - To avoid weird FS format behavior. - Wrap HPET signature in a macro. next? - Work on the HAL's userspace transition mechanism. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-18feat(kernel{sched/hal}): int 3 if something is wrong in `sched_jump_to_task`Amlal El Mahrouss
why: - After the image's entry is done, and no exit is called. also: - Added sched_idle_task to CPS's API. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-17feat(kernel): don't schedule process when it's under signals such as:Amlal El Mahrouss
ABRT, KILL, TRAP. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(kernel): Better UPS and interrupt system too.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(manuals): add HTML page for PoC.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(kernel): User doesn't store the password directly anymore, it is hashedAmlal El Mahrouss
under a 64-bit FNV algorithm. why? - Better security, so that we're sure that no one else knows about the password. also: - Rename super to MGMT (Management), as it manages a NeKernel machine. - Added a copy of cxxdrv in the nekernel source tree. - Working on the custom manual parser for NeKernel. (PoC) Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16add(drawio): better kernel design diagram.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16fix(hal/ap): Use a safer origin address on the AMD64 HAL.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(kernel/ap): Improved and fixed the AP boot flow, also made sure that ↵Amlal El Mahrouss
the segment loading for the long mode stub works. TODO: - Stack pointer shall be set when jumping to AP routine. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>